+ All Categories
Home > Documents > Next Reports Server

Next Reports Server

Date post: 07-Dec-2015
Category:
Upload: ronny-indra
View: 60 times
Download: 15 times
Share this document with a friend
Description:
tutorial
Popular Tags:
81
ADVANTAGE SOFTWARE FACTORY Next Reports Server User Guide Version 7.1
Transcript
Page 1: Next Reports Server

ADVANTAGE SOFTWARE FACTORY

Next Reports Server

User Guide Version 7.1

Page 2: Next Reports Server

NEXT REPORTS SERVER

User Guide

Advantage Software Factory

169 Calea Floreasca 6th floor, Sect. 1, Bucharest, Romania

www.next-reports.com

www.asf.ro

[email protected]

Phone +40 21 242.87.20 • Fax +40 21 242.87.22

Page 3: Next Reports Server

3

Table of contents

1. Introduction ....................................................................................................................................5 1.1. What is NextReports Server................................................................................................5 1.2. System Requirements..........................................................................................................7 1.3. Conventions ........................................................................................................................7

2. Setup ...............................................................................................................................................8 2.1. Download ............................................................................................................................8 2.2. Install...................................................................................................................................9 2.3. Change embedded web server ..........................................................................................14

2.4. Login into application .......................................................................................................15

3. Sections .........................................................................................................................................17 3.1. Dashboard Section ............................................................................................................17 3.2. Monitor Section ................................................................................................................18

3.3. Data sources Section .........................................................................................................19 3.4. Reports Section .................................................................................................................19

3.5. Charts Section ...................................................................................................................19 3.6. Scheduler Section..............................................................................................................20 3.7. Security Section ................................................................................................................20

3.8. Settings Section .................................................................................................................20

3.9. Migration Section..............................................................................................................20

3.10. Generalities .....................................................................................................................21

4. Management .................................................................................................................................23 4.1. Top & Bottom Bars ...........................................................................................................23 4.2. Entity Browser ..................................................................................................................24 4.3. Data Source Management .................................................................................................25 4.4. Report Management ..........................................................................................................28

4.5. Schedule Reports ..............................................................................................................36 4.6. Alerts .................................................................................................................................39 4.7. Scheduler Job Management ..............................................................................................41 4.8. Chart Management ............................................................................................................42 4.9. Drill Down Charts .............................................................................................................44

4.10. Drill Down Reports .........................................................................................................47

4.11. Advanced Drill Down .....................................................................................................50

4.12. External Drill Down ........................................................................................................51 4.13. Pivot ................................................................................................................................52 4.14. Security Management .....................................................................................................53 4.15. Dashboard Management .................................................................................................56 4.16. Settings Management ......................................................................................................65

4.17. Data Migration ................................................................................................................70 4.18. Advanced Embedded Code .............................................................................................72

5. Advanced Configuration ..............................................................................................................73 5.1. Next Server Properties ......................................................................................................73

Page 4: Next Reports Server

4

5.2. Next Server Profiles ..........................................................................................................73

5.3. Next Server Integration – Synchronization Process .........................................................76 5.4. Next Server Integration – Embedded Section ...................................................................80 5.5. Adding support for other JDBC driver .............................................................................81

Page 5: Next Reports Server

Chapter

1

5

1. Introduction

This paper describes the installation process and the usage of NextReports Server software

application.

1.1. What is NextReports Server

NextReports Server is a web application which manages data sources, reports, charts, dashboards,

schedules reports to run at specific moments in time and monitors job execution. In full depth the

server structure can be seen in the next image.

Page 6: Next Reports Server

Introduction

6

The application will work with entities like Data Sources, Reports, Charts, Dashboards, Scheduler

Jobs, Users, Groups and Permissions. A data source entity represents the definition of a connection

to a database and can be one of the following types: Oracle, MySql, MSSql, PostgreSQL, Firebird,

Derby and SQLite. A data source is used by reports and charts. A dashboard is a one, two or three

column layout where user can add different widgets like charts, pivots, tables, alarms and indicators

(specific reports that can be represented as tables, as alarms or as indicators). A report can be

scheduled to run at specific moments in time, resulting entity being called “scheduler job”. A

permission entity is created as a list of rights for some users and groups

Entities are called referenced if they are used by another entity. So, a data source can be referenced

by one or more reports or charts. A report can be referenced by one or more scheduler jobs. A user

and a group can be referenced by one or more Permissions. A referenced entity cannot be deleted

until all entities that use it are deleted.

NextReports Server has a multi-report engine. Right now, the server can manage reports created

with NextReports designer application and Jasper reports.

At execution time, the reports can be exported in HTML, EXCEL, PDF, RTF, CSV, TSV, TEXT

and XML. The generated report can be viewed from web, from retrieved mail, if one or more sent

mails were entered at runtime or can be stored on other computers through protocols like FTP,

SSH, WebDAV or Windows Sharing. The mail can contain the link of the generated report or an

attachment with the report.

NextReports Server allows for report versioning. At every report update a new version is created.

Any version can be set as the current one and can be run. NextReports keeps a full history of

generated reports

To schedule a report, a Scheduler Job entity must be created. This job contains the report

parameters values, the definition of the scheduler (when to run and which frequency) and the list of

destinations where to send the results. Such destinations can be Mail, FTP, SSH, Windows Share,

WebDAV.

Besides reports, NextReports Server supports charts created with NextReports Designer. Such

charts can be previewed from chart management section and can be added to a dashboard to be seen

in real-time. Charts are also versioned.

The server has a default dashboard to add charts and reports, but other dashboards can be created in

the container.

Page 7: Next Reports Server

Introduction

7

1.2. System Requirements

NextReports Server can run on any platform which supports Java 6 (See chapter 2.Installation).

It was successfully tested on Windows 2000, Windows XP, Windows Vista, Windows 7, Linux

(Ubuntu). NextReports Server should run without problems on any operating system with Java

support.

The server was tested for the following browsers: IE 9+, Mozilla Firefox 15.0+, Google Chrome

24+ and Opera 12+.

All charts from dashboards can be seen as HTML5 if browser supports it. If browser does not

support HTML5 (like IE7, IE8) a flash plug-in is needed to view them. Some chart types do not

have a representation for flash, so if you really cannot update your browser to a recent one which

recognizes HTML5, you should use only the chart types that are allowed for flash.

1.3. Conventions

Some conventions used in this paper. Italics Text written in italics is changeable and must be replaced with something specific indicated in the explanation. Italics style can be used to emphasize some words or to make some reference on other documents (books, web sites). Bold

Text written in bold is used to show something of importance, to indicate menu names and graphic components inside an application frame.

Fixed font Text written in fixed font is used to show the characters that must be entered, the messages that the system returns, default values or file names. File > Save This shows a menu selection. For example, select File menu, then select Save option.

ATTENTION This shows that you can obtain unexpected results if you do not follow the instructions

Page 8: Next Reports Server

Chapter

2

8

2. Setup

2.1. Download

NextReports Server can be downloaded from http://www.next-reports.com .

The selected NextReports Server file for download must be chosen depending on the user

operating system and on the version of java installed on the computer.

For Windows and Linux there are native installers, files with .exe or .sh extensions (see

next image from installation process).

For any other operating system there is a generic installation file with .zip extension.

To test the existence of JVM (Java Virtual Machine) on your computer, you have to open a

command line terminal (a DOS prompt in Windows or a shell in UNIX) and to enter the

following command: java –version

You will see a text like the following:

java version "1.6.0_21"

Java(TM) SE Runtime Environment (build 1.6.0_21-b07)

Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

This will show that there is a JVM installed on the computer. If the version is newer than

1.6.0 you can download an installation file which does not contain the JVM (and is smaller

because of that) (for example nextreports-server-setup-5.1.exe for Windows users).

If you have a version older than 1.6.0 or if you receive the following message:

java: Command not found.

This means that you do not have the required java version installed on the computer and

you must choose for download a setup file with JVM inside (for example nextreports-

server-setup-5.1-jre.exe for Windows users)

Page 9: Next Reports Server

Setup

9

2.2. Install

ATTENTION. The installation process must be done as an administrator.

After the setup file was downloaded, if it is a native installer for Windows or Linux, you

can execute it directly to install NextReports Server on the computer. If it is a generic

installation file with .zip extension, you have to unzip the archive to a folder, enter to a

command line terminal and from that folder enter the following command:

java -Xms128m –Xmx512m –jar start.jar

This is also found inside a run.bat or run.sh file.

Here 128m represents the minimum memory used (memory allocated at startup) and 512m

represents the maximum memory used. Depending on your requirements you can modify

the memory used by server.

After selecting destination directory, user must choose also a default location for data

because all the data is kept to a user specified place.

Page 10: Next Reports Server

Setup

10

So when you install a new version you can select the previous data store location and you’ll

be ready to go without the need of importing from previous version.

ATTENTION. If you want to keep more versions of NextReports Server, you have to

keep also a storage location for every version. Before installation you have to copy

your storage folder to another location and use this folder at installation. If you use

the older location at installation, previous versions of NextReports Server may not

work, because changes in storage structure may be possible between versions.

In next step, user configures some internal ports.

You will have to select two ports which are not used by other applications:

HTTP port used by the internet browser to access the server

Stop port used to stop NextReports Server.

Optionally a “stop key” may be entered to be used by the stop command.

The user has no need to know what ports are used or not. By clicking ‘Check Ports’, he

can see if the default ports are free (green background). If a port is not free, the background

is red and the user may click ‘Get Ports’. The installer will select some free ports and the

user may click next.

Page 11: Next Reports Server

Setup

11

Next, user can choose to install some demo data (a demo database, some reports and charts

and a number of dashboards to show the main functionality).

Page 12: Next Reports Server

Setup

12

In the next step, user selects a start menu folder and can create shortcuts.

Then installation process starts.

Page 13: Next Reports Server

Setup

13

After the installation process is finished, for Windows installer, the user is asked if he

wants NextReports Server to run as a service and if he wants the server to start on boot up.

The created shortcuts menu contains ‘Start NextServer’, ‘Stop NextServer’ to start and to

stop NextReports server. First time, the start process will take longer because the data

repository is created. For accessing the server, there is also a ‘Open NextServer’ shortcut

which will start the browser automatically. If the generic installation zip file was used, the

URL address is by default http://localhost:8081/nextreports-server .

First login is done with user admin and password 1. This default user is an administrator

and cannot be deleted. That’s why it is very important to change admin’s password.

Page 14: Next Reports Server

Setup

14

2.3. Change embedded web server

NextReports Server has an embedded Jetty 6 server. But, application can be deployed also

on other web servers. It was successfully deployed to Tomcat 6+ and Sun Java System Web

Server 7.0 update 8.

If another web server is chosen for NextReports application, two things must be done:

“reports” folder must be mapped to a web context

This is needed because all generated reports have to be accessed through http URL

links that look like the following:

http://<ip>:<port>/reports/<report_file>

For Jetty server used by default, there is a contexts folder where you installed the

server. Inside reports.xml file found here, there are two properties:

<Set name="contextPath">/reports</Set>

<Set name="resourceBase">C:/Users/user.name/.nextserver/reports/</Set>

which tell us that reports found at “resourceBase” on the harddisk can be served

by the web server’s “contextPath”.

“reports” folder must be in web server classpath

This is needed because all images used by reports are found in “reports” folder and

have to be loaded by PDF, RTF and EXCEL exporter processes. If “reports” folder

is not in classpath, those images will not be seen in generated reports.

Observation: HTML reports do not need “reports” folder to be in classpath,

because images are not embedded in html files and an <img> tag is used.

For Jetty server, inside the installation folder you can find a start-

nextserver.vmoptions file. In this file, the jetty classpath is specified like this:

-Djetty.class.path=C:/Users/user.name/.nextserver/reports

For more information about changing default web server, please contact us at

[email protected].

Page 15: Next Reports Server

Setup

15

2.4. Login into application

After a valid license is found inside your installation directory, users can login into

application using their credentials:

At first installation, you can log using user admin and password 1 (one). Be sure to change

admin’s password after login with anything you like.

If a user forgot his password, a link called “Forgot password” from login panel can be

used. By clicking it, user is forwarded to a page to enter his application id:

To be able to change password, user must have an email defined into NextReports Server

account, otherwise it won’t be possible.

Page 16: Next Reports Server

Setup

16

After clicking send, user is redirected to login page and an email will be forwarded to the

specified user mail account. This email contains a link which will forward the user to a

page for changing password:

The link from email is active four hours. If user will click it in this interval and will confirm

his new password, password is changed and user is redirected to login page to enter his new

credentials. If this time expires, password cannot be changed.

Login page can also contain a domain if NextReports Server is integrated in other

applications and it synchronizes its users with external ones. To find more please read the

5.3. NextReports Server Integration section from Advanced Configuration chapter.

Page 17: Next Reports Server

Chapter

3

17

3. Sections

NextReports has eight sections (tabs): Dashboards, Data Sources, Reports, Charts,

Scheduler, Monitor, Security and Settings.

3.1. Dashboard Section

The Dashboards section is the place where user can add widgets (charts or reports) to view

them in real time. By default there is a dashboard created called ‘My’. Other dashboards

can be created / deleted in this section. Inside any dashboard, charts and reports can be

organized in a one, two or three column structure, by dragging them with the mouse.

Page 18: Next Reports Server

Sections

18

Any widget has a settings action from where it is possible to modify the values of

parameters used. For charts there is also a chart type property. Any widget has an

individual refresh action. Also, a general refresh can be done for a dashboard. The

navigation dashboard panel from the left can be hidden to allow more space for the

dashboard.

3.2. Monitor Section

In Monitor section user will see the reports that are running (or are prepared to run), the

active scheduled reports and the run history of all reports.

Running reports and active scheduled reports can be stopped. The stop process will try to

cancel the database statement and the success of this depends on the jdbc implementation

driver (which must support statement cancelation).

Active scheduled reports which are not running can be forced to run now. This is just a

shortcut for the following flow: take active scheduled report name from Monitor tab, go to

Scheduler tab and select “Go to report” action, select “Run” action in Reports tab.

History is shown for the current day. If you want to see older history you can select other

date from the calendar to see the history from that day. Also, if you want to see all history

since a day till a selected date you have to select “Day range” from combo box.

Inside history table user can see if the report was run with success or not, can see what were

the parameters and even the query, and can see the result by clicking url link.

User can also modify number of history entries per page by setting “Rows per page” field.

User can delete some history entries if he has the right to do it using “Delete Selected”

button.

Page 19: Next Reports Server

Sections

19

3.3. Data sources Section

Data Sources section is responsible for data source management. A data source is needed

for any report creation/modification. When adding a data source, the user can test the

connection to see if it fails or it is ok.

Data sources can be organized in folders.

When users publish reports or charts from NextReports Designer, they can also publish the

data source.

3.4. Reports Section

Reports section is responsible for report management. In this server version, the user can

upload two types of reports: Next and Jasper. Reports can be organized in folders.

Reports of type next can be classified in four categories:

General: reports that can be scheduled to run on the server

Tables: reports with a special “table” type. These reports can be added to

dashboards as tables.

Alarms: reports with a special “alarm” type. These reports can be added to

dashboards as alarms.

Indicators: reports with a special “indicator” type. These reports can be added to

dashboards as indicators (simple gauges).

3.5. Charts Section

Charts section is responsible for chart management. Any chart created with NextReports

Designer can be uploaded on the server. Charts can be organized in folders.

Charts can be added to dashboards. Charts can also be run from management table.

Page 20: Next Reports Server

Sections

20

3.6. Scheduler Section

In Scheduler section the user will see all the scheduler jobs created when reports are

scheduled. A scheduler job contains the values of the runtime parameters and the scheduler

properties needed to know when to run the process. Inside the job, optionally, may be

introduced a list of destinations where the generated reports has to be distributed.

One type of destination is email. Job will contain a list of users, groups and emails to which

the results will be sent. Such a result is the entire generated report or a link to the generated

report.

Another type of destination is alert which will send a mail only if a condition is met.

Other types of destinations include FTP, SSH, Windows Share and WebDAV.

In this section user can see if a scheduler job is active and the date when the next run will

take place

3.7. Security Section

Security section manages users and groups. Any user or group can be assigned some

permission to any of the data sources, reports, charts or scheduler jobs entities. This section

is visible only for administrators.

3.8. Settings Section

This section is visible only for administrators. Here an admin can modify application

settings which are kept from version 5.0 inside internal content repository. In previous

versions, settings were kept inside a nextreports.properties file.

3.9. Migration Section

This section is visible only for administrators. Administrators can export data like data

sources, reports, charts and dashboards to xml files. Administrators can import xml

migration files into current repository.

Page 21: Next Reports Server

Sections

21

3.10. Generalities

For Data Source, Report Management and Chart Management, user can create folders to

organize its data.

In every section, except Monitor and Dashboards, user can search for entities.

The search process will look for all entities whose ‘Name Contains’ a specific text. For

Reports the search can look also in the ‘Description Contains’ of that entity. Search can

also be ‘Case sensitive’ or not.

For reports, user can search for ‘tables’, ‘alarms’, ‘indicators’ or ‘drill down reports’.

For charts, user can search for those with drill-down. Also for reports and charts user can

look for invalid sqls (queries which are not valid because tables or columns were renamed

or removed) and can search for text inside sql queries using ‘Sql Contains’.

A result will show short information about what was searched and all entities that were

found:

Page 22: Next Reports Server

Sections

22

Page 23: Next Reports Server

Chapter

4

23

4. Management

4.1. Top & Bottom Bars

Any NextReports Server web page contains a top bar and a bottom bar. The bottom bar

shows in the right corner the current version and build of the application server. The top bar

shows the name of the current user logged. Also, the top bar contains some general actions

for NextReports web application.

Here, the current user can log out and can change his password. To change the password,

user has to enter the old password, the new password and to confirm the new password.

As you will see, in “Settings Management“chapter, the logo icon from login and top bar

can be changed.

Page 24: Next Reports Server

Management

24

4.2. Entity Browser

Every type of an entity can be managed through an entity browser.

Left side shows the folders entity tree. By selecting a folder, the entity table on the right

side is refreshed with all the entities from that folder.

There are three kinds of actions, user can do (see previous image) :

1) All actions inside the header table menu (Add Folder, Add Next Report, Add Jasper

Report, Rename, Delete and Search) are actions taken for the selected entity tree

folder.

2) All actions from the popup menu over the ‘Actions’ columns are taken for the

current table entity.

3) By selecting the checkboxes on the first table column, the actions from header table

menu will change. All these actions are bulk actions taken for all selected entities.

Page 25: Next Reports Server

Management

25

4.3. Data Source Management

A data source entity has the following fields:

Name field is mandatory and represents the data source name.

Type field is the type of the database to which we will connect. The user can select one of

the following types: Oracle, Oracle-Service, Oracle-Tns Name,MySQL, MSSQL

Server, PostgreSQL, Derby Embedded, Firebird, SQLite, CsvJDBC.

To connect to a database we need a jdbc driver. Such a driver is a software component (a

file with jar extension) which allows to a java application to interact with the database. A

different jdbc driver is needed for any type of database.

In folder <NEXTREPORTS_SERVER_HOME>\...\WEB-INF\lib (where

<NEXTREPORTS_SERVER_HOME> is the NextReports Server installation folder) there

are some jdbc drivers that are installed by the application.

Driver field is mandatory and represents the name of the driver java class.

URL field is mandatory and represents the information needed to locate the database to

which we want to connect.

Every jdbc driver has a standard format for this field. The format is printed in bold under

driver field – for example mysql has the following format jdbc:mysql://<ip>:<port>/<database>

where the information between < and > will be replaced with particular values.

User field is the name of the user used to connect to the database.

Page 26: Next Reports Server

Management

26

Password field is the password used to connect to the database.

After all the fields are entered, before saving the data source, it is useful to test the

connection to the database by clicking the button Test.

If the connection is valid, then we will see some information about the database in the zone

Status like the database type, database version, driver name, driver version.

If the connection is invalid and cannot be established an error message will be printed in

status.

In the case of error, you have to verify the fields entered and to verify the physical

connection with the computer where the database is stored – network, firewall (if

necessary).

The data source can be saved by clicking the button Save and after that it will be shown in

the browser tree.

Users can connect to CSV files through a special JDBC driver. When user wants to create

such data source by selecting the CSV driver a new “Properties” button can be seen:

From here, user can choose properties like separator, file extension, suppress headers (if

column names are not inside CSV file), column names and column types:

Column names and column types must be separated by comma. Column type can be one of

String, Int, Double, Boolean or Date.

Page 27: Next Reports Server

Management

27

A data source can be modified, deleted, copied or moved. The user who created the data

source and any ‘admin’ user will be allowed to see this data source and will have full

control on it. To allow other users/groups to use this data source, you will have to add that

user/group through the ‘Security’ action to a list of permissions. (See security management)

Page 28: Next Reports Server

Management

28

4.4. Report Management

Report Management can be done from ‘Reports Section’. For every report you can do some

actions (like those seen in next picture).

A Next or a Jasper report can be uploaded to server. There is a different ‘Upload’ action

for both report types.

For ‘Next’ the user will enter report name, data source used by the report, next report file,

image files and optionally a description. Also, for excel exporter, user can select a template

file (see designer excel template definition) which will be used to generate final excel.

You can upload easier to server using NextReports Designer. You can publish one or more

reports from designer. An advantage is that you do not need to create the data source by

yourself because you can also publish it from designer. And if the report contains some

images, these will be automatically uploaded to server, as opposite to select those for a

server upload action.

Page 29: Next Reports Server

Management

29

For ‘Jasper’, besides the name and data source, the user will enter the master file report and

optionally sub reports files, images files and a parameters file. The parameter file is created

using ‘Edit Parameters’ action. A Jasper parameter has a type and a select source.

The type of a Jasper parameter can be:

- SINGLE : parameter value will be entered at runtime

- COMBO : the values are taken from the parameter ‘select’ field and at runtime the

user can select only one value

- LIST the values are taken from the parameter ‘select’ field and at runtime the user

can select one or more values

Page 30: Next Reports Server

Management

30

Any report can be updated and a new version is created through this process. (See Report

Versioning)

The user can also change the data source of the report, and the new data source will be

used at runtime.

Through ‘Info’ action, the report information can be seen: report id, description, query and

all parameters.

A report can be downloaded from the server. The downloaded file will be a zip with

master file, sub reports files, parameters file and images files for Jasper, and with file and

image files for Next.

The user who uploaded the report and any ‘admin’ user will be allowed to see this report

and will have full control on it. To allow other users/groups to use this report, you will have

to add that user/group through the ‘Security’ action to a list of permissions. (See security

management)

Page 31: Next Reports Server

Management

31

‘Versions’ action shows all the versions of the report. On every version the user can do one

of the following actions: run, download, info and set as current. ‘Set as Current’ action

will set the selected version as the current one.

‘Run History’ action will show the entire running history of the selected report. From here

the user can see all the generated reports.

‘Run’ action will ask the user to enter the parameter values. Depending on how you

defined your parameters you can have dependent (chained) parameters, meaning their

values can be selected only if all parent parameters were selected.

Parameters panel can be collapsed / expand using the arrow at the top.

User can also save the values selection as a template and reuse this template at next runs.

When user selects a template, values will be automatically filled and parameters panel will

be collapsed to allow seeing just export type and wizard buttons without the need of

scrolling.

Values templates are a way to extend on the server the “default values” feature specified at

parameter creation inside designer, allowing for example for a report with many parameters

to have more selectable “default values”. If user selects a values template, the parameters

are automatically filled. To save a template, user has to check “Save as” option and to enter

a name for it. Template will be saved when user ends all wizard steps and clicks “Finish”.

User can also remove some templates for a report if there is no need of them.

Page 32: Next Reports Server

Management

32

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.

After “Run Report” step, optionally, the user can set a list of actions to do like sending the

result through mail or put it on a remote computer using SSH, FTP, Windows Share or

WebDav protocols.

User will receive in the top right corner a notification that the report is running. After the

running process is finished, user will also be notified about this through a message. This

message contains the link of the generated report if no error occurred. If an error occurred,

user is also notified to look inside Monitor section for what the reason was.

Page 33: Next Reports Server

Management

33

‘Edit in Designer’ action is visible for reports of type Next. This action works by default

on Windows if the designer was installed.

If no designer from 5.1 was ever installed the browser will show a message like:

"Firefox doesn't know how to open this address, because the protocol (nextreports)

isn't associated with any program"

If you have installed a version since 5.1 but if you do not have installed the same

NextReports version as the server version, you will be informed with the designer

download links:

Page 34: Next Reports Server

Management

34

If you have installed the needed version of designer, this designer will be opened and the

user is asked to enter server password. If the authentication is successful, the data source of

the report will be downloaded to designer with a name like

<datasource_name_on_server>@<server_ip>, designer will auto-connect to it and then

the report will be downloaded and opened. When you will save the report, you will be

asked to save it also on the server. By confirming, the report will be published to server.

ATTENTION. To succeed in editing a report from server action, some conditions

must be met:

1. Same version of designer as server version must be installed

2. User must be able to connect to the report/chart data source from its computer

For Linux users it is possible to register nextreports protocol to point to the installed

designer (you need to have gnome installed):

gconftool-2 -t string -s /desktop/gnome/url-handlers/nextreports/command

'<installation_directory>/nextreports "%s"'

gconftool-2 -s /desktop/gnome/url-handlers/nextreports/needs_terminal false -t bool

gconftool-2 -s /desktop/gnome/url-handlers/nextreports/enabled true -t bool

For Windows users there is an advantage, because if you have two or more different

versions of NextReports Server, edit action will open the corresponding designer. For

Linux, you have to register the same version by yourself. If the version is different you

may not be able to edit the report in designer (if server version is greater than designer

version) or you may not be able to run the report on the server after save (if the server

version is less than designer version).

Page 35: Next Reports Server

Management

35

‘Cache Settings’ action is visible for all reports that are ‘dashbordable’ or ‘alarms’, so for

all reports that can be added to a dashboard.

If ‘use cache’ is selected, user can set an expiration time in minutes. This means, that such

report inside a dashboard will reload its data from database only after the specified number

of minutes. Any refresh called before will take data from cache.

Page 36: Next Reports Server

Management

36

4.5. Schedule Reports

A report can be scheduled to run at any moment.

If a parameter has a default source or a manual source, the user interface will contain for

that parameter a checkbox named “dynamic”. The difference is that default source cannot

contain other parameters, but manual source can.

If checkbox is checked, parameter component is disabled and user cannot select

values for that parameter. Parameter values will be computed at runtime when the

query is executed, in other words parameter values are dynamic values.

If checkbox is not checked, user will select values for parameter, in other words

parameter values are static values.

If in runtime step user selects a template with a start_date : end_date interval, scheduler

will take care of these two values to initialize them at every run. So, running a report for

current week for example will always compute start and end dates, making unnecessary to

have manual source for parameters and to set those parameters with dynamic flag. If these

two parameters have manual source and we set them as dynamic, then it won’t matter if a

template was selected or not.

Besides the parameters values and the optionally list of destinations for report, the user

must select the type of the scheduler.

This can be one of the following:

Page 37: Next Reports Server

Management

37

- Once : the report will run only once at the specified date

- Minutely : the report will run at every <n> minutes. It is possible to specify in

which hours, days and months to run

- Hourly : the report will run at every <n> hours in the selected ‘minute’. It is

possible to specify between which hours and in which days and months to run

- Daily : the report will run daily in the selected hours and minute. It is possible to

specify in which days to run (not every day)

- Weekly : the report will run weekly in the selected hours and minute. It is possible

to specify in which week days to run.

- Monthly : There are three types :

1. General : the report will run monthly in the selected hours at every <n>

minutes. The user must select either the days or the week days in which to

run. It is possible to specify in which months to run.

2. Day of Week : the report can be scheduled to run in first, second, third,

fourth or last week day of the month.

3. Last Day of Every Month

Every type (except Weekly) has an ‘Advanced’ checkbox which allows for more

complicated job configuration.

A report can be distributed to one ore more destinations like Mail, FTP, SSH, Windows

Share or WebDAV.

For Mail destination user will enter the mails, users or groups and the result as a link or as

an attached report will be sent to all recipients:

Page 38: Next Reports Server

Management

38

For FTP and SSH destinations, user has to enter host, port, folder and optionally user name

and password.

For WebDAV, user can specify also 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.

After the scheduler job is created the user is shown the Scheduler section where he can see

all the scheduled reports.

Page 39: Next Reports Server

Management

39

4.6. Alerts

An alert is a kind of report distribution which will send emails to a user or group of users

only if some condition is true. Any alarm or indicator reports which are scheduled to run at

a moment in time will have associated one or more alerts.

When user schedules an alarm or an indicator, inside destinations step, he must add such

alerts:

Alert definition is similar to Mail but without a link or full report attachment. Instead, user

will select a condition for the report’s value:

Page 40: Next Reports Server

Management

40

Only if that condition is true when the report is run, only then an email is sent to recipients.

In case of alarms, message body will contain, after the text entered by user, the message

alarm.

User can enter the actual value inside mail body using a template markup ${val}.

Page 41: Next Reports Server

Management

41

4.7. Scheduler Job Management

Inside scheduler section, the user can see some very important information about all the

scheduled tasks:

Type : This field shows the type of scheduler. The tooltip for it shows a verbose

description.

Report : This field shows the name of the report scheduled. The tooltip shows the

full path of the report.

Active : This field shows if the scheduled task is active. For scheduler type ‘Once’

this means run date is bigger than current date. For any other type, it means the

current date is between start activation date and end activation date.

Next Run : Shows the next date when the task will run.

A scheduler job can be modified or deleted. The user who scheduled the report and any

‘admin’ user will be allowed to see this scheduler job and will have full control on it. To

allow other users/groups to use this scheduler job, you will have to add that user/group

through the ‘Security’ action to a list of permissions. (See security management)

The ‘History’ action will show the scheduler job run history. Here we can see the start

date, end date, duration, if the report run with success or not, error message if any, the

report link if everything was ok.

‘Go to Report’ action will move the user from Scheduler section to the Report section

inside the folder where that report is found.

Page 42: Next Reports Server

Management

42

4.8. Chart Management

NextReports charts can be uploaded to server.

User will enter chart name, the data source used by the chart, the next report chart file and

optionally a description. Charts can also be published directly from NextReports designer

alongside with their data source.

Any chart can be updated and a new version is created through this process.

The user can also change the data source of the chart, and the new data source will be

used at runtime.

Through ‘Info’ action, the chart information can be seen: chart id, description, query and

all parameters.

A chart can be downloaded from the server. The downloaded file will be a zip containing

chart file.

The user who uploaded the chart and any ‘admin’ user will be allowed to see this chart and

will have full control on it. To allow other users/groups to use this chart, you will have to

add that user/group through the ‘Security’ action to a list of permissions. (See security

management)

Page 43: Next Reports Server

Management

43

‘Run’ action will show the chart as a HTML5 or flash object, depending if your browser

supports HTML5 or not. With the mouse right click it is possible to select to save the chart

as a local image.

‘Versions’ action shows all the versions of the chart. On every version the user can do one

of the following actions: run, download, info and set as current. ‘Set as Current’ action

will set the selected version as the current one.

‘Edit in Designer’ action will allow editing the chart with NextReports Designer. See 4.4

Report Management chapter for more information.

‘Cache Settings’ allows for chart data to be taken from cache. See reports management for

explanation.

Page 44: Next Reports Server

Management

44

4.9. 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 you 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 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 work code 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.

Page 45: Next Reports Server

Management

45

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 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.

Page 46: Next Reports Server

Management

46

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 One Level" is visible allowing for returning to the

parent chart. Also an “Up To Root” link allows users to go to the first chart. We can select

now an employee and we will see the work code hours for that employee working in

previously selected project:

A note must be done that charts were designed to have the parameters’ values contained

inside the title. This is a good practice to know were we are in the drill down process.

Page 47: Next Reports Server

Management

47

4.10. Drill Down Reports

Like drill down charts process, NextReports Server is able to show drill down table reports

inside dashboards. The number of levels to drill down is infinite.

To create drill down reports use "Drill Down" action on table report entities. This action is

visible if the user has write permission on that table report:

If a table report has at least one drill down report, the table report icon will show this

through a "link" bullet.

Using the same kind of example from “Drill Down Charts” section, we have a table report

called tableProjectHours which shows the projects and number of hours for every project.

First drill down report will show the number of hours worked by each employee. To create

this first drill we add the report with a "Project" link parameter which contains the project

name value. In addition to charts drill down, we also have to specify the column index from

the table where projects are found. In our case, ‘Project’ column is the first in the table.

Second drill down table report will show the number of hours for each work code for

selected project and employee. To create it we add a report with an "Employee" link

parameter which contains the employee name value. We also inform the

Page 48: Next Reports Server

Management

48

tableWorkcodeHours report that its parent tableEmployeeHours table report has the

employee column as the second column of the table.

For every drill down level all selected parent parameters will be passed. In our example, for

second drill down report, the project name will be also passed along with employee

parameter.

The drill down report panel shows all the added reports:

From here we can also delete drill down reports.

When we add tableProjectHours report to a dashboard, we won't see any difference to a

simple table report.

The only difference is seen if we move the mouse over the values from the first column,

which contains the values to be passed to first link parameter from drill down. Those values

are links and by selecting one the next drill down report will be shown:

Page 49: Next Reports Server

Management

49

The second table report was designed to show in the first column an expression which in

this case is the parameter’s value converted to uppercase.

Under the toolbar, a link called "Up One Level" is visible allowing for returning to the

parent report. . Also an “Up To Root” link allows users to go to the first report. We can

select now an employee and we will see the work code hours for that employee working in

previously selected project:

This third table report was designed to show in the first column an expression which is a

string concatenation of parameters’ values (first one converted to uppercase).

Even if you can design your table reports to show only data, it is a good practice to create a

first expression column with parameters’ values so you know were you are inside the drill

down process.

Page 50: Next Reports Server

Management

50

4.11. Advanced Drill Down

You have seen in previously chapters how to create charts or reports drill down.

NextReports Server allows defining any kind of drill-down order between charts and report

tables. So you can drill from a chart to a table and from a table to a chart in the same

manner shown in 4.8 and 4.9 chapters. You just have to select what kind of entity (report or

chart) you want to follow. Depending on last entity selected, you may be asked or not to

select the column index used by table reports. If first entity or last drill-down added entity

is a chart, you won’t be asked to enter a column index. If first entity or last drill-down

added entity is a report table, you will be asked to select the column index where parameter

values are found.

For example, a drill-down combination between charts and tables may look like this:

In this example our ProjectHoursBar chart accepts a report as a first level drill-down. We

can see that no column index is needed to drill from first chart to the report. Second drill-

down entity is a chart. In this case, because previously drill-down entity is a report, we need

to have a column index (2 in our example).

Even if this is possible, it is a good practice to be consequent in your drill-down process. So

use this only if your business requires drill-down from chart to table and from table to

chart.

ATTENTION. When you have a master table with a column of dates and you want to

drill using a date drill parameter you must not use a pattern for the date field in your

master report. Dates inside table widgets are strings formatted as default using

current locale, so that when we click on a date string this can be parsed into a date

object and passed to the child widget. If you will use a pattern a ParseException will

be raised.

Page 51: Next Reports Server

Management

51

4.12. External Drill Down

Besides charts and reports drill-down, NextReports allows drill-down to an external url. To

use it, you have to select the type Url.

Url can contain also a markup ${value} which will be replaced with the clicked value. If

you use a drill-down widget as an iframe in your proprietary application then it may be

practical to have a url containing this value and showing you more information regarding

your needs. This should work very well with REST web applications.

As you saw on Advanced Drill Down section, 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.

ATTENTION. When “drill url” property from integration settings is set, then this url

will be used as a base url for any drill defined in NextReports Server. In this case, drill

url definition must contain only the relative path. For example users may set “drill

url” to be http://mydomain.com so the url from drill must contain just

/order/${value}/info .

Page 52: Next Reports Server

Management

52

4.13. Pivot

Inside dashboards user can add pivot widgets. Pivots can be created from any report. Even

if you can add a pivot in any dashboard, it is better to have a dashboard with a single

column just for one pivot so that you can have the necessary space without scroll. You can

also use detach mode if you need.

After adding a pivot to a dashboard, widget will look like the following:

Initially all columns are unused. To play with them just drag-and-drop a column to any of

ROW, COLUMN or DATA fields. If user clicks on a data field, he can set a function for

that column between sum, avg, min, max, count. By default the sum function is selected.

User can check “Show grand total for column” and “Show grand total for row” if he wants

to see totals.

When user clicks “Compute” data will be displayed. Also, after every compute the

columns, functions and “show total” properties are saved so that when user returns to the

dashboard all saved settings will be auto-loaded.

Page 53: Next Reports Server

Management

53

4.14. Security Management

Any ‘admin’ user is allowed to manage the security of the NextReports Server.

To create a user you have to enter name, password, email and check or not admin flag. User

has a profile which specifies which sections he can see:

Analyst : all sections

Business user : Dashboards, Reports, Monitor sections

Reports : Reports and Monitor sections

Dashboards : Dashboards section

For an admin user, profile is not visible (it has no meaning).

Also it is possible to select to which groups the newly created user will make part.

There is also a bulk action to modify profile for more users that are not administrators.

To create a group of users you have to enter a name and select one or more users.

Page 54: Next Reports Server

Management

54

Data Source, Report and Scheduler Job are the entities of the application which can have

permissions. Permission can be one, or a set, of the following:

R (Read)

X (Execute)

W (Write)

D (Delete)

S (Security)

Entity permission can be added for a user or for a group.

Permissions can be selected individually or by checking ‘All’, which will automatically

select the entire set. If ‘Apply recursively’ is checked, the selected permissions will be also

applied to all children folders and entities.

Page 55: Next Reports Server

Management

55

Every permission has its meaning for an entity.

Read means:

- for data source : the data source can be seen in the browser panel, and the user can

create a report with that data source

- for report/chart : the report/chart can be seen in the browser panel, and the user can

see the report/chart information, the run history and can download it or copy it

- for scheduler job : the scheduler job can be seen in the browser panel and the user

can see the run history

Execute: has meaning only for Report and Chart, and the report/chart can be run and the

report can be scheduled.

Write: means that the entity can be modified (updated) and also for report/chart that we can

change the data source.

Delete: means the entity can be deleted. The user is not allowed to delete entities which are

referenced by other entities (like data sources used in reports/charts or reports used in

scheduler jobs).

Security: this permission means the user will be allowed to change the security permissions

for that entity.

IMPORTANT: There is a group called all. This means that an entity which has

permissions created for this group will have those permissions for all existing users

(already created or created in the future).

Page 56: Next Reports Server

Management

56

4.15. Dashboard Management

By default, NextServer contains a single dashboard panel called ‘My’. User can add more

dashboards to the container. A dashboard can have one, two or three columns.

Users can modify their dashboards with a different title and a different number of columns.

If you set a smaller column number, you will be asked to rearrange the widgets found on

the columns which will disappear.

Dashboards can be deleted, except the default one. Through dashboard management, user

can organize his charts and special widgets. The layout of the container consists by default

from two columns. All widgets from dashboards (charts, tables, alarms, indicators, pivots)

can be dragged with the mouse inside the container up-down and left-right.

Besides adding dashboards, user can refresh the whole current dashboard and he can add

widgets to it.

To add a widget inside selected dashboard, user has to click the “Add widget” button. User

can select between chart, table, alarm, indicator and pivot types. After this selection user

can browse the corresponding tree of entities.

Page 57: Next Reports Server

Management

57

By selecting a report or a chart entity, a new widget will be created in the top left position

of the current dashboard.

Any widget has in toolbar a link with a menu which allows executing following actions:

Page 58: Next Reports Server

Management

58

- edit settings

- save as excel file

- go to its chart or report

- refresh

- detach

- generate embedded code

- copy or move it to other dashboard

- remove it from current dashboard

A change in the settings will update the chart view inside the dashboard.

To reset a widget to its default settings, user has to edit chart settings and to press the

“Reset” button from the dialog. Any widget has a “Refresh Time” property in seconds. If

this value is bigger than 0 than a refresh is done automatically after the number of seconds

elapsed.

Also, any widget has a “Timeout” property in seconds. Default timeout value is 30 seconds.

After a timeout expires and widget was not able to render yet, widget will show a timeout

exception.

Page 59: Next Reports Server

Management

59

ATTENTION. Timeout property is also used for the database query. But be aware

that query timeout success depends on jdbc driver implementation, so even if we see

the exception the actual query may not be finished in the database.

A widget can be detached from a dashboard. In this way, it can be maximized to full screen

(using F11 key).

A widget can be embedded as an iframe in other web sites. To generate the code there is an

action called “Embedded code”. Width and height for iframe can be specified.

Widgets can also be copied or moved from current dashboard to other dashboard with

‘Copy / Move’ action:

In this panel the user will see all his dashboards and all dashboards links to which it has

write permission.

Dashboard navigation panel can be hidden to have more space for charts. The state of

navigation panel (show / hidden) is saved for the current logged user.

Page 60: Next Reports Server

Management

60

The navigation panel allows selecting any dashboard from the list. Selected dashboard will

be marked with a different background color. Any dashboard has a list of possible actions

shown inside a popup when the mouse is over the actions icon.

At the top of the navigation panel, there are two more possible actions: add a new

dashboard and show some statistics about the number of different type of widgets used:

When you first login, you will see your default dashboard. Any dashboard can be set as

default using the action with icon.

Page 61: Next Reports Server

Management

61

A dashboard (except default one) can be shared to other users using the action with icon,

and those users will see it automatically inside dashboard navigator. A shared dashboard

has at least “read” permission in order to be viewed by other users. If it has “write”

permission, the user can also modify anything in the dashboard. If it has ”security”

permission, the user can share it to others.

Any dashboard that is shared to current user has a specific icon with a link. A tooltip over

that dashboard title will give information about the owner.

ATTENTION. When a dashboard is shared only with “read” permission, user can

still change the settings, but those values are kept just for him. This means that every

user of a read-only shared dashboard has his own settings. By contrast, on a shared

dashboard with “write” permission, the settings are globally kept, so any change is

seen by all users.

Inside dashboards user can add, besides charts, tables (next reports with ‘Dashboard Table’

property true) and alarms (next reports with ‘Dashboard Alarm’ property true).

A table is created from a Next report which has to have some conditions:

- If report has parameters, all of them must have default values

- Report must have at least a row inside header band, from where the column names

will be taken. If it has more rows inside header band, the last row will be used to

take column names.

ATTENTION. If any of the above conditions is not met, the report will not be shown

in the “add table” selection.

User can modify table setting (parameters values) if any.

Page 62: Next Reports Server

Management

62

An alarm is created from a Next report which has to have some conditions:

- must have a specific structure only with two cells inside detail band (see

NextReports Designer manual) : first cell specifies the color through its background

and the value (a column from database) and the second cell specifies the message

associated with every status

- if report has parameters, all of them must have default values

The result will be a colored led with a status message. If no data is found, led color will be

white.

User can also modify alarm setting (parameters values) if any.

ATTENTION. If alarm report structure is not as expected, result will consist from a

led of white color.

An indicator is created from a Next report with a special structure (see NextReports

Designer manual). This indicator’s role is to show a single value inside a defined interval.

The result will be a component like the following:

Page 63: Next Reports Server

Management

63

In the example above, indicator shows you the current value (92), a small title (Visitors), a

description (per minute), a minimum value (0) and a maximum value (100). Also a unit

may be present and this is added at the end of the values (like % in next example):

Both charts and tables from dashboards can be saved as excel files where the header

(column names) and data (rows) are inserted. For a chart the columns are X column and all

Y columns (with selected function if any).

If you want to know the entity (chart or report) used by a dashboard widget, you can use the

“Go to entity” action, and you will be redirected to the specific section where the entity is

selected with a different background color.

Dynamic Settings

If a widget’s query has a parameter with a source and/or a default source, then user will be

able to see a dynamic check box flag near that parameter in Edit Settings dialog. By

selecting it, NextReports Server will be informed that the value of the parameter will be

computed at runtime and it won’t be the default stored value. This dynamic flag is the

equivalent of the flag used in scheduler definition.

Page 64: Next Reports Server

Management

64

What is it good for in widget settings? Think that you have to see a live chart data for the

last week and your chart has a start_date and an end_date parameters with default sources

created from sql queries. If you would not have a dynamic flag, you could set your

end_date in the future to get all your data to present, but you could not set start_date to be

always the last 7 days from current date.

Also it is very easy to deselect dynamic flag to analyze data for a specific interval.

In this way you can have just one widget to be used for seeing live data without

intervention and to be used for analyzing specific needs.

Global Settings

Every dashboard with at least one widget has a “Global Settings” action which can be seen

in the top right corner. If there is only a widget inside the dashboard “Global Settings” is

the same with the “Edit settings” action on that widget.

If more widgets are present inside a dashboard, “Global Settings” will allow setting all

general (global) settings to all the widgets.

“Global settings” always contains “Refresh Time” and “Timeout” properties. But the most

important properties seen in “Global Settings” are all the parameters that are the same

inside all reports used by widgets. When we say that two parameters are the same we must

have the same name, class, selection, manual source, default source and so on. But we do

not compare “mandatory”, “runtime name”, “description” properties.

By changing widgets with “Global Settings” users can be faster in updating all dashboard

views with just a single action.

Page 65: Next Reports Server

Management

65

4.16. Settings Management

Any administrator can modify some application settings.

The following properties can be modified:

1. General Settings

Base Url : This is the server base url which contains the ip, port, application

workspace. This property is also used for the url from where to read the generated

reports and charts.

Reports Home : The folder where your server data is found.

Reports Url : The Url that will serve your generated reports.

ATTENTION. Changing base url If you change base url with ip and port, please be

sure that you call from the same machine with that set ip instead of localhost. You can

also connect using localhost, but you won’t be able to see the charts and the exported

reports.

Mail Server Ip : To allow sending generated reports by mail to a list of groups,

users or individual recipients , a mail server must be configured. That means mail

server ip, mail server port and sender email must be entered.

Mail Server Port : is 25 by default.

Mail Server From : is the sender email

ATTENTION. SMTP Authentication Username and password are not added in

Settings User Interface. You can have a special internal email address for NextReports

(created by your admin) which does not need SMTP authentication. But, if you really

want to add SMTP authentication you can do this in the configuration file. This can be

found in the installation folder of NextReports Server in the following path:

\webapps\nextreports-server\WEB-INF\classes\scheduleContext.xml

Here look for

Page 66: Next Reports Server

Management

66

<bean id="mailSender" .... />

and add two new properties inside this tag:

<property name="username" value="..." />

<property name="password" value="..." />

Please be sure to stop the server, before editing the file.

Connection Timeout : Represents the maximum time in seconds used to connect

to a data source. After that time a timeout will occur. Connection timeout 0 means

no timeout is taken into account.

Query Timeout : Represents the maximum time in seconds a query is allowed to

run. After that time expires, if the query is still running, a timeout will occur.

Query timeout 0 means no timeout is taken into account.

Update Interval : Represents the time in seconds after a refresh is done in some

parts of the application, like in Monitor or Scheduler sections.

Auto Open : Is a Boolean value which allows for auto opening generated reports

after run. You should check this only if you have small times for reports running.

2. Jasper Settings

Jasper Home for compiled reports : The folder where jasper reports will be

compiled

Jasper XLS detect cell type : Boolean value to indicate whether the exporter

should take into consideration the type of the original text field expressions and set

the cell types and values accordingly.

Jasper XLS white page background : Boolean value to indicate if the page

background should be white or the default XLS background color

Jasper XLS remove empty space between rows : Boolean value specifying

whether the empty spaces that could appear between rows should be removed or not

Page 67: Next Reports Server

Management

67

3. Application’s Look

Logo file : Logo file which is shown at login and in the toolbar can be changed

from here.

Color theme : There are three color themes which will modify some links and

backgrounds. New theme file can be added by user. To do this:

1) file must be named like theme-<color>.properties

2) file must be added where other theme files are found: webapps/nextreports-

server/WEB-INF/classes/ro/nextreports/server/web/themes

3) all i18n files must contain a new property:

Settings.personalize.theme.theme-<color>=<name of theme>

Language : NextReports Server has internationalization support for following

languages: English, French, Romanian. New internationalization file can be added

by user. To do this:

1) file must be named like

NextServerApplication_<language>_<country>.properties 2) file must be added where other i18n files are found: webapps/nextreports-

server/WEB-INF/classes/ro/nextreports/server/web

3) all i18n files must contain a new property:

Settings.personalize.language.<language>_<country>=<name of language>

4. Thread Pool Settings

Page 68: Next Reports Server

Management

68

Core pool size : The number of threads created at startup in the pool

Maximum pool size : The maximum number of threads which can be created in

the pool

Queue capacity : The number of threads that can wait inside a queue to be

processed.

5. Synchronizer Settings

Synchronizer cron expression : Indicate when the users synchronizer process

with an external applications is done

Synchronizer run on startup : Boolean value to indicate if synchronizer process

must run when server starts

Synchronizer create users : Boolean value to indicate if synchronizer process

must create new found users

Synchronizer delete users : Boolean value to indicate if synchronizer process

must delete users deleted from external application

6. IFrame Settings

Enable iframes : Boolean values specifying whether iframes can be exposed to

outside world or not

Page 69: Next Reports Server

Management

69

Use authentication : Boolean value specifying whether iframes can be show only if

user is logged-in or anytime

Encryption key : This key is used to encrypt url query parameters that can be

passed to iframes

Next Reports Server allows for user synchronization with other applications (see 5.3.

chapter) . In that case those users will be imported to server content repository in a form of

<user_name>@<realm> . This ‘realm’ string (and all others) will be shown at login in a

special combo box. So, to connect with the user of a specific application, you have to select

the corresponding realm. Synchronization is configured through following properties:

7. Integration Settings

Drill url : This will be used as base url for every drill defined in NextReports

Server

Notify url : This is an external url where NextReports Server will do a POST after a

running report has finished. This url contains three parameters which can be read by

any other application:

report : report name

message : result message which can be OK or an error message

url. : url of the resulted report

Secret key: If not null, this key, defined by administrator, will be used inside

integration url for a NextReports Server section iframe. (See Section 5.4. Next

Server Integration – Embedded Section)

White Ip: If not null, this ip will be used by integration url for a NextReports

Server section iframe. If request header is not from specified ip, url for integration

will not allow login. (See Section 5.4. Next Server Integration – Embedded Section)

Page 70: Next Reports Server

Management

70

4.17. Data Migration

Any administrator can export or import data.

To export data, administrator has to select some entities like data sources, reports, charts

and dashboards.

If an entity is selected for export, all referenced entities will automatically be exported. For

example, if a report is exported, then the data source used by that report will be exported

too. If a report has drill-down links, then all reports and charts from those links are also

exported. For a dashboard export, all widgets from it are exported and for every widget the

entity behind (report or chart) is exported.

Page 71: Next Reports Server

Management

71

Export process will create an xml file in the specified path. This file has a naming

convention: it starts with migration- and it ends with the export date.

Administrator can import data using a migration xml file. Import process will automatically

create a backup zip file for the current repository. If an imported entity has an id identical

with an entity from repository, then the existing entity is updated. If imported entity has an

id which is not found inside repository, then a new entity is created. . If imported entity has

an id which is not found inside repository but there is an entity in the system with the same

path, then a new entity with a modified name (and path) is created. The name will be

appended with _IMP_ and the current timestamp.

Because export and import processes must not interfere with repository modification, when

such process is started the server is set to maintenance mode. Every user, except

administrator, will be redirected to a special page for the time of process execution.

This page is similar with server error page which is shown if something wrong happened

internally.

Page 72: Next Reports Server

Management

72

4.18. Advanced Embedded Code

As you saw in previous chapters, any widget has an embedded code which can be used in

an external html page as an iframe. Embedded code url can also contain some values for

one or more parameters.

The url can contain a parameters string defined as:

P=aGJxaU9lZDlqaE4zSmFaaGZTUmRQM1VXbXNpQ3g5blBETm5oUlhnZjN3Tjd3aVVhc

nR0WU9BPT0

The string is an encrypted representation of some (parameter, value) pairs like:

$P{Parameter_Name}=Parameter_Value

A list of values is specified between brackets: $P{Project}=[1,2,3]. More pairs are

separated by &.

Such string of parameters pairs is encrypted using an internal algorithm with a specific key

that is defined in Settings.

So, a full iframe code may look like:

<iframe

src="http://localhost:8081/nextreports-server/app/widget?id=25f6bc1f-0416-482f-

aa2c-b1fc1029c214&width=520&height=320

&P=aGJxaU9lZDlqaE4zSmFaaGZTUmRQM1VXbXNpQ3g5blBETm5oUlhnZjN3Tj

d3aVVhcnR0WU9BPT0" width=520px height=320px>

</iframe>

If you are interested in having some iframes with custom parameter P please contact us to

find out more.

Page 73: Next Reports Server

AdvancedConfiguration

73

5. Advanced Configuration

5.1. Next Server Properties

Some Next Server properties were already discussed in Management chapter section 4.13.

nextserver.home = .

Represents the home directory of next reports server application

nextserver.baseUrl = http://localhost:8081

This is the server base url which contains the ip, port, application workspace. This

property is also used for the url from where to read the generated reports and

charts..

repository.home = ${nextserver.home}/data

The folder were all data content repository will be kept

First two settings nextserver.home and nextserver.baseUrl must not be modified

from here, but from the application. The reason they may also be found here is

because they are requested at installation time.

5.2. Next Server Profiles

In 4.9 Security Management the existing profiles are listed. You can define your own

profiles in securityProfiles.xml configuration file found in

<installation_folder>/ webapps/nexreports-server/WEB-INF/classes

A profile is defined like this :

<bean id="reportsProfile" class="ro.nextreports.server.security.Profile">

<property name="name" value="reports"/>

<property name="displayName" value="Reports"/>

<property name="sectionIds">

<list>

<value>section_class</value>

. . .

</list>

</property>

<property name="hiddenActionContributorIds">

<list>

<value>contributor_class</value>

. . .

</list>

</property>

</bean>

Page 74: Next Reports Server

AdvancedConfiguration

74

After you define a profile, “name” must not be modified. You can modify “displayName”,

the name you will see in user profiles list.

Every profile has a list of visible sections (at least one must be presented) . section_class

may one of the following :

ro.nextreports.server.web.dashboard.DashboardSection

ro.nextreports.server.web.report.ReportSection

ro.nextreports.server.web.monitor.MonitorSection

ro.nextreports.server.web.chart.ChartSection

ro.nextreports.server.web.schedule.SchedulerSection

ro.nextreports.server.web.datasource.DataSourceSection

ro.nextreports.server.web.security.SecuritySection

Also, a profile can define a list of actions (contributors) which is optional.

contributor_class may be one of the following :

General Actions

ro.nextreports.server.web.action.CacheActionContributor

ro.nextreports.server.web.action.CopyActionContributor

ro.nextreports.server.web.action.CreateFolderActionContributor

ro.nextreports.server.web.action.CutActionContributor

ro.nextreports.server.web.action.DeleteActionContributor

ro.nextreports.server.web.action.PasteActionContributor

ro.nextreports.server.web.action.RenameActionContributor

ro.nextreports.server.web.action.SearchEntityActionContributor

Chart Actions

ro.nextreports.server.web.action.chart.ChangeDataSourceActionContributor

ro.nextreports.server.web.action.chart.DownloadActionContributor

ro.nextreports.server.web.action.chart.DrillDownActionContributor

ro.nextreports.server.web.action.chart.InfoActionContributor

ro.nextreports.server.web.action.chart.RunActionContributor

ro.nextreports.server.web.action.chart.UpdateActionContributor

ro.nextreports.server.web.action.chart.EditActionContributor

ro.nextreports.server.web.action.chart.UploadChartActionContributor

ro.nextreports.server.web.action.chart.VersionsActionContributor

Page 75: Next Reports Server

AdvancedConfiguration

75

Data Source Actions

ro.nextreports.server.web.action.datasource.CreateDataSourceActionContributor

ro.nextreports.server.web.action.datasource.ModifyActionContributor

Scheduler Actions

ro.nextreports.server.web.action.schedule.GoToReportActionContributor

ro.nextreports.server.web.action.schedule.HistoryActionContributor

ro.nextreports.server.web.action.schedule.ModifyActionContributor

Report Actions

ro.nextreports.server.web.action.report.jasper.EditParametersActionContributor

ro.nextreports.server.web.action.report.jasper.UploadJasperReportActionContributor

ro.nextreports.server.web.action.report.ChangeDataSourceActionContributor

ro.nextreports.server.web.action.report.DownloadActionContributor

ro.nextreports.server.web.action.report.InfoActionContributor

ro.nextreports.server.web.action.report.RunActionContributor

ro.nextreports.server.web.action.report.RunHistoryActionContributor

ro.nextreports.server.web.action.report.ScheduleActionContributor

ro.nextreports.server.web.action.report.UpdateActionContributor

ro.nextreports.server.web.action.report.EditActionContributor

ro.nextreports.server.web.action.report.UploadNextReportActionContributor

ro.nextreports.server.web.action.report.VersionsActionContributor

Security Actions

ro.nextreports.server.web.action.security.CreateGroupActionContributor

ro.nextreports.server.web.action.security.CreateUserActionContributor

ro.nextreports.server.web.action.security.ModifyGroupActionContributor

ro.nextreports.server.web.action.security.ModifyUserActionContributor

ro.nextreports.server.web.action.security.ModifyProfileActionContributor

ro.nextreports.server.web.action.security.SecurityActionContributor

To add a new profile or remove an existing one you have to update the list found in

securityContext.xml configuration file which is inside folder <installation_folder>/

webapps/nextreports-server/WEB-INF/classes.

Page 76: Next Reports Server

AdvancedConfiguration

76

5.3. Next Server Integration – Synchronization Process

NextReports Server can be integrated with other enterprise applications. To allow for same

credentials to be used for NextReports Server as for external applications, a

synchronization process of all users and groups can be done.

NextReports Server uses the concept of realm. Any external application will have a realm

associated with Next Server.

To define a new realm, first we have to create an xml file authenticationDatabase.xml :

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:security="http://www.springframework.org/schema/security"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/security

http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">

<bean id="databaseAuthenticationProvider" class="

ro.nextreports.server.security.DatabaseAuthenticationProvider">

<property name="realm" value="your_realm"/>

<property name="storageDao" ref="storageDao"/>

<property name="transactionManager" ref="transactionManager"/>

<property name="externalUsersService" ref="syncUserDetailsService"/>

</bean>

</beans>

The only important thing here is the name of your realm, which will be seen inside the

login form page.

To define the synchronization process, we create another configuration file called

securitySynchronizer.xml which will define the connection properties (database url, user,

password) and the queries used to bring users and groups to NextReports Server storage:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:security="http://www.springframework.org/schema/security"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/security

http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">

Page 77: Next Reports Server

AdvancedConfiguration

77

<bean id="syncUserDetailsService"

class=" ro.nextreports.server.security.DatabaseExternalUsersService">

<property name="dataSource" ref="syncDataSource"/>

<property name="userNamesQuery">

<value>SELECT USER_NAME FROM SYS_USERS_NEXTSERVER</value>

</property>

<property name="userQuery">

<value>SELECT * FROM SYS_USERS_NEXTSERVER WHERE USER_NAME

= ?</value>

</property>

<property name="mapping">

<map>

<!-- required -->

<entry key="user.username" value="USER_NAME"/>

<entry key="user.password" value="PASSWORD"/>

<!-- optional -->

<entry key="user.admin" value="IS_ADMIN"/>

<entry key="user.email" value="EMAIL"/>

<entry key="user.realName" value="NAME"/>

<entry key="user.profile" value="PROFILE"/>

</map>

</property>

</bean>

<bean id="syncDataSource" class="oracle.jdbc.pool.OracleDataSource"

destroy-method="close">

<!-- jdbc properties -->

<property name="URL" value="jdbc:oracle:thin:@<ip>:<port>:<sid>"/>

<property name="user" value="user"/>

<property name="password" value="pass"/>

<!-- cache properties -->

<property name="connectionCachingEnabled" value="true"/>

<property name="connectionCacheProperties">

<props>

<prop key="minLimit">2</prop>

<prop key="maxLimit">2</prop>

</props>

</property>

</bean>

</beans>

A first query, userNamesQuery, will select just the names for all users.

A second query, userQuery, will select all user properties. Only two of them are

mandatory: username and password. You can offer also some optional properties like

admin, email, real name, profile. Every property must be mapped to a database column.

Page 78: Next Reports Server

AdvancedConfiguration

78

ATTENTION. User password returned by select must be encoded with MD5

algorithm. At login, password entered by user is encoded with MD5 and it is

compared with the password string returned by query.

To use these two defined configuration files, we will import them inside

securityContext.xml file:

<import resource="classpath:authenticationDatabase.xml"/>

<import resource="classpath:securitySynchronizer.xml"/>

Also you should add the external database authentication provider to

authenticationManager bean:

<bean id="authenticationManager"

class="org.springframework.security.authentication.ProviderManager">

<property name="providers">

<list>

<ref bean="nextserverAuthenticationProvider"/>

<!-- HERE ADD EXTERNAL AUTHENTICATION PROVIDERS -->

<ref bean="databaseAuthenticationProvider"/>

</list>

</property>

</bean>

Last thing to do is to set synchronizer settings as explained in Section 4.15. It is important

to enter when to do the synchronization and to check “Run on startup“ and “Create

users” properties.

If at least a realm is defined, user can select it at login. Empty realm is used for users

created inside NextReports Server application.

Page 79: Next Reports Server

AdvancedConfiguration

79

For using more realms, we will define similar authenticationDatabase.xml and

securitySynchronizer.xml, let’s call them authenticationDatabase-1.xml,

securitySynchronizer-1.xml and we will add them as previously described to

securityContext.xml.

ATTENTION. Administrators from NextReports Server without realm will see

anything in the applications from all the realms.

Administrators from a realm will see anything from that realm. To see things outside

their realm, they need to have permissions.

Page 80: Next Reports Server

AdvancedConfiguration

80

5.4. Next Server Integration – Embedded Section

If a user wants to show inside his application an entire section from NextReports Server

(dashboards or reports are allowed for now), he can use an iframe with a special src

attribute.

If, as example, Next Server url is http://localhost:8081/nextreports-server/app/, then url for

dashboards section will be:

http://localhost:8081/nextreports-server/app/dashboards

Iframe must have src attribute equals with this url.

Section url is a protected link (requires authentication first) and for this reason user must

first call the login url:

http://localhost:8081/nextreports-server/app/ j_spring_security_check

with parameters "username" and "password". The password parameter must be encoded

with md5. An url example looks like:

http://localhost:8081/nextreports-server/app/j_spring_security_check

?username=admin&password=c4ca4238a0b923820dcc509a6f75849b

There is a second option for authentication also in two steps which is more useful for

servers communication (user application server & NextReports Server). First, user calls a

private url:

http://localhost:8081/nextreports-server/app/j_integration_security_check

?username=<user_name>&secret=<secret_key>

“Secret key “ is the value set in Integration Settings and it is not mandatory:

http://localhost:8081/nextreports-server/app/j_integration_security_check

?username=<user_name>

In such case, user can set the “White Ip” from Integration Settings which will allow for

requests just from that ip.

First url request returns as response the jsessionId for authenticated session. User must use

this jsessionId in his next request:

http://localhost:8081/nextreports-server/app/dashboards; jsessionid=<jsessionId >

Page 81: Next Reports Server

AdvancedConfiguration

81

5.5. Adding support for other JDBC driver

This process is similar with that for NextReports Designer. Please read chapter 4.4. Adding

support for other JDBC driver from designer manual.

The only differences are:

driver_templates.xml is found inside server in installation folder in

\webapps\nextreports-server\WEB-INF\classes

java VM parameters for native installers are added inside start-

nextserver.vmoptions file; for zip distribution they are added in run file.


Recommended