release update v3 -...
TRANSCRIPT
Kreporter 3.0 Release Update Page 1
Release Update v3.0 October 2012
Kreporter 3.0 Release Update Page 2
Framework Upgrades .............................................................................................................................. 3
Upgrade to Sencha 4.1 ........................................................................................................................ 3
Upgrades to Google Charts, Google Maps and Fusion Charts XT ....................................................... 4
Select – Manipulate – Present – Visualize – Integrate ............................................................................ 5
Step 1 – select ..................................................................................................................................... 6
Step 2 – manipulate ............................................................................................................................ 6
Step 3 – present .................................................................................................................................. 7
Step 4 – visualize ................................................................................................................................. 9
Step 5 – integration ........................................................................................................................... 10
Gluing it all together – the Report Results ........................................................................................ 10
Plugin Architecture ................................................................................................................................ 12
Plugin Types ....................................................................................................................................... 12
Presentation Plugins ...................................................................................................................... 12
Standard View ............................................................................................................................... 12
Standard With Summary ............................................................................................................... 13
Grouped View ................................................................................................................................ 14
Tree View ....................................................................................................................................... 14
Visualization Plugins .......................................................................................................................... 15
Google Charts ................................................................................................................................ 15
Google Maps Plugin ....................................................................................................................... 16
Fusion Charts Plugin ...................................................................................................................... 17
Integration Plugins ............................................................................................................................ 17
Export to CSV ................................................................................................................................. 17
Export to Excel ............................................................................................................................... 18
Export to Targetlist ........................................................................................................................ 19
Publish Report Plugin .................................................................................................................... 19
Query Analyzer .............................................................................................................................. 20
Functional Changes ............................................................................................................................... 22
SQL Function Count Distinct .......................................................................................................... 22
Enhanced SQL Custom Functions .................................................................................................. 23
Formula Editor ............................................................................................................................... 24
Changed Options Dialog ................................................................................................................ 24
New Multiselect ............................................................................................................................ 24
Kreporter 3.0 Release Update Page 3
Framework Upgrades
Upgrade to Sencha 4.1
KReporter is based on EXT as the underlying Javascript Framework. Release 2.* was based on Release
3.3 of ExtJS. Release 3.0 now is based on Sencha ExtJS 4.1.
There are several reasons why this matters:
- With the shift from 3.* to 4.* the Ext team has undergone major reengineering in the setup
and modeling of Applications built on the framework. This ensures that Applications can be
built better structures and cleaner from an architectural view. While this does not mean so
much to the enduser it is important to understand and meant also a significant reengineering
effort for the current KReporter Release
- Stability and Performance: Release 4.1 brings significant performance improvements and
also significant stability improvements
- Browser Support: 4.1 fully supports all browser platforms. While 3.3 did this as well
theoretically there had always been issues especially with the support of MS Internet
Explorer
- New Functionality: 4.1 also brings new functionality. In KReporter this is mainly visible with
the new presentation plugins where the grid view as well as the tree grid for the reports have
been built reliable and can be used producing proper results and working reliable on all
browsers. Also features like a multi select dropdown have been added replacing some
custom features we had to develop and that is no replaced by standard functionality
Screenshot 1 - the updated UI
Kreporter 3.0 Release Update Page 4
The Shift to the new Framework Release also brings a slightly new and more cleaned up look in the
Ext Screens like the example above shows.
Upgrades to Google Charts, Google Maps and Fusion Charts XT
Also the Chart Component that was used in the previous version has been upgraded. On the one
hand this allows more flexibility since we have added Google Charts and Google Maps with very
popular services we here now use to visualize data. The Fusion Charts Option also has been updated
to use the latest version of Fusioncharts XT. This offers the benefit that charts are no longer Flash
based but are rendered as HTML5 using Javascript which is a benefit since this will ensure that Charts
can be rendered on literally all devices and no further plugins that might not be available for certain
platform (iPad) are required.
Kreporter 3.0 Release Update Page 5
Select – Manipulate – Present – Visualize – Integrate With Release 3.0 we also changed the way how we look at Reports and divide it in 5 logical steps.
Screenshot 2 - defining a Report
Those 5 Steps on the way to creation of a Report are also now visible in the Report Edit View. As you
will mention the layout has been changed to a Tabbed Layout and the tab labels present the 5 Steps.
Kreporter 3.0 Release Update Page 6
Step 1 – select
Selection is the definition of all criteria to restrict what data is selected.
Screenshot 3 - Defining Data Selection
The Logic stays as is has been with Release 2.* but with some minor functional changes that will be
covered later in this document.
Step 2 – manipulate
In this step all data manipulation is defined. First of all what data is selected from the database and
then what rules, aggregation, formulas are applied to it to produce the proper report results.
Kreporter 3.0 Release Update Page 7
Screenshot 4 - Defining Data Manipultion
Fields can be dragged from the relationship tree and the modules field repository to the
manipulation grid and various rules can be applied to the data itself. This includes groupings,
Standard as well as custom SQL Functions as well as functions that are applied to the data past the
Selection itself. In the Custom SQL area you can apply SQL functions to manipulate the data. That
code is sent to the database and executed there leaving you lots of room to build custom logic. The
formulas are evaluated as PHP code to the selected results and allow you to do apply further logic on
the results the database has returned. See the documentation of the previous releases to better
understand these features. Also some changes have been applied here to enhance the functionality
further with release 3.0
Step 3 – present
Step 3 is to manage presentation of the Data. When a report is rendered later on in SugarCRM there
are 3 areas. Area 1 is the Toolbar Area (we will cover that with the integration step), Area 2 is for
Visualization of Data (Charts, Map, ….) and Area 3 is a Grid based presentation of the Reports Results.
In the section to define how data is presented that 3 part of the rendered report can be influenced
and defined.
The main Toolbar in that panel allow you to choose the form of Presentation. What is available in the
dropdown list may vary depending on the installation since those options are driven by Plugins
installed on your system. The default and available by the basic installation is the standard View.
Kreporter 3.0 Release Update Page 8
Screenshot 5 – selecting the Presentation plugin
The Screen for the definition might actually vary depending on the plugin chosen since plugins might
offer different configuration options.
Screenshot 6 - Settings for the Standard plugin
The Standard Plugin as shown in the screenshot above e.g. lets you specify the way how the total
number of records is calculated (synchronous or asynchronous or not at all) as well as how many
Kreporter 3.0 Release Update Page 9
records are shown per page. In the Grid view you can configure which fields are show, which are
displayed as a link, the width in the grid, the sequence in which they show (simply drag and drop
them on another place in the list), the Sorting, how Data is sorted by default and if a column should
be sortable at all, as well as the definition of a Widget to render the data)
Step 4 – visualize
4th step is visualization of Data. This steps lets you define if report data (asides the presentation as
grid) is visualized as chart, map or other form and also set parameters how it is visualized.
Screenshot 7 defining Visualization
As with presentation also visualization is controlled by Plugins. Plugins can provide different forms of
Visualization. The current available plugins are
- Google Charts: a charting interface using the Chart Library Goolge Publishes
- Google Maps: a geo visualization based on Google Maps that allows to Display data on a map
- Fusion Charts: a charting Interface based on Fusion Charts the leading Web Chart provider
Independent of the Visualization Plugin used (a visualization can combine different elements and e.g.
present map and chart data next to each other) the visualization is controlled by a layout that needs
to be set first .
In the toolba select an available layout. In the exmaple shown above it is “1x2” which is a simple 2
visualization elements layout where the visualization area is split in to parts of same width and each
can display a different visualization. You can also set the height of the visualization area and then
choose for each of the visualization elements what plugin should be used. In the example above
Goolge Charts are being used.
Kreporter 3.0 Release Update Page 10
Step 5 – integration
Last but not least Reports can be integrated in regards to the user interface and also in the way what
a user can to do e.g. export data, analyze data, publish data, trigger actions, etc.
Screenshot 8 - defining integration options and settings
The list of Integration Options shown in the left side of the panel is again not static but driven by
plugins installed on the local machine. In the example above this offers the current available Options:
- Export to CSV: enabling an export in CSV Format
- Export to Targetlist: enabling that the result of the report can be exported as a targetlist
- Publish Report: enabling that a report is available as Dashlet on the homescreen
- Export to excel: enabling exporting the report results as xlsx file that can be opened directly
in Excel and is native Excel format (other than the CSV export)
- Query Analyzer: a tool allowing when you create reports to better understand what the
reporter does in selecting data and also providing insights into potential performance issues.
On the one hand these integration options can be enabled for a report and then depending on the
option each plugin can have configuration Parameters (like in the example above for the Publishing
of a report).
Gluing it all together – the Report Results
If we complete the steps as shown in the screenshots above the report result looks as shown in the
next screenshot. The toolbar shows the integration options (in the export menu the Excel Option is
visible). The visualization area shows two google charts with different meanings based on the
selected data. The presentation area is a standard grid view showing the field as we defined them.
Kreporter 3.0 Release Update Page 11
Screenshot 9 - the Report Results after completing the 5 Steps
Kreporter 3.0 Release Update Page 12
Plugin Architecture While in previous versions the KReporter existed in a basic and a premium edition this has changed
with Release 3.0 introducing a Plugin Framework. With that Framework from now on there will be
only one release of the Reporter and additional or special functionality will be provided via Plugins
that can be added to the Reporter. Some we will distribute as Standard Plugins, others will be
available at cost.
This Plugin architecture also will allow customers and other developers to use the Reporting
Capabilities the KReporter provides and extend it and integrate it more easily into their own
applications or flows.
Plugin Types
There are three types of Plugins available:
- Presentation
- Visualization
- Integration
Plugins can reside in the core directory or be added in the custom area (upgrade safe) Each Plugin
can allow user settings in the creation of the report, and then interact with a user while the report is
executed
Presentation Plugins
Presentation Plugins handle how the data is presented. A Plugin offers the basic capability to have a
configuration panel dynamically rendered in the Edit View of the report. There the configuration
options are offered by the plugin. They can vary and depend on the plugin itself. Plugins also can
potentially run without any configuration settings.
The following Presentation Plugins are available with the Launch of KReporter 3.0
Standard View
The Standard View is the default presentation Plugin. It provides a simple paging grid where the
results are shown in an Excel like Style and basic paging is available
Kreporter 3.0 Release Update Page 13
Screenshot 10 - Presentation with the Standard View
Standard With Summary
The Standard with Summary is similar to the basic Standard View but allows to present a summary
row at the end of a grid. The Summary can use a custom function (sum, min, max, avg) and can be set
per field. A summary Row is rendered at the end of the document
Screenshot 11 - Standard with Summary
Kreporter 3.0 Release Update Page 14
The summary Line is rendered at the end of the report and always shows the values for the whole
selection of the report. In the case above for all 50 selected Records. One field is summarized the
other one is set to average.
Grouped View
The grouped view allows presenting the report results grouped by the values in one field. Optional
field can also be summarized on a group level – similar to the standard view with the summary.
Screenshot 12 - Grouped View
As the screenshot above shows the selection results are the same but the results are grouped by the
Sales Stage in the view above. Summaries with Sum on the Opportunity Amount and Avg on the
amount is the same as in the Standard View with Summary. The grouping can also be changed
dynamically be the user.
Tree View
The tree view is similar to the grouped view but does not present the full and opened report at once
but rather shows the results in a tree that can be expanded step by step. The tree can be configured
to have as many levels as you want and also similar to the grouped view can present grouped
summaries on each level. The following Screenshot shows the same report as listed above in a tree
view that is aggregating data on the two levels of the assigned user as well as on the sales stage.
The disadvantage to the grouped view is that it offers less flexibility (you cannot change the grouping
e.g.), yet the big advantage is that it is not reading all data and not all at once. So the tree view can
also handle significant higher amounts of data since all aggregation and collection is done server side.
Kreporter 3.0 Release Update Page 15
Screenshot 13 - the Tree View Presentation Plugin
Visualization Plugins
Visualization Plugins handle graphical display (visualization) of data. Visualization is rendered in a
Visualization Manager – which controls the layout (we can have more than one visualization item),
handles the rendering of the plugin as well as the data update if we have dynamic selection options.
With the Release of KReporter 3.0 the following Visualization Plugins are available:
Google Charts
The Google Charts Plugin offers an implementation of the Google Charts API to present data with the
charts made available as a free service from Google. The advantage being that the charting library as
such is free brings the disadvantage that the charts are an online service and in order to see the
charts access to the google servers is required. So any client running the chart plugin must be
allowed to have internet connectivity to google.
In the following Screenshot the data we selected earlier is presented using the Chart API with two
elements – the left being a pie chart showing the amount by Sales Stage, the right showing two
dataseries (total amount and weighted amount) per sales person (assigned user).
Kreporter 3.0 Release Update Page 16
Screenshot 14 - Google Charts Visualization Plugin
Google Maps Plugin
The Google Maps Plugin uses the Google Maps Service to visualize Data Geographically. Required for
this is that the data is geocoded so the pinpoints can be placed on the map and again that there is an
online connection to the Google Maps Service from the Client PC running the report.
Screenshot 15 - Google Maps Visualization Plugin
Kreporter 3.0 Release Update Page 17
As shown in the Screenshot above the Data is rendered in a Visualization Layout with two elements
(of different width) where the left element shows the accounts selected on a map (including the
clustering feature Google Maps provides) while the right element is a google chart showing the
distribution based on the first 3 digits of the Postalcode.
Fusion Charts Plugin
The Fusion Charts Plugin provides Visualization based on Fusion Charts (www.fusioncharts.com) the
premier charting engine. Benefits are a wealth of chart types, professional styling options and also no
need to have online access. Also here all Charts are Javascript based and do not need Flash any
longer (as in the previous release of KReporter)
Screenshot 16 - Fusion Charts Visualization Plugin
The Screenshot above shows the report we had before visualized with Google Charts now rendered
with Fusion Charts.
Integration Plugins
Integration Plugins are plugins that either provide additional functionality (like Export), that provide
separate features (like the publish plugin). Other functionalities might follow.
With the Release of KReporter 3.0 the following Integration Plugins are available:
Export to CSV
The Export to CSV Plugin provides export capabilities to allow users to export a report to CSV. If
enabled this will show up but also requires that the user executing the report has a role where the
export is enabled for the root module.
If enabled and the use has the proper rights assigned to his role the CSV Option (Menu Item) will
show in the Export menu in the Display of the Report. If selected a CSV download will be prompted
Kreporter 3.0 Release Update Page 18
and the user can open the CSV. Also ensure that the proper encoding is set for the user and also that
the export delimiter is properly set in the user settings.
Screenshot 17 - CSV Export
Export to Excel
Screenshot 18 - Export to Excel
Kreporter 3.0 Release Update Page 19
The Export to Excel works similar to the export to CSV but rather than sending a CSV file to the client
an XLSX File is generated and sent to the client. This File also ensures proper formatting of fields like
Date or Currency, etc.
Export to Targetlist
If Export to Targetlist is enabled the records in the report can be exported to a Targetlist that can
afterwards be used in Campaigns. The basic Check is that a target list can hold records of the root
module.
Screenshot 19 - Export to targetlist Plugin
The Dialog allows to specify the action as well as further details for the targetlist.
Publish Report Plugin
The Publish Report Plugin allows you to specify if the report can be used as a Dashlet on the Home
Screen. Either the Visualization or the Presentation can be published and viewed as a Dashlet on the
Home Screen. In the edit view of the report the parameters are t be set which view is to be
published.
If the publish option is enabled the report can be selected as Dashlet on the Home Screen.
Kreporter 3.0 Release Update Page 20
Screenshot 20 - configuring the Publish Options
Screenshot 21 - Home Screen with Reporter Dashlets
Query Analyzer
The Query Analyzer is a Plugin that shows in the tools menu and allows when designing reports to
understand what the query engine of the reporter makes out of the designed report. Asides showing
the generated SQL Statements it also performs and explain on the SQL Query and returns the
Database information to see if there are potential performance issues and if and what indexes are
Kreporter 3.0 Release Update Page 21
found. This is important if you want to analyze larger amounts of data and the report runtime is
critical .
Screenshot 22 - Query Analyzer results
Kreporter 3.0 Release Update Page 22
Functional Changes
SQL Function Count Distinct
As SQL Function COUNT DISTINCT has been added. This allows you in reports to not only get a simple
count but count distinct values. Like in the example below you want to know for your opportunities
how many there are per salesstage, how many users do have opportunities in the sales stage and
how many accounts have opportunities in the sales stage. A user or an account should only be
counted once of course.
Screenshot 23 - usage of COUNT DISTINCT
For the report we did choose opportunities, then selected the field Sales Stage by which we group.
The Opportunity ID, the Account ID, the User ID have been added. The Opportunity ID has a regular
COUNT as SQL Function. The User ID and the Account ID have been set to DISTINCT COUNT.
Kreporter 3.0 Release Update Page 23
The result looks as in the following Screenshot. As you can see the number of opportunities and the
number of assigned users is the differing since seemingly one or several users have more than one
opportunity in the same sales stage.
Screenshot 24 – COUNT DISTINCT Result
Enhanced SQL Custom Functions
Editing has been made easier since instead of an inline text file that was sometimes hard to read with
larger pieces of logic being injected the editor is now a textfield in a separate window that opens.
Furthermore up to now the custom SQL Function only allowed to manipulate the field itself with the
use of the parameter $ (e.g. formatting a date as month with the option month($)) but there was no
option to use other fields in the same table to e.g. calculate a weighted amount.
From Release 3.0 on you can also use {t} for the table and {f} for the field in the formulas.
Screenshot 25 - using {t} and {f} in the SQL Function
Kreporter 3.0 Release Update Page 24
Like in the Screenshot above the formula {t}.{f} * {t}.probability / 100 is used on the amount field.
This results in the amount field itself being multiplied by the probability and then divided by 100.
What thus far could have been done with a normal formula (but that required php and in some cases
might have caused performance issues) or with a custom KReporter field (which required root
access) can now be done in the definition of the report.
Formula Editor
Similar to the Custom SQL Function also the editor for the functions where you can apply logic to
fields in the selection has been changed to a text editor in a separate window enhancing usability.
Changed Options Dialog
What was previous a menu with checked items to set the Report Options now has been changed.
Instead of the menu you will get a Dialog Box to open with the values.
Screenshot 26 - the new Options Dialog
The settings are more or less the same. What is still there but only for legacy reasons and will be
removed within the next releases is the option to show the export option. This is replaced by
checking the relevant plugins in the integration area. Same will replace the tools area that now is also
controlled via the plugin selection with higher granularity and flexibility.
Also gone if the publish report option that is now also available as an optional integration plugin and
thus no longer can be controlled from this screen.
New Multiselect
With the Upgrade to Sencha 4.1 a multi select Dropdown has been added. This is no replacing the
Popup we did show earlier. A good example for this if e.g. in the Select area you did add an enum
field and as operator “one of” then the popup was shown. With v3.0 this is no replaced with a
standard dropdown showing the values where using the CTRL key you can select multiple values.
Kreporter 3.0 Release Update Page 25
Screenshot 27 - the new multi select option