Tuesday, March 05, 2013

NextReports Server: Alerts

NextReports Server introduces a new feature in version 6.0: Alerts.

The idea behind is that a user can be notified by email if a condition is evaluated as true. How can be this achieved inside NextReports Server? Very simple.

User has to schedule an alarm or an indicator report (those reports that offer a single value at a moment in time). Instead of adding alarm or report to a dashboard and periodically look at it to see if something wrong may occur, user will schedule them in the same way as a regular report. The only difference is in the way how the result is distributed.

A new destination type called alert must be selected. Alert is typically an email destination but without a "sending type". There is no link to the generated report, so the mail will contain just a simple message defined by user. Instead, a condition must be entered which compares the current value with one or two thresholds.


In case an alarm is scheduled, the mail message will automatically contain, at the end, the alarm's message.

Monday, February 25, 2013

NextReports: Indicators

NextReports 6.0 will introduce a new type of report called Indicator.  An indicator can be used if you want to follow a single value inside a predefined [min, max] interval. It has a title, a small optional description, an optional measure unit and a specific color.

As table and alarm, indicator will have a report layout defined by convention. To create such report you will have to complete two header rows and one detail row:
  • first header row has three cells : title, description and unit, last two being optional
  • second header row also has three cells: min value, max value and a boolean used to show or not to show these values
  • detail row has only one cell, a column or an expression, which will offer the needed value. This cell's foreground color will be used as indicator's color

You have to select indicator type for this report, so when you publish it to server it will be available for usage inside a dashboard.

Graphical representation inside server will look like the following:

In this image we can notice:

Title : Balance
Description : monthly
Measure unit : £
Min value : -1000
Max value : 1000
Actual value : -184 

Min, max and actual values are all followed by measure unit.

To easily create an indicator, you can use the Wizard tool. First you must tell wizard that you want to create an indicator:



After some steps like data source selection and query / columns selection, you will be asked to select just one column to be used by indicator:



Last step is used to set all indicator properties:



NextReports Server will allow to add indicator as a new type of widget to be seen inside dashboards:



Indicator was implemented as a HTML5 component with a color filling animation. In case your browser is old and cannot understand HTML5, indicator representation will fallback to a simple image drawn with Java2D.

Friday, February 22, 2013

NextReports: Internationalization made by user

With version 6.0 that also brings internationalization to NextReports Server, users can add other internationalization files to automatically have the possibility of changing to their needed language.

 You need to know language and country codes. The list for all locale codes can be found here. For example lets say you want to add Spanish  internationalization.

1) For NextReports Server, you can find i18n files in installation folder:
<install_directory>\webapps\nextserver\WEB-INF\classes\ro\nextreports\server\web

You should add here your i18n file. For Spanish you should create

NextServerApplication_es_ES.properties

All i18n files must contain a new property:  

Settings.personalize.language.es_ES= <language_name>

2) For NextReports Designer, the files can be found inside a jar file. In <install_directory> /lib inside nextreports-designer-6.0.jar there is a i18n folder. Using a zip utility like 7Zip you can add your new file here.

For Spanish you should create

next-ui_es_ES.properties

All i18n files must contain a new property: 


language.es_ES= <language_name>

Although, if you want to see your national flag in Language menu bar, you should have a 16x16 pixels image which you will put in the same jar in images folder. You should edit images.properties file from jar and add a new entry:

flag-es_ES=<image_name>.png

If you create such i18n file and want to share, please send it to us at next_support@asf.ro and we will add it to main distribution to be used by other users.

Monday, February 18, 2013

NextReports Server: Forgot Password

NextReports Server 6.0 login will bring a new feature to offer assistance to users who forgot their passwords. Inside login page a "Forgot Password" link can be seen.

When user clicks this link, he will be redirected to a new page to fill user name:

After user enters his name and clicks send, NextReports Server will send an email to that user with a reset password link. To make this possible,  NextReports Server must have all necessary email settings and the user must have associated a correct email address.

By clicking the link received by email, user will be redirected to a change password page:

This link will be active only for 4 hours. After the time elapsed, user won't be able to change his password.

Wednesday, February 06, 2013

NextReports Server Internationalization

NextReports Server 6.0 will allow to change your language between English, French and Romanian. This is done through settings panel:


Now, when you change your logo, theme and language, the refresh is automatically done.

Technically, in Wicket 1.5, this is done  using RenderPageRequestHandler:

getRequestCycle().scheduleRequestHandlerAfterCurrent(
             new RenderPageRequestHandler(new PageProvider(getPage()))
);

Tuesday, February 05, 2013

NextReports : Create tables & alarms through wizard

NextReports has a Wizard tool to be used for creating reports and charts in a simple and rapid way. Starting with upcoming 6.0 version, users will be also able to select report type.

For table there is no big difference than a default report. You select your columns and a template and the layout is almost identical with that of a new standard report. There is no header row with a title and no footer row.

For alarm, wizard is very useful because it will automatically create the needed layout (two cells, first with formatting conditions for color, second with an expression to show a custom message). This layout was explained in an earlier post.

Behind an alarm is a query that returns a single value for a selected database column. Wizard will follow the same first steps like: data source selection, query & column selection. After that, a special step will allow users to define the alarm:



Alarm conditions (formatting condition) are used to set the background color of alarm. These conditions must have disjunctive intervals (a value must be contained in just one interval).

For every created interval inside alarm conditions, user has to create a message. The alarm's actual value  can be used inside the message through a tag like $C_<column_name> .

There are two big advantages to use the wizard instead of creating an alarm by hand:
  • you do not have to know the convention how the alarm's layout must look
  • you do not have to know how to write the expression for alarm's messages

Tuesday, January 29, 2013

NextReports : Templates for Parameters' Values with Time Interval

NextReports Server has a feature called Templates for Parameters' Values which was explained here. User will be able to save a template of runtime values or to select a previously saved template to automatically load all values.

This template will be extended with a Time Interval starting with 6.0 version.

If a report has two parameters named by convention as start_date and end_date and those parameters have single selections and their type is one of Date, Time or Timestamp, then values templates panel will show also a selectable time interval:





This interval can be one of Yesterday, Today, Current Week, Previous Week, Current Month, Previous Month, Current Year, Previous Year and Last.

For all the intervals the two dates will be automatically filled with the corresponding dates. For example for Current Week, start_date will be the Monday of current week with hours, minutes, seconds and milliseconds equals to 0, while end_date will be the Sunday of current week with hours 23, minutes 59, seconds 59, milliseconds 999.

If Last interval is selected user will be able to select how many days, weeks, months or years are counted from current day:





For example for “Last 4 Months” start_date will be the same day as today but 4 months earlier with hours, minutes, seconds and milliseconds equals to 0, while end_date will be the current day with hours 23, minutes 59, seconds 59, milliseconds 999.

Friday, January 11, 2013

NextReports: Report Type Property

NextReports can  design two types of entities: reports and charts. Reports can also be classified in default, alarm and table. Alarm and table reports are special formats (defined by convention) which can be used inside NextReports Server dashboards.

To publish a special kind of report to server, user has to check it's purpose: Dashboard Table or Dashboard Alarm.


From NextReports 6.0 this information will be defined when we create the report. A new type property will be added to Report node:


This property can take a value from default, alarm, table. So when we will publish a table or an alarm to server, there will be no need to specify it's purpose, and the publish will look the same as for default reports:


This approach is more scalable and new report types can be added later without impacting the way they are published to NextReports Server.

Monday, January 07, 2013

NextReports Server: Demo inside installer

NextReports Server has a demo online at http://demo.next-reports.com where you can login with demo / demo.

When you install the server by yourself, till version 6.0, you won't see anything. It is a fresh content repository. To make it more interactive and to see main functionality inside dashboards, version 6.0 will allow to specify at installation if you want or not to have some demo data.


If you select this option, you will have a Derby demo database (same used inside NextReports Designer), some charts, some reports and a number of dashboards in which you can see the main chart types, alarms, tables, a pivot, a drill-down chart and a drill-down table.

Friday, December 07, 2012

NextReports Server : Iframe Tunning

NextReports Server allows to have any widget (chart, table, alarm, pivot) inserted in any HTML page through an iframe tag. This can be generated through "Embedded code" action:


You will get a code like :

This code has some parameters like widget id, width and height.

From version 5.4 users can define if they want to allow iframes or not. Inside Settings section some new properties can be used:


"Enable iframes" property will disallow the use of iframes if it is not selected.

"Use authentication" property will allow only for logged users to see iframes, if it is checked.

Also an iframe code can be modified to contain parameters. In this way more iframes with different settings can be used even if they have the same widget id. You have to add a new parameter :

..&P=<encrypted parameters string>

"Encryption key" is used by NextReports Server internal algorithm.

To create <encrypted parameters string> you will have to create a string with pairs of parameters and their values like :

$P{<parameter_1>}=<value_1>&$P{<parameter_2>}=<value_2>....

This string must be  then encrypted using an internal algorithm. Because this is application specific, I will not get into details.


Wednesday, November 14, 2012

NextReports: Efficiency Meter

NextReports formatting conditions can be used to highlight some data by changing background, foreground, font and border properties.

A very useful application is to generate something like an "Efficiency Meter" or any kind of "Meter". Such meter will show how some entities are found regarding some thresholds.

Let's take as an example of our "Efficiency Meter" a call center where different employees are talking with different clients. We set some thresholds for the number of phones per employee to know how they perform.

A sample report may show employee name, the number of phones taken for a period of time (in our example 11 hours), the number of clients involved and the average of calls for a period of time (in  our example 1 hour).


To define our efficiency meter we have to select different colors for our thresholds. For this we use formatting conditions. In our case, $E{Average} field has the following:


Result shows us in a nice format how everyone performed and it allows us to see in a glimpse if there are ups and downs.


Friday, November 09, 2012

NextReports Server: External Drill Down

From version 5.4 NextReports Server will define a new type of drill down. This can be any external url. Just add a new drill down like:


You can use the clicked value with a tag called ${value}.

Also, depending on last entity selected, you may be asked or not to select the column index used by table reports. If you have a table report as last drill before to add a url drill, this column will be shown, otherwise it won’t.

After adding a url drill down, no other drill can be added to that entity.


Monday, October 29, 2012

NextReports: Custom paper size

Version 5.4 will allow to select a custom paper size for a document to be used for PDF and RTF exporters.

Users have to select CUSTOM to paper size property and then to edit custom definition property to enter width, height and measure unit. Custom definition property is seen only when paper size is set to CUSTOM.

To exemplify this let's consider our business card report.


 We select 8,89 x 5,08 cm for our business card:



Generated PDF will have all pages with the size of a business card:


Tuesday, October 23, 2012

NextReports: Use a background image

In NextReports 5.4 user can set a background image for report. You have to select "Report" root and add an image to 'background image' property.



 Then any generated PDF or HTML will show that image and all cells background colors will be ignored.

PDF

HTML 

Friday, October 19, 2012

NextReports: Total Pages Number

In documents like PDF sometimes it may be needed to have a Total Pages Number to be shown on every page header or footer.

In version 5.4 a new variable TOTAL_PAGE_NO can be used to accomplish this. This variable is a bit different than all other variables which can be evaluated as the records are read.  TOTAL_PAGE_NO variable can be evaluated only when the document is closed. Because of that, you cannot enter this variable inside an expression and you should always use it standalone.

So, how do you create an expression like "Page 1 of 10" in your header? You have to split this into two elements:
  • an expression for the part that is evaluated as the document is created ("Page 1 of"). In this expression you will use PAGE_NO variable

  • a simple TOTAL_PAGE_NO variable inside a cell near the expression
Your layout with these two elements inside a page header row will look like:


As you see, first cell element is right aligned, while the cell with variable is left aligned. And the pdf result will look like:


Friday, October 12, 2012

NextReports: Charts Dynamic Series

When you define your chart in NextReports Designer, you have to select what to see on X axis and on Y axis. By selecting more columns (series) on Y axis, user will be able to see comparative data.

Till version 5.4, NextReports was able to select static columns and legends. But there are situations when you want your chart to show all existing series from a specific business. For example to see the type count  for some products, but you have a dynamic list of products: some products may be removed or some may be created in the future. And you do not want to change the chart anytime a change to that list of products is done.

To establish this:
  •  user must create the chart query  in a dynamic mode (no hard-coding)  with a simple sql query or  with a procedure call (a procedure call may be more suitable in most of the cases)
  • user will leave the  Y column unselected in chart layout (also no legend has to be entered)

  • user will enter an sql (simple query or procedure) inside a  new property called "column query" which must return string pairs of {column name, column legend}



When the chart is run, the dynamic columns are computed and they are used as the series. In this way any new changes to our list of products will be automatically seen inside the chart.


This new feature will bring more flexibility to NextReports starting with 5.4 version.

Thursday, October 11, 2012

NextReports: Business Cards

NextReports is a very flexible tool to generate any kind or reports / documents. Because it offers possibility to select column sizes, you can practically generate anything from business cards, envelopes, invoices. To illustrate this we can show a simple report to generate business cards for your employees. This can be arranged as you like and printed on an A4.

Layout can be for example as:


Any dynamic fields can be expressed through database columns or expressions, image can be inserted wherever you like, you can adjust your horizontal size by setting columns dimensions, you can adjust your vertical size by setting properties like font size and padding for any cell.

Generated report looks like:

Do you want to generate to a business card A4 template which has two columns? Just use this report as a sub report with a parameter "Employee" which you will use in your query:


Your master report will have a simple  query where you will select the employe column with the alias "Employee", identical with sub report parameter name:



 and in your layout you will add two sub reports:


So your generated report will be :


Wednesday, October 03, 2012

NextReports: Widgets with dynamic parameters

NextReports widgets (charts, tables, alarms, pivots) can show you important and live data inside dashboards. The entities behind (charts or reports) can have or not parameters. You can have for example a chart showing exchange rates for the last two weeks without using date parameters (like the one found on the demo server).  The query used to perform this using MySql is:


If you want to have parameters, to tweak them for server UI, you must define them with a default source inside designer definition. You can define start date for example to be with 7 days previous to current date like:


End date parameter will be just the current date:


NextReports is able to schedule a report with such parameters using a dynamic check flag. By selecting it, the server assumes that the values for those parameters will be computed at run time instead of using the computed stored (static) default values.

For widgets there was not possible to have dynamic values for parameters. With the forthcoming 5.4 version it will be possible to select dynamic flags for widget settings like in scheduler definition:


In this way you can play with same widget both in seeing data for a dynamic period of time and in analyzing data for a specific static period of time.


Tuesday, October 02, 2012

NextReports: Barcodes

Because version 5.3 brought possibility to insert a report in another report, now you can generate even invoices with NextReports. For that a new bar code element was added.

An example with EAN.UCC-13 type looks like:


Do you need to a QRCode? You can do it:


The following bar code types are supported: EAN.UCC-13, EAN.UCC-8, UCC-12, UPC-E,  SUPP2, SUPP5,  CODE128, CODE128-RAW, INTER25, CODE39, CODE39EXT, CODABAR, PDF417, DATAMATRIX, QRCODE.