NextReports 4.0 will bring a new type of file export, a simple text flat file. But instead of already existing csv and tsv types , this new "To Txt" exporter will allow to have fixed-length in characters for columns.
To specify size in characters for columns a new action was created which is similar with size in pixels.
Horizontal alignment property makes the text to be left-padded (for RIGHT value) or right-padded (for LEFT value). For CENTER value, text will be right-padded.
Result will be like this (for left-padded values) :
Tuesday, January 11, 2011
Wednesday, December 15, 2010
NextReports : History Pagination
NextReports Server has a Monitor panel where user can see all processes that are running and all scheduled processes that are active. Also , here it can be seen a history of all executed processes and if they finished successfully or not.
History data has security permissions, meaning a user will see only history for those reports he has rights to.
Problem: Because security is done using @Secured spring annotation :
our data provider has to load all history data , which will become time consuming soon enough. Pagination is used, but in this case it is only a mode to show less data at a time.
Solution: History will be load only for the current day. A day filter is added to our history panel to allow for seeing history for any other previous day.
History data has security permissions, meaning a user will see only history for those reports he has rights to.
Problem: Because security is done using @Secured spring annotation :
@Transactional(readOnly = true)
@Secured("AFTER_ACL_COLLECTION_READ")
public List getRunHistory() {... }
our data provider has to load all history data , which will become time consuming soon enough. Pagination is used, but in this case it is only a mode to show less data at a time.
Solution: History will be load only for the current day. A day filter is added to our history panel to allow for seeing history for any other previous day.
Monday, November 15, 2010
NextReports Server : Embedded Widgets
NextReports Server 2.5 widgets have a new action called "Embedded Code". This action shows inside a panel an html code that can be inserted in any other web site page to view the corresponding widget. To accomplish that an iframe is used :
NextReports Server : Widgets Cache
NextReports Server allows from version 2.5 to define cache settings for all entities that can be added to dashboards : charts, table reports, alarm reports.
Reports are represented with different icons to know which ones can be cached. In next picture, besides simple reports, we can spot alarms and tables.
User can set an expiration time in minutes, if cache is used:
So only on the first load, a widget will do a database call. Any refresh inside dashboards done for all widgets created from a dashbordable entity, will take the result from cache until it will expire, then it will hit the database and again for next calls result will be taken from cache until cache will expire again.
Reports are represented with different icons to know which ones can be cached. In next picture, besides simple reports, we can spot alarms and tables.
User can set an expiration time in minutes, if cache is used:
So only on the first load, a widget will do a database call. Any refresh inside dashboards done for all widgets created from a dashbordable entity, will take the result from cache until it will expire, then it will hit the database and again for next calls result will be taken from cache until cache will expire again.
Wicket, Open Flash Chart, HTTPS and Internet Explorer
NextReports Server uses Open Flash Chart to present charts inside dashboards.
After setting a https server, on Internet Explorer all the flash widgets showed a #2032 Error. Firefox was working as expected. This was obviously an Internet Explorer bug and the solution to it was to add two response headers : "Pragma" and "Cache-Control".
Testing again, everything was ok, except refresh action. A refresh on IE wouldn't load the chart. The problem was IE cache. Also no drill down was possible because of this. The cache mechanism in Internet Explorer is different from that used by other browsers like Firefox. So we need to force IE to not cache flash. We add another response header "Expires" and set it to -1, and also we used "no-store" value for "Cache-Control".
Final solution was to use in our WebResource the following :
After setting a https server, on Internet Explorer all the flash widgets showed a #2032 Error. Firefox was working as expected. This was obviously an Internet Explorer bug and the solution to it was to add two response headers : "Pragma" and "Cache-Control".
Testing again, everything was ok, except refresh action. A refresh on IE wouldn't load the chart. The problem was IE cache. Also no drill down was possible because of this. The cache mechanism in Internet Explorer is different from that used by other browsers like Firefox. So we need to force IE to not cache flash. We add another response header "Expires" and set it to -1, and also we used "no-store" value for "Cache-Control".
Final solution was to use in our WebResource the following :
protected void setHeaders(WebResponse response) {
response.setHeader("Pragma", "public");
response.setHeader("Cache-Control", "no-store, must-revalidate");
response.setHeader("Expires", "-1");
}
Wednesday, November 03, 2010
NextReports Designer : Choose Borders
For previous versions, user can select for a cell which borders to see (top, left, right, bottom). All borders had the same thickness (thin, medium, thick) and were black.
Starting with 3.5 version, border chooser was improved :
Exports in HTML, EXCEL, PDF and RTF can generate now colored borders.
Starting with 3.5 version, border chooser was improved :
- user can select a different thickness for every type of border
- user can select a different color for every type of border
Exports in HTML, EXCEL, PDF and RTF can generate now colored borders.
Monday, October 25, 2010
NextReports : Alarms
NextReports Server dashboards can contain charts and tables. Tables are a specific type of reports with a column header and data. In next release, dashboards will contain also alarms.
An alarm is also a specific type of report created with NextReports Designer. Such report they must have two cells in the detail band:
An alarm is also a specific type of report created with NextReports Designer. Such report they must have two cells in the detail band:
- First cell is a column (status) with formatting conditions for background color.
- Second cell is an expression "if .. else .." which returns a different message for every known status (column value)
On the server, first cell is drawn as a status led which will have the color the same with cell background color. The message will be shown next to the image.
For example, the formatting conditions for the first cell can be :
This image shows that for a value <= 0 , background color is red, otherwise background color is green. Expression in the second cell is defined as :
if ( $C_NUMBER_PC <= 0 ) {
"Alarm!";
} else {
"Ok";
}
On the server, the result will be like this :
To publish a report to server as an alarm, a new property called 'alarm' was added.
NextReports : Report Distribution
For versions until 2.4 , NextReports Server allows only mail distribution. Generated reports can be sent through mail to a list of recipients. Mails can contain a link to generated report or the entire report as an attachment.
For upcoming version, a report can be distributed to one or more destinations. Mail destination is like in previous versions :
User can see now a list of all configured destinations :
Other destinations that can be created are FTP, SSH, Windows Share and WebDAV. Configuration for FTP and SSH is similar :
For upcoming version, a report can be distributed to one or more destinations. Mail destination is like in previous versions :
User can see now a list of all configured destinations :
Other destinations that can be created are FTP, SSH, Windows Share and WebDAV. Configuration for FTP and SSH is similar :
For WebDAV, user can also specify if connection uses https. For Windows Share, in addition to FTP, user can optionally enter a domain property. Destinations also have a Test button to see if they are valid.
Tuesday, September 21, 2010
NextReports Drill Down Charts
NextReports Server is able to show drill down charts inside dashboards. The number of levels to drill down is infinite.
To create drill down charts use "Drill Down" action on chart entities. This action is visible if the user has write permission on that chart :
If a chart has at least one drill down chart , the chart icon will show this through a "link" bullet.
For our example we have a chart which shows the projects (x axis) and number of hours for every project (y axis). First drill down chart will show the number of hours worked by each employee. To create this first drill we add the chart with a "project" link parameter which contains the project name x axis value.
Second drill down chart will show the number of hours for each workcode for selected project and employee. To create it we add a chart with an "employee" link parameter which contains the employee name x axis value.
For every drill down level all selected parent parameters will be passed. In our example, for second drill down chart, the project name will be also passed along with employee parameter.
The drill down chart panel shows all the added charts:
From here we can also delete drill down charts.
When we add the ProjectHoursBar chart to a dashboard, we won't see any difference to a simple chart.
But because this chart was created with a 2-level drill down functionality, we can select one project with the mouse and the next drill down chart will be shown :
Here, under the toolbar, a link called "Up" is visible allowing for returning to the parent chart. We can select now an employee and we will see the workcode hours for that employee working in previously selected project :
You can view this on the online demo.
To create drill down charts use "Drill Down" action on chart entities. This action is visible if the user has write permission on that chart :
If a chart has at least one drill down chart , the chart icon will show this through a "link" bullet.
For our example we have a chart which shows the projects (x axis) and number of hours for every project (y axis). First drill down chart will show the number of hours worked by each employee. To create this first drill we add the chart with a "project" link parameter which contains the project name x axis value.
Second drill down chart will show the number of hours for each workcode for selected project and employee. To create it we add a chart with an "employee" link parameter which contains the employee name x axis value.
For every drill down level all selected parent parameters will be passed. In our example, for second drill down chart, the project name will be also passed along with employee parameter.
The drill down chart panel shows all the added charts:
From here we can also delete drill down charts.
When we add the ProjectHoursBar chart to a dashboard, we won't see any difference to a simple chart.
But because this chart was created with a 2-level drill down functionality, we can select one project with the mouse and the next drill down chart will be shown :
Here, under the toolbar, a link called "Up" is visible allowing for returning to the parent chart. We can select now an employee and we will see the workcode hours for that employee working in previously selected project :
You can view this on the online demo.
Wednesday, September 01, 2010
NextReports Layout Zoom
Version 3.4 of NextReports Designer makes use of moving to Java 1.6 and brings a wanted feature.
Report Layout can be zoomed between 50% and 300%. Values outside this range were not considered suited for designer. A zoom can be done with the spinner in the top right corner or with the CTRL + mouse wheel, same way as browsers zooming.
This feature is most useful if font size for a cell is too small. If that cell also contains a database column , the user interface combobox popup will have items which cannot be understand. By zooming the layout, this is not true anymore and user can see what he is doing.
Report Layout can be zoomed between 50% and 300%. Values outside this range were not considered suited for designer. A zoom can be done with the spinner in the top right corner or with the CTRL + mouse wheel, same way as browsers zooming.
This feature is most useful if font size for a cell is too small. If that cell also contains a database column , the user interface combobox popup will have items which cannot be understand. By zooming the layout, this is not true anymore and user can see what he is doing.
Monday, August 23, 2010
NextReports : dynamic values for scheduling
Until server versions prior to 2.4 , the only way to have dynamic parameter values was to have those parameters defined as hidden. From version 2.4 you may have dynamic values also for visible parameters.
What does this mean?
NextReports engine recognizes "hidden parameters", meaning those parameters that are not visible at runtime, but which have default values declared in their definition.
On the server, a report can run instantly or it can be scheduled to run at some moments in the future. There is the possibility to want to run the same report instantly and also to schedule it. For some visible parameters with default values, we may have to "override" their values selected in user interface with default values computed at runtime. For these cases , the schedule process introduces a new property in parameter selection panel.
Every parameter which has default values provided by an sql select, will have inside user interface a boolean property called "dynamic" :
What does this mean?
NextReports engine recognizes "hidden parameters", meaning those parameters that are not visible at runtime, but which have default values declared in their definition.
On the server, a report can run instantly or it can be scheduled to run at some moments in the future. There is the possibility to want to run the same report instantly and also to schedule it. For some visible parameters with default values, we may have to "override" their values selected in user interface with default values computed at runtime. For these cases , the schedule process introduces a new property in parameter selection panel.
Every parameter which has default values provided by an sql select, will have inside user interface a boolean property called "dynamic" :
- If this property is false, the report will be executed with the static value(s) entered.
- If this property is true, the report will be executed with dynamic values, meaning the sql for default values is executed at runtime.
Thursday, July 29, 2010
NextReports 'Hide when expression' property
NextReports Designer version 3.3 will add a new important feature to its core engine. A new property called 'hide when expression' can be set for every layout cell .
What does this mean?
This property contains an expression. If expression is evaluated to true at runtime, the cell content will be empty in the resulting exported report file. Also, if all cells from a row have 'hide when expression' property set and all those expressions are evaluated as true, the entire row will be hidden.
Example
Lets show an example with default Timesheet report.
You can see detail row D1 with some expressions. $E{WorkHours} expression represents the work hours from column $C{Hours} and it is defined like this :
All other expressions are similar testing the corresponding activity code.
Because we do not want those expressions to be shown at runtime, we will set 'hide when expression' property for the containing cells. In this case, the expression is one which will always be true :
All cells from D1 row are always hidden, so the entire row will be hidden. That is why there is no need to set other properties for those cells like color, font and so on.
Expressions are used in some functions which can be seen in footer rows. For example, the total work hours is a function created on $E{WorkHours} expression :
In this way we can have a more detailed report as seen in following results :
What does this mean?
This property contains an expression. If expression is evaluated to true at runtime, the cell content will be empty in the resulting exported report file. Also, if all cells from a row have 'hide when expression' property set and all those expressions are evaluated as true, the entire row will be hidden.
Example
Lets show an example with default Timesheet report.
You can see detail row D1 with some expressions. $E{WorkHours} expression represents the work hours from column $C{Hours} and it is defined like this :
All other expressions are similar testing the corresponding activity code.
Because we do not want those expressions to be shown at runtime, we will set 'hide when expression' property for the containing cells. In this case, the expression is one which will always be true :
All cells from D1 row are always hidden, so the entire row will be hidden. That is why there is no need to set other properties for those cells like color, font and so on.
Expressions are used in some functions which can be seen in footer rows. For example, the total work hours is a function created on $E{WorkHours} expression :
In this way we can have a more detailed report as seen in following results :
Wednesday, July 14, 2010
NextReports Server 2.3
Forthcoming NextReports Server version will bring some new features regarding dashboards :
Also, from this version, user is allowed to manually enter multiple values for parameters. Previous versions allowed only for manual single insertion (from a text field, calendar and so on) .
You can view these features in Online Demo version. ( demo / demo )
- Any widget (chart/table) from dashboard can be detached, resulting a popup frame which can be maximized to full screen (with F11 key) . This will allow to view a chart on a plasma.
- There is a new action 'Go to entity' which will redirect the user to the chart / report used by a widget. This will offer an easy way to update or to do any supported action for that entity.
- Widgets have now an auto-refresh time (in seconds) property which can be modified from settings action (0 means no automatic refresh). This property will also be used inside a widget detached popup frame (instead the general "update interval" property defined in application settings)
Also, from this version, user is allowed to manually enter multiple values for parameters. Previous versions allowed only for manual single insertion (from a text field, calendar and so on) .
You can view these features in Online Demo version. ( demo / demo )
Thursday, June 17, 2010
NextReports Server - Job Monitor
From version 2.2 Job Monitor will show you both
- reports running jobs (created with run action)
- active scheduled jobs (created with schedule action)
It is a better approach to have all components with auto-refresh in monitor panel. Previously, active scheduled jobs where seen in 'Scheduler management'. There were two identified problems with this :
- functional : because any management section has a a lot of actions that are happening in the same page, some errors appeared with auto-refresh which brought a page expiration and the user was shown the login page
- structural & security : it is more intuitive that all running jobs be seen in the same place
Wednesday, June 09, 2010
NextReports Server Online Demo
NextReports Designer 3.2 and Server 2.2 were released today.
Also a server online demo is up and running.
Visit us at http://www.next-reports.com/index.php/documentation/nextreports-server-documentation/online-demo.html
Also a server online demo is up and running.
Visit us at http://www.next-reports.com/index.php/documentation/nextreports-server-documentation/online-demo.html
Friday, May 14, 2010
Excel Palette
Excel offers only 56 colors in its standard palette. Java color chooser allows to select colors that are not understand by some Excel versions.
Because of that, we extended java JColorChooser with an "Excel Palette" tab to allow standard color selection:
In this way, we are sure that the selected colors will be the same in the generated excel file.
NextReports 3.2 : Group Row Variable
A Group Row variable is inserted from version 3.2
Depending on which band is used, this variable will show the current row from the enclosing group. If no group is defined inside report, this variable is identical with Row variable which shows the number of current record.
Using the variable inside an expression like
$V_GROUP_ROW + ". " + $C_First_Name + " " + $C_Last_Namewill show the next result :
Thursday, May 06, 2010
Layout Expressions
From version 3.2 NextReports allows to insert expressions inside report layout.
Inside query designer there is already the possibility to add column expressions (any expressions that the current database type allows).
But if you have a query created with editor, the solution is to add expressions inside report layout. Such expression can contain besides sql columns, parameters and NextReports defined variables.
Columns $C{}, variables $V{} and parameters $P{} are evaluated at runtime, and after their evaluation the entire expression is evaluated. If expression is created in a cell outside detail or group bands , user cannot insert columns inside expression.
Expression editor allows to create :
- numeric expressions :
$C_Hours * 60
- string expressions :
$C_Last_Name + " " + $C_First_Name
- conditional expressions :
if ($C_Hours < 8) { y=0; } else { y=1; }
$C_Last_Name.toUpperCase()
Tuesday, April 27, 2010
NextReports (version 3.2) Formatting Conditions
A very useful feature for reports is the possibility to mark somehow a value.It may be outside a desired range or it may be equal / not-equal to a specified value. Think about a medical test report (if some index is less or greater than normal values).
To achieve this in NextReports, a new property called "formatting conditions" is used. By selecting a column or a function cell in the report layout, you could modify this property.
For example, we want to highlight in different colors the activity code inside a project time sheet. For every code we are interested in, we can choose a different foreground.
When we add a render condition, we can choose which property we want to modify at "render time" , like foreground, background, font, color. We select an operator, the value we want to compare with and the property value. The property value will overwrite the general cell property defined in the layout if the condition is met.
And the result is here :
Wednesday, April 21, 2010
Web Service to run reports
NextReports Designer uses a web service to publish / download reports to a NextReports server.
To integrate reports in a proprietary application where we want to generate some reports with specific parameters from that application, we created a new report web service.
This will allow for a very simple integration with a NextReports server :
RunReportMetaData runReportMetaData = new RunReportMetaData();
runReportMetaData.setReportId(reportId);
runReportMetaData.setFormat(HTML_FORMAT);
Map parametersValues = new HashMap();
parametersValues.put("Id", 2);
runReportMetaData.setParametersValues(parametersValues);
try {
String url = webService.runReport(runReportMetaData);
} catch (WebServiceException e) {
showError(e);
}
Table Widgets in NextReports Server
NextReports Engine has now support to export a report / chart to a table, a memory object with a header and data. This exporter is used on the NextReports Server to add a table widget inside the dashboard.
Widgets can be renamed through an editable label, near the collapse / expand button. Similar to charts, tables have settings (parmeters values), can be refreshed or deleted.
From server version 2.1widgets can be saved as excel. For a table widget this is obvious. For a chart widget, the excel will contain X column and all Y columns defined inside the chart.
Monday, March 22, 2010
XML Export
From 3.0 version a report can be exported to xml .
Generated predefined tags are :
<image> for images
All the other tags for database columns, functions, hyperlinks, parameters, variables are represented by the name of the entities.
Some simple example for a report with just the columns in the detail band :
<?xml version="1.0" standalone="yes"?> <document> <meta name="author" content="Advantage Software Factory"/> <meta name="creator" content="NextReports 3.0"/> <meta name="subject" content="Created by NextReports Designer 3.0"/> <meta name="date" content="Tue Mar 09 14:36:10 EET 2010"/> <meta name="keywords" content="www.next-reports.com"/> <record> <Project>Boom Server</Project> <First_x0020_Name>Brandon</First_x0020_Name> <Last_x0020_Name>Dunn</Last_x0020_Name> <Hours>2.0</Hours> <Date>2008-09-01</Date> <Activity_x0020_Code>WRK</Activity_x0020_Code> </record> ....... </document>
Designer 3.0 & Server 2.0
NextReports Suite was launched with :
- charts & dashboards
- images for pdf, rtf, excel, html reports
- xml export
Server release notes
Friday, February 12, 2010
As easy as "Pie"
In the same manner as report integration, to view a Next flash chart in you application you have to do three things :
- start a local web server
- write just a few lines of code which will create a json file :
ChartRunner runner = new ChartRunner(); runner.setChart(chart); runner.setConnection(connection); runner.setQueryTimeout(queryTimeout); runner.setParameterValues(parameterValues); OutputStream os = new FileOutputStream(webRoot + File.separatorChar + "data.json"); boolean result = runner.run(os); os.close();
- open the url :
openUrl("http://localhost:" + webServerPort + "/chart.html?ofc=data.json");
And that is all.
Friday, February 05, 2010
New Charts Types
New charts are emerged
- Horizontal Bar Chart
- Charts with more columns on Y Axis : comparative charts for Line, Bar and Horizontal Bar
- Stacked Bar Chart
Seeing the designer downloads is very useful.
Thursday, January 21, 2010
Charts
Time to add charts to NextReports has come.
Similar to report, a new chart perspective is created. In here user will modify chart layout, which consists of four components : title, main, X Axis and Y Axis. Any component has a list of properties.
Charts can be previewed from NextReports designer. Default browser is opened with a flash object created from a json data file.
Charts can be published to a NextReports server where any user can add them to a a dashboard for viewing in real time.
Wednesday, December 09, 2009
NextReports - Image support
Designer v3.0 will add support to image rendering in HTML, EXCEL, PDF, RTF. A new Insert Image action will be available in layout. Image will not be scaled.
Also NextReports Server will allow for adding report images . Download action will return a zip archive with '.report' file and image files if any.
Friday, November 27, 2009
NextReports - Metadata
Generated reports in HTML, EXCEL, PDF, RTF contain now metadata.
Every report has now a title (file name), author, subject, creator and keywords. From these you can see the NextReports Designer version, and the NextReports site link.
Every report has now a title (file name), author, subject, creator and keywords. From these you can see the NextReports Designer version, and the NextReports site link.
NextReports - Publish - revisited
Login Panel supports now not just to add, but also to edit and delete, a server. Also, the login for a specific server may be 'remembered'.
After a report is published , name, server path and data source are also remembered, so a new publish update operation will be done faster.
Tuesday, October 06, 2009
NextReports - Publish
NextReports application allows for report publishing on a NextReports server. A NextReports server is a web application which manages data sources and reports and schedules reports to run at specific moments in time.
To publish a report , the user must know a NextReports server (ip and port) and must have a valid account on that server (user and password).
After the login the user is allowed to upload a report to server to a specific path.
The user is allowed to create folders on the server. Also , if the data source is not already on the server, the user can publish the current report data source.
The user can also download a report from the server making the work as easy as possible straight from the designer. You get your report from server , modify it and then put it back on the server, without accessing the NextReports web application .
Friday, September 18, 2009
NextReports - Column Size Revisited
Version 2.4 of NextReports will bring new features for resizing columns.
It is possible to select more columns headers and set the size for all of them with the mouse right click. The headers selection is done in the same way the cell selection is done :
- with CTRL pressed the user can select more individual headers
- with SHIFT pressed you can select all headers between two selections
- with the mouse you can drag and select automatically the headers.
A ruler can be seen in the layout if ‘Show ruler’ property is checked in the settings. The ruler unit can be centimeter or inch and is set also in the settings. Red markers will show the A4 width for portrait and landscape.
Tuesday, September 15, 2009
NextReports - Parameters with default values
From version 2.4 NextReports will have support for default values in parameters definition.
The ‘Default‘ tab contains the default values the parameter can take. Those values can be added by hand to a list (as in previous image) or can be taken from an sql source . If the parameter has default values, those values will be selected at runtime. If parameter is checked as hidden the parameter will not be seen at runtime, and it’s values will be computed and set at the moment the query is executed.
For example if you need a hidden parameter that is substituted at every run with the current date, you can edit the source with “select sysdate from dual” for Oracle datasource. For Derby database used as demo you may use "select current_date from sysibm.sysdummy1". The user does not have to know the format of the select for the connected data source. A template button in the dialog source does it automatically.
Subscribe to:
Posts (Atom)







































