You are previewing Learning Pentaho CTools.
O'Reilly logo
Learning Pentaho CTools

Book Description

Acquire finesse with CTools features and build rich and custom analytics solutions using Pentaho

About This Book

  • Learn everything you need to know to make the most of CTools

  • Create interactive and remarkable dashboards using the CTools

  • Understand how to use and create data visualizations that can make the difference

  • The author of our book works for Pentaho as a Senior Consultant

  • Acts as a follow-up to Packt's previously published products on Pentaho such as Pentaho Business Analytics Cookbook, Pentaho Analytics for MongoDB, Pentaho Data Integration Cookbook - Second Edition, and Pentaho Reporting [Video]

  • Our book is based on the latest version of Pentaho, that is, 6.0

  • Who This Book Is For

    If you are a CTools developer and would like to expand your knowledge and create attractive dashboards and frameworks, this book is the go-to-guide for you. A basic knowledge of JavaScript and Cascading Style Sheets (CSS) is highly recommended.

    What You Will Learn

  • Install Community Tools on Pentaho; and understand the necessary concepts and considerations when creating an exciting dashboard design

  • Get data from many different Pentaho datasources and deliver it in different formats (CSV, XLS, XML, or JSON)

  • Use the Community Data Access (CDA) as the data abstraction layer and understand the concepts in the Community Dashboard Framework (CDF)

  • Create a Community Dashboard Editor (CDE) dashboard and make the most of the main components

  • Create and make use of widgets and use duplicate components to have data-driven sections on the dashboard

  • Customize and create interaction between all components, including charts, using the Community Charts Components

  • Create and embed dashboards in a better and new way

  • Create plugins and make use of parameters inside Pentaho without writing code

  • In Detail

    Pentaho and CTools are two of the fastest and most rapidly growing tools for practical solutions not found in any other tool available on the market. Using Pentaho allows you to build a complete analytics solution, and CTools brings an advanced flexibility to customizing them in a remarkable way. CTools provides its users with the ability to utilize Web technologies and data visualization concepts, and make the most of best practices to create a huge visual impact.

    The book starts with the basics of the framework and how to get data to your dashboards. We'll take you all the way through to create your custom and advanced dashboards that will create an effective visual impact and provide the best user experience. You will be given deep insights into the lifecycle of dashboards and the working of various components. Further, you will create a custom dashboard using the Community Dashboards Editor and use datasources to load data on the components. You will also create custom content using Query, the Freeform Addins Popup, and text components. Next, you will make use of widgets to create similar sections and duplicate components to reproduce other components on a dashboard. You will then learn to build a plugin without writing Java code, use Sparkl as a CPK plugin manager, and understand the application of deployment and version control to dashboard development. Finally, you will learn tips and tricks that can be very useful while embedding dashboards into other applications.

    This guide is an invaluable tutorial if you are planning to use custom and advanced dashboards among the solutions that you are building with Pentaho.

    Style and approach

    This book is a pragmatic, easy-to-follow guide that provides theoretical concepts, ideas, and tricks to better understand the necessary theoretical concepts. It also provides you with a set of highly intriguing samples of dashboards with customized code within them that can be utilized for future projects.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

    Table of Contents

    1. Learning Pentaho CTools
      1. Table of Contents
      2. Learning Pentaho CTools
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. eBooks, discount offers, and more
          1. Why subscribe?
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Downloading the color images of this book
          3. Errata
          4. Piracy
          5. Questions
      8. 1. Getting Started with CTools
        1. Introducing the CTools
        2. Considerations before creating a dashboard
        3. The first steps in creating a dashboard
          1. Getting the right requirements
          2. Creating a mock-up or dashboard design
        4. Team and project management
        5. Developing a dashboard
          1. Installing CTools
            1. Installing the CTools using Pentaho Marketplace
            2. Installing the CTools using the CTools installer
            3. Manually installing the CTools
        6. Concepts and frameworks used
        7. Summary
      9. 2. Acquiring Data with CDA
        1. Introduction to CDA
        2. Creating a new CDA data source
        3. Available types of CDA data sources
          1. SQL databases
          2. Mondrian cubes
          3. Pentaho metadata
          4. Kettle transformations
          5. Scripting data sources
          6. XPath over XML
          7. Compound queries
        4. Common properties
          1. Making use of parameters
            1. Parameters on SQL queries
            2. Parameters in MDX queries
            3. Parameters on kettle queries
            4. Private parameters
        5. Editing and previewing
        6. Manipulating the output of a data source
        7. CDA cache
          1. Managing the cache and the scheduler
          2. Cache keys
            1. Configuring local cache keys
            2. Configuring system-wide cache keys
        8. Web API reference
          1. getCdaList
          2. listQueries
          3. listParameters
          4. doQuery
          5. clearCache
          6. previewQuery
          7. editFile
          8. manageCache
        9. Hands-on dashboards
        10. Summary
      10. 3. Building the Dashboard Using CDF
        1. Understanding the basics of a CDF dashboard
          1. Lifecycle of dashboards and components
          2. Creating a CDF dashboard
          3. Hands-on dashboards
        2. Using components inside the dashboards
        3. Defining data sources for components
        4. Creating and using parameters in data sources
        5. The importance of listeners inside the components
        6. Interaction between components
        7. Using preExecution and postExecution
        8. Understanding how to work with postFetch
        9. Using preChange and postChange
        10. Priority of component execution
        11. Available components and properties
        12. Adding resources – JavaScript and CSS
          1. Using internal modules
          2. Defining and including new modules
          3. Including CSS files
        13. Dashboards utilities
          1. Formatting numbers
            1. Numbers
            2. Currency
            3. Abbreviation
            4. Percentages
            5. Languages and locales
            6. Multiple formats
          2. Formatting and manipulating dates
            1. Internationalization of numbers and dates
        14. Dashboard storage
        15. Dashboard context
        16. Useful functions of the CDF API
          1. Functions from the dashboards module:
          2. Functions from the logger module:
          3. Functions from the components module:
        17. Summary
      11. 4. Leverage the Process with CDE
        1. A brief introduction to CDE
        2. Working with the editor
          1. Operational toolbar
            1. New
            2. Save and Save as
            3. Reload
            4. Settings
          2. The perspectives toolbar
            1. The layout perspective
              1. The Layout toolbar
              2. Considerations when creating the layout of your dashboard
              3. Using Bootstrap to create a responsive dashboard
              4. Considerations when building responsive dashboards using CDE
            2. The data sources perspective
              1. The data sources toolbar
              2. Creating new data sources
              3. Data sources properties
            3. The components perspective
              1. The components toolbar
              2. Dashboard parameters
              3. Scripts
              4. Visual components
        3. Parameter, parameters, and listeners, again
        4. Putting it all together
          1. Creating your first CDE dashboard
            1. Creating the layout
            2. Define the data sources
            3. Add the parameters and components
            4. Overall improvements
        5. Summary
      12. 5. Applying Filters to the Dashboard
        1. The select component
        2. The multi-select component
        3. The filter component
          1. Expected data layout
          2. Specific properties
          3. Making use of add-ins
          4. Advanced options and configurations
            1. Changing default messages
            2. Showing values
        4. Date range input component
        5. The multi-button component
        6. Summary
      13. 6. Tables, Templates, Exports, and Text Components
        1. Table component
          1. Table pagination
          2. Internationalization and localization
          3. Draw function
          4. Column formats, types, width, and headers
          5. Expanding content
          6. Making use of add-ins
            1. groupHeaders
            2. clippedText
            3. sparkline
            4. dataBar
            5. trendArrow
            6. circle
            7. cccBulletChart
            8. formattedText
            9. localizedText
            10. hyperlink
        2. Template component
          1. Automatically generated model and root element
          2. Template and engine
          3. Model handler
          4. Formatters
          5. Add-ins
          6. Events
          7. Extendable options
        3. Export button component
        4. Export Popup button component
        5. Text component
        6. Summary
      14. 7. Advanced Concepts Using CDF and CDE
        1. References to components, parameters, and layout elements
        2. The query and freeform components
          1. The query component
          2. The freeform component
        3. Creating add-ins
        4. The template add-in
        5. Extending CDF and CDE with new components
          1. Extending CDF
          2. Extending CDE
        6. Extending or creating new dashboard types
        7. Creating a new dashboard style/template
          1. Extending styles for CDF dashboards
          2. Extending styles for CDE dashboards
        8. Bookmarkable parameters
        9. Internationalization and localization
        10. The dashboard component
        11. Summary
      15. 8. Visualizations Using CCC
        1. Some background on CCC
        2. Making use of the CCC library in a CDF dashboard
        3. Mandatory and desirable properties
        4. Mapping data
          1. Crosstab
          2. The crosstabMode property
          3. The seriesInRows property
          4. The timeSeries and timeSeriesFormat properties
        5. Making use of CCC in CDE
        6. Changing properties in preExecution or postFetch
        7. Handling the click event
        8. Internationalization of CCC Charts
        9. What are extension points and how do you use them?
        10. Formatting a basis axis label based on the scale
        11. Customizing tooltips
        12. Pie chart showing the value in the center
        13. Dimensions
          1. Readers
          2. Visual roles
        14. Debugging the CCC charts
        15. CGG – Community Graphics Generator
        16. References
        17. Summary
      16. 9. Pentaho App Builder
        1. Understanding Pentaho App Builder
        2. Installing Pentaho App Builder
        3. Create a new plugin
          1. Creating a new endpoint
            1. Creating a job/transformation
              1. Starting to learn about CPK
              2. Specifying the step of where to get results from
              3. Specifying parameters' values
              4. Changing the output format type
              5. Returning a single cell
              6. Other considerations
            2. Creating a dashboard
            3. Folder structure
            4. Making use of Kettle endpoints on a dashboard
          2. How do I make the plugin available on the marketplace?
        4. Summary
      17. 10. Embed, Deploy, and Debug
        1. Embedding dashboards
          1. Avoiding cross-domain requests
          2. Embedding a CDF dashboard
          3. Embedding a CDE dashboard
          4. Dashboard, component, and parameter events
        2. Debugging
          1. Browser compatibility
          2. Debugging with developer tools
            1. Short tips
        3. Delivering a solution
          1. Version control and deploying projects
          2. Documentation
          3. Knowledge transfer
        4. How to get help and help others
        5. Summary
      18. Index