You are on page 1of 100

ADVANTAGE SOFTWARE FACTORY

Next Reports Server

User Guide
Version 8.1

NEXT REPORTS SERVER

User Guide

 Advantage Software Factory
169 Calea Floreasca 6th floor, Sect. 1, Bucharest, Romania
www.next-reports.com
www.asf.ro
next_support@asf.ro
Phone +40 21 242.87.20 • Fax +40 21 242.87.22

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 .......................................................................................................16
3. Sections .........................................................................................................................................18
3.1. Dashboard Section ............................................................................................................18
3.2. Monitor Section ................................................................................................................19
3.3. Data sources Section .........................................................................................................20
3.4. Reports Section .................................................................................................................20
3.5. Charts Section ...................................................................................................................20
3.6. Scheduler Section..............................................................................................................21
3.7. Security Section ................................................................................................................21
3.8. Settings Section .................................................................................................................21
3.9. Migration Section..............................................................................................................21
3.10. Analysis Section..............................................................................................................21
3.11. Audit Section ..................................................................................................................22
3.12. Generalities .....................................................................................................................22
4. Management .................................................................................................................................24
4.1. Top & Bottom Bars ...........................................................................................................24
4.2. Entity Browser ..................................................................................................................25
4.3. Data Source Management .................................................................................................26
4.4. Report Management ..........................................................................................................29
4.5. Schedule Reports ..............................................................................................................37
4.6. Alerts .................................................................................................................................42
4.7. Scheduler Job Management ..............................................................................................44
4.8. Chart Management ............................................................................................................45
4.9. Drill Down Charts .............................................................................................................47
4.10. Drill Down Reports .........................................................................................................50
4.11. Advanced Drill Down .....................................................................................................53
4.12. External Drill Down ........................................................................................................54
4.13. Pivot ................................................................................................................................55
4.14. Analysis...........................................................................................................................56
4.15. Security Management .....................................................................................................63
4.16. Dashboard Management .................................................................................................66
4.17. Settings Management ......................................................................................................78
4.18. Data Migration ................................................................................................................83

3

.............4....................... Advanced Configuration .. Next Server Integration – Embedded Section .................. Adding logging events to database ...............99 4 ....................................................................................................................................................................... Next Server Profiles ............................93 5............. Next Server Properties ......1....................5......19..........85 4.........................................98 5.................... Next Server Integration – Synchronization Process .........6..................................................88 5......................................................................89 5...................................... Advanced Embedded Code ...............................................20.................................................................. Audit Internal Reports................................97 5. Adding support for other JDBC driver ......................90 5....89 5...........4.........3............2.............................................................

Introduction This paper describes the installation process and the usage of NextReports Server software application.1. What is NextReports Server 5 . 1.1 Chapter 1.

Derby. resulting entity being called “scheduler job”. charts. A dashboard is a one. 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. CSV. The generated report can be viewed from web. as indicators or as displays). reports. if one or more sent mails were entered at runtime or can be stored on other computers through protocols like FTP. the server can manage reports created with NextReports designer application and Jasper reports. Data is brought onto server machine through an ETL process inside a NoSQL database. A data source is used by reports and charts. A report can be referenced by one or more scheduler jobs. schedules reports to run at specific moments in time and monitors job execution. At every report update a new version is created. two or three column layout where user can add different widgets like charts. The server has a default dashboard to add charts and reports. MS Access. MSSql. NextReports Server has a multi-report engine. Such charts can be previewed from chart management section and can be added to a dashboard to be seen in real-time. EXCEL. A user and a group can be referenced by one or more Permissions. alarms. The mail can contain the link of the generated report or an attachment with the report. TEXT and XML. Dashboards. Such destinations can be Mail. RTF. MySql. SSH. 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. but other dashboards can be created in the container. SQLite. Reports. DOCX. WebDAV. 6 . A report can be scheduled to run at specific moments in time. PDF. NextReports Server supports charts created with NextReports Designer. SSH. a Scheduler Job entity must be created. Charts are also versioned. This job contains the report parameters values. Any version can be set as the current one and can be run. A referenced entity cannot be deleted until all entities that use it are deleted. EXCELX. Besides reports. tables. Windows Share. the reports can be exported in HTML. Scheduler Jobs. TSV. WebDAV or Windows Sharing. from retrieved mail. pivots. dashboards. So. NextReports Server allows for report versioning. Teradata. Pervasive.Introduction NextReports Server is a web application which manages data sources. PostgreSQL. At execution time. NextReports keeps a full history of generated reports To schedule a report. Server has an analysis module which allows users to play locally with data. the definition of the scheduler (when to run and which frequency) and the list of destinations where to send the results. a data source can be referenced by one or more reports or charts. Right now. Users can use this data to create some analysis (without designer involvement) and export them to excel. as alarms. indicators and displays (specific reports that can be represented as tables. The application will work with entities like Data Sources. Users. In full depth the server structure can be seen in the next image. Firebird. FTP. Charts.

default values or file names. Linux (Ubuntu). Conventions Some conventions used in this paper. 1. you should use only the chart types that are allowed for flash. For example. All charts from dashboards can be seen as HTML5 if browser supports it. If browser does not support HTML5 (like IE7. NextReports Server should run without problems on any operating system with Java support. File > Save This shows a menu selection. Windows 7. Italics style can be used to emphasize some words or to make some reference on other documents (books. Fixed font Text written in fixed font is used to show the characters that must be entered. System Requirements NextReports Server can run on any platform which supports Java 6 (See chapter 2. to indicate menu names and graphic components inside an application frame. Google Chrome 24+ and Opera 12+. ATTENTION This shows that you can obtain unexpected results if you do not follow the instructions 7 . select File menu. web sites).Installation). the messages that the system returns.3. Mozilla Firefox 15. The server was tested for the following browsers: IE 9+. Windows Vista. then select Save option. It was successfully tested on Windows 2000.2. IE8) a flash plug-in is needed to view them. Some chart types do not have a representation for flash.0+. Bold Text written in bold is used to show something of importance. Italics Text written in italics is changeable and must be replaced with something specific indicated in the explanation.Introduction 1. Windows XP. so if you really cannot update your browser to a recent one which recognizes HTML5.

exe for Windows users) 8 . For any other operating system there is a generic installation file with . Download NextReports Server can be downloaded from http://www.1-jre.0_21-b07) Java HotSpot(TM) Client VM (build 17.6.0 or if you receive the following message: java: Command not found.0-b17.sh extensions (see next image from installation process).1.0_21" Java(TM) SE Runtime Environment (build 1.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. To test the existence of JVM (Java Virtual Machine) on your computer.6. Setup 2. For Windows and Linux there are native installers.6. mixed mode. 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. sharing) This will show that there is a JVM installed on the computer.6.exe or .2 Chapter 2.1. If you have a version older than 1. 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. files with .exe for Windows users).zip extension.next-reports. If the version is newer than 1.com . 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 nextreportsserver-setup-5.

you can execute it directly to install NextReports Server on the computer.Setup 2.zip extension. The installation process must be done as an administrator. user must choose also a default location for data because all the data is kept to a user specified place.bat or run. you have to unzip the archive to a folder.jar This is also found inside a run. If it is a generic installation file with . After the setup file was downloaded.sh file. if it is a native installer for Windows or Linux. 9 . Install ATTENTION. Depending on your requirements you can modify the memory used by server. After selecting destination directory. enter to a command line terminal and from that folder enter the following command: java -Xms128m –Xmx512m –jar start.2. Here 128m represents the minimum memory used (memory allocated at startup) and 512m represents the maximum memory used.

Optionally a “stop key” may be entered to be used by the stop command. 10 . In next step. The installer will select some free ports and the user may click next. the background is red and the user may click ‘Get Ports’. By clicking ‘Check Ports’. If you want to keep more versions of NextReports Server. If a port is not free.Setup 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 use the older location at installation. 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. because changes in storage structure may be possible between versions. user configures some internal ports. Before installation you have to copy your storage folder to another location and use this folder at installation. The user has no need to know what ports are used or not. he can see if the default ports are free (green background). previous versions of NextReports Server may not work. you have to keep also a storage location for every version.

Setup Next. user can choose to install some demo data (a demo database. 11 . some reports and charts and a number of dashboards to show the main functionality).

Setup

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

Then installation process starts.

12

Setup

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.

13

Setup

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”.
For Tomcat server you should add reports.xml file (see following) in
/conf/Catalina/localhost folder:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/reports" docBase="D:/Server/apache-tomcat-8.0.5/reports/"
crossContext="true">
</Context>
In your apache folder you create a reports folder.

“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, DOCX, 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 startnextserver.vmoptions file. In this file, the jetty classpath is specified like this:

14

in conf/catalina.properties file there is a property called common. please contact us at next_support@asf. 15 . You should not forget to modify settings properties accordingly “Base Url”.name/.nextserver/reports For Tomcat server.class.loader.Setup -Djetty.ro.path=C:/Users/user.home}/reports". You should add at the end "${catalina. ATTENTION. “Reports Home” and “ Reports Url” For more information about changing default web server.

Be sure to change admin’s password after login with anything you like. user must have an email defined into NextReports Server account. user is forwarded to a page to enter his application id: To be able to change password. you can log using user admin and password 1 (one). users can login into application using their credentials: At first installation. By clicking it.4. 16 . otherwise it won’t be possible. If a user forgot his password. a link called “Forgot password” from login panel can be used. Login into application After a valid license is found inside your installation directory.Setup 2.

Login page can also contain a domain if NextReports Server is integrated in other applications and it synchronizes its users with external ones. password cannot be changed. NextReports Server Integration section from Advanced Configuration chapter. If user will click it in this interval and will confirm his new password.Setup After clicking send. This email contains a link which will forward the user to a page for changing password: The link from email is active four hours.3. To find more please read the 5. If this time expires. password is changed and user is redirected to login page to enter his new credentials. user is redirected to login page and an email will be forwarded to the specified user mail account. 17 .

Security and Settings.3 Chapter 3.1. by dragging them with the mouse. Charts. Sections NextReports has eight sections (tabs): Dashboards. Dashboard Section The Dashboards section is the place where user can add widgets (charts or reports) to view them in real time. charts and reports can be organized in a one. Monitor. By default there is a dashboard created called ‘My’. 18 . two or three column structure. Other dashboards can be created / deleted in this section. Scheduler. Inside any dashboard. Reports. Data Sources. 3.

History is shown for the current day. go to Scheduler tab and select “Go to report” action. a general refresh can be done for a dashboard. can see what were the parameters and even the query. Running reports and active scheduled reports can be stopped.Sections Any widget has a settings action from where it is possible to modify the values of parameters used. the active scheduled reports and the run history of all reports. Active scheduled reports which are not running can be forced to run now. if you want to see all history since a day till a selected date you have to select “Day range” from combo box. select “Run” action in Reports tab. Any widget has an individual refresh action. Monitor Section In Monitor section user will see the reports that are running (or are prepared to run). Inside history table user can see if the report was run with success or not.2. Also. For charts there is also a chart type property. and can see the result by clicking url link. Also. This is just a shortcut for the following flow: take active scheduled report name from Monitor tab. 3. 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). User can delete some history entries if he has the right to do it using “Delete Selected” button. User can also modify number of history entries per page by setting “Rows per page” field. 19 . The navigation dashboard panel from the left can be hidden to allow more space for the dashboard. If you want to see older history you can select other date from the calendar to see the history from that day.

they can also publish the data source.  Indicators: reports with a special “indicator” type. These reports can be added to dashboards as indicators (simple gauges). Charts can also be run from management table. Reports can be organized in folders. Charts Section Charts section is responsible for chart management. the user can test the connection to see if it fails or it is ok. In this server version. When adding a data source. Charts can be added to dashboards.3.5. A data source is needed for any report creation/modification. 3. Reports Section Reports section is responsible for report management. Any chart created with NextReports Designer can be uploaded on the server. These reports can be added to dashboards as alarms. These reports can be added to dashboards as displays (simple numbers). These reports can be added to dashboards as tables.  Displays: reports with a special “display” type. the user can upload two types of reports: Next and Jasper. Data sources can be organized in folders.  Alarms: reports with a special “alarm” type. 20 . When users publish reports or charts from NextReports Designer. 3. 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. Data sources Section Data Sources section is responsible for data source management.4. Charts can be organized in folders.Sections 3.

reports. may be introduced a list of destinations where the generated reports has to be distributed. Inside the job. settings were kept inside a nextreports. Migration Section This section is visible only for administrators. Such a result is the entire generated report or a link to the generated report. charts or scheduler jobs entities.0 inside internal content repository.7. A scheduler job contains the values of the runtime parameters and the scheduler properties needed to know when to run the process. One type of destination is email. Analysis Section This section is visible only if users have the needed rights. groups and emails to which the results will be sent. In previous versions. Another type of destination is alert which will send a mail only if a condition is met. 21 . Scheduler Section In Scheduler section the user will see all the scheduler jobs created when reports are scheduled. Administrators can import xml migration files into current repository. 3. charts and dashboards to xml files. grouping. In this section user can see if a scheduler job is active and the date when the next run will take place 3. Other types of destinations include FTP.8.10. filtering and new column creation. Security Section Security section manages users and groups.Sections 3. reports. Users can analyze data by playing with sorting. Settings Section This section is visible only for administrators.properties file. This section is visible only for administrators. Administrators can export data like data sources. SSH. 3. Here an admin can modify application settings which are kept from version 5. 3. Windows Share and WebDAV. Any user or group can be assigned some permission to any of the data sources. Job will contain a list of users. optionally.6.9.

user can create folders to organize its data.Sections 3. except Monitor and Dashboards. 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’. In every section. The search process will look for all entities whose ‘Name Contains’ a specific text.11. Report Management and Chart Management. Generalities For Data Source. ‘displays’ or ‘drill down reports’. For reports.12. Users can obtain NextReports Server internal data running one of the existing reports. ‘alarms’. Data can be saved as excel file. Search can also be ‘Case sensitive’ or not. For charts. For Reports the search can look also in the ‘Description Contains’ of that entity. user can search for entities. user can search for those with drill-down. user can search for ‘tables’. ‘indicators’. Audit Section This section is visible only if users are administrators and have the needed rights. 22 . 3.

Sections A result will show short information about what was searched and all entities that were found: 23 .

Here. in “Settings Management“chapter. the top bar contains some general actions for NextReports web application.4 Chapter 4. To change the password. Also. The top bar shows the name of the current user logged. 24 . the logo icon from login and top bar can be changed. the new password and to confirm the new password. user has to enter the old password. As you will see. The bottom bar shows in the right corner the current version and build of the application server. the current user can log out and can change his password. Top & Bottom Bars Any NextReports Server web page contains a top bar and a bottom bar.1. Management 4.

By selecting a folder. Add Next Report. Rename. There are three kinds of actions. 25 . Delete and Search) are actions taken for the selected entity tree folder. Left side shows the folders entity tree. 2) All actions from the popup menu over the ‘Actions’ columns are taken for the current table entity. All these actions are bulk actions taken for all selected entities. Entity Browser Every type of an entity can be managed through an entity browser. the entity table on the right side is refreshed with all the entities from that folder. 3) By selecting the checkboxes on the first table column.2. the actions from header table menu will change.Management 4. user can do (see previous image) : 1) All actions inside the header table menu (Add Folder. Add Jasper Report.

MySQL. A different jdbc driver is needed for any type of database. Data Source Management A data source entity has the following fields: Name field is mandatory and represents the data source name. Derby Embedded. The user can select one of the following types: Oracle. CsvJDBC. MSSQL Server. Such a driver is a software component (a file with jar extension) which allows to a java application to interact with the database..\WEB-INF\lib (where <NEXTREPORTS_SERVER_HOME> is the NextReports Server installation folder) there are some jdbc drivers that are installed by the application.Management 4. PostgreSQL. JNDI. SQLite. Firebird. URL 26 . Oracle-Service. In folder <NEXTREPORTS_SERVER_HOME>\.. field is mandatory and represents the information needed to locate the database to which we want to connect. field is the type of the database to which we will connect. Driver field is mandatory and represents the name of the driver java class. Type To connect to a database we need a jdbc driver. Oracle-Tns Name.3.

then we will see some information about the database in the zone Status like the database type. file extension. database version.Management Every jdbc driver has a standard format for this field. Their default values are 3 and 20. If the connection is valid. If the connection is invalid and cannot be established an error message will be printed in status. you have to verify the fields entered and to verify the physical connection with the computer where the database is stored – network. User field is the name of the user used to connect to the database. Users can connect to CSV files through a special JDBC driver. suppress headers (if column names are not inside CSV file). After all the fields are entered. driver version. 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 can choose properties like separator. driver name. Password field is the password used to connect to the database. before saving the data source. When user wants to create such data source by selecting the CSV driver a new “Properties” button can be seen: From here. The data source can be saved by clicking the button Save and after that it will be shown in the browser tree. In the case of error. firewall (if necessary). Min and Max pool size fields are used by the database connection pool. it is useful to test the connection to the database by clicking the button Test. column names and column types: 27 .

Management

Column names and column types must be separated by comma. Column type can be one of
String, Int, Double, Boolean or Date.
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)
ATTENTION. If JNDI type is selected users can connect to a data source using JNDI.
This requires to use WAR version of NextReports Server inside your application
server.

28

Management

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.

29

Management

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

30

and the new data source will be used at runtime.Management Any report can be updated and a new version is created through this process. description. you will have to add that user/group through the ‘Security’ action to a list of permissions. (See security management) 31 . 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. and with file and image files for Next. (See Report Versioning) The user can also change the data source of the report. query and all parameters. sub reports files. The downloaded file will be a zip with master file. the report information can be seen: report id. A report can be downloaded from the server. Through ‘Info’ action. parameters file and images files for Jasper.

From here the user can see all the generated reports. User can also remove some templates for a report if there is no need of them. 32 .Management ‘Versions’ action shows all the versions of the report. Parameters panel can be collapsed / expand using the arrow at the top. user has to check “Save as” option and to enter a name for it. the parameters are automatically filled. ‘Run History’ action will show the entire running history of the selected report. 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. Values templates are a way to extend on the server the “default values” feature specified at parameter creation inside designer. ‘Set as Current’ action will set the selected version as the current one. ‘Run’ action will ask the user to enter the parameter values. info and set as current. On every version the user can do one of the following actions: run. download. When user selects a template. If user selects a values template. allowing for example for a report with many parameters to have more selectable “default values”. To save a template. Template will be saved when user ends all wizard steps and clicks “Finish”. User can also save the values selection as a template and reuse this template at next runs. 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.

minutes. user is also notified to look inside Monitor section for what the reason was. If Last interval is selected user will be able to select how many days. For all the intervals the two dates will be automatically filled with the corresponding dates. Current Year. User will receive in the top right corner a notification that the report is running. Current Week. then values templates panel will show also a selectable time interval: This interval can be one of Yesterday. start_date will be the Monday of current week with hours. 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. This message contains the link of the generated report if no error occurred. milliseconds 999. Previous Year and Last. If an error occurred. user will also be notified about this through a message. seconds 59. Previous Week. optionally. minutes. After the running process is finished. seconds 59. Today. seconds and milliseconds equals to 0. After “Run Report” step. seconds and milliseconds equals to 0. Windows Share or WebDav protocols. 33 . while end_date will be the current day with hours 23. while end_date will be the Sunday of current week with hours 23. For example for Current Week. Current Month. Time or Timestamp. Previous Month. minutes 59. weeks. minutes 59.Management 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. milliseconds 999. 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.

This action works by default on Windows if the designer was installed. because the protocol (nextreports) isn't associated with any program" If you have installed a version since 5.1 was ever installed the browser will show a message like: "Firefox doesn't know how to open this address.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: 34 . If no designer from 5.Management ‘Edit in Designer’ action is visible for reports of type Next.

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). Same version of designer as server version must be installed 2.Management If you have installed the needed version of designer. you have to register the same version by yourself. ATTENTION. 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. the data source of the report will be downloaded to designer with a name like <datasource_name_on_server>@<server_ip>. you will be asked to save it also on the server. 35 . To succeed in editing a report from server action. the report will be published to server. designer will auto-connect to it and then the report will be downloaded and opened. because if you have two or more different versions of NextReports Server. For Linux. When you will save the report. this designer will be opened and the user is asked to enter server password. some conditions must be met: 1. edit action will open the corresponding designer. If the authentication is successful. By confirming.

36 . so for all reports that can be added to a dashboard.Management ‘Cache Settings’ action is visible for all reports that are ‘dashbordable’ or ‘alarms’. user can set an expiration time in minutes. This means. Any refresh called before will take data from cache. that such report inside a dashboard will reload its data from database only after the specified number of minutes. If ‘use cache’ is selected.

37 . but manual source can. running a report for current week for example will always compute start and end dates. the user must select the type of the scheduler. scheduler will take care of these two values to initialize them at every run. If in runtime step user selects a template with a start_date : end_date interval.Management 4. then it won’t matter if a template was selected or not. the user interface will contain for that parameter a checkbox named “dynamic”. Besides the parameters values and the optionally list of destinations for report.  If checkbox is checked. If these two parameters have manual source and we set them as dynamic. Parameter values will be computed at runtime when the query is executed. making unnecessary to have manual source for parameters and to set those parameters with dynamic flag. So. parameter component is disabled and user cannot select values for that parameter. The difference is that default source cannot contain other parameters. If a parameter has a default source or a manual source. Schedule Reports A report can be scheduled to run at any moment. in other words parameter values are static values. user will select values for parameter.5.  If checkbox is not checked. in other words parameter values are dynamic values.

So if you really need to access the file by name.Management This can be one of the following: - Once : the report will run only once at the specified date - Minutely : the report will run at every <n> minutes. third. FTP. WebDAV or Copy. meaning it cannot be known by users. The user must select either the days or the week days in which to run. you should use a ‘Copy’ destination. 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. 2. 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’. Windows SMB (Simple Message Block). 3. A report can be distributed to one ore more destinations like Mail. - Monthly : There are three types : 1. General : the report will run monthly in the selected hours at every <n> minutes or at the specified minute (for a specific minute ‘every minute’ must be set to 0). Day of Week : the report can be scheduled to run in first. Last Day of Every Month Every type (except Weekly) has an ‘Advanced’ checkbox which allows for more complicated job configuration. File name generated by server is unique and includes a timestamp and a random id. It is possible to specify in which week days to run. It is possible to specify in which months to run. fourth or last week day of the month. second. 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. SSH. ‘Copy ‘ is just a local copy of the generated file but with a file name specified by user. Files can also be distributed with a changed name specified by user. 38 .

39 . users or groups and the result as a link or as an attached report will be sent to all recipients: For FTP and SSH destinations. folder and optionally user name and password. user has to enter host.Management For Mail destination user will enter the mails. port.

in addition to ftp. This means that if a report has a single-selection parameter with a source and if this parameter is selected as a "batch parameter" then running it in batch mode will generate a report for every value of that batch parameter. like mail subject. All chained parameters that are children of batch parameter must be set as dynamic. Batch parameter must not be set as dynamic 2. display alert value $P{<parameter_name>} report run parameters values Scheduler can also contain a “Batch” step and users can run/schedule a report in batch mode. These two conditions are also written inside batch definition panel and are automatically set (overwritten) on save if user does not do it. ATTENTION. user can optionally enter a domain property. indicator. For Windows Share.Management For WebDAV. mail body and changed file name. 40 . user can specify also if connection uses https. Destinations also have a Test button to see if they are valid. Some strings from destinations definition. can contain template values. There are possible following template values: ${date} current date ${time} current time ${name} generated report name ${val} current value for alarm. To make this right there are two conditions that must be met: 1.

Batch Data Query is optional and it is needed only if we need to send every generated report to it's actual entity.Management Second field. But we can also select a To property if we also want to send all generated reports to a static email address. because it is dynamically set at run time. Mail Destination Step in this case is allowed to not define a To property. After the scheduler job is created the user is shown the Scheduler section where he can see all the scheduled reports. First column in query must be the same as that used in source for batch parameter and second is the email. 41 . called Batch Data Query. is a simple sql select that gives an email address for every entity from batch parameter.

an indicator or a display. 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.Management 4.6. Any alarm. he must add such alerts: Alert definition is similar to Mail but without a link or full report attachment. user will select a condition for the report’s value: 42 . When user schedules an alarm. indicator or display reports which are scheduled to run at a moment in time will have associated one or more alerts. inside destinations step. Instead.

In case of alarms. after the text entered by user. only then an email is sent to recipients. the message alarm. User can enter the actual value inside mail body using a template markup ${val}. message body will contain.Management Only if that condition is true when the report is run. 43 .

Management 4. Scheduler Job Management Inside scheduler section. To allow other users/groups to use this scheduler job. A scheduler job can be modified or deleted. The tooltip shows the full path of the report. the user can see some very important information about all the scheduled tasks:  Type : This field shows the type of scheduler. duration.7. Here we can see the start date. error message if any. 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. ‘Clone’ action is useful if user wants to create a new scheduler job from an existing one with minor changes. the report link if everything was ok. you will have to add that user/group through the ‘Security’ action to a list of permissions. 44 . end date.  Active : This field shows if the scheduled task is active. By cloning. (See security management) The ‘History’ action will show the scheduler job run history. ‘Go to Report’ action will move the user from Scheduler section to the Report section inside the folder where that report is found. The tooltip for it shows a verbose description. For any other type. if the report run with success or not. a new scheduler job with _clone suffix name is created and it is opened for modification.  Report : This field shows the name of the report scheduled.  Next Run : Shows the next date when the task will run. For scheduler type ‘Once’ this means run date is bigger than current date. it means the current date is between start activation date and end activation date.

Management 4. The user who uploaded the chart and any ‘admin’ user will be allowed to see this chart and will have full control on it. Chart Management NextReports charts can be uploaded to server. Any chart can be updated and a new version is created through this process. (See security management) 45 . A chart can be downloaded from the server. User will enter chart name. The user can also change the data source of the chart. description. the next report chart file and optionally a description. The downloaded file will be a zip containing chart file. the data source used by the chart. Charts can also be published directly from NextReports designer alongside with their data source. Through ‘Info’ action.8. the chart information can be seen: chart id. you will have to add that user/group through the ‘Security’ action to a list of permissions. query and all parameters. To allow other users/groups to use this chart. and the new data source will be used at runtime.

‘Versions’ action shows all the versions of the chart. ‘Set as Current’ action will set the selected version as the current one. download.4 Report Management chapter for more information. 46 . See reports management for explanation. info and set as current.Management ‘Run’ action will show the chart as a HTML5 or flash object. ‘Cache Settings’ allows for chart data to be taken from cache. On every version the user can do one of the following actions: run. ‘Edit in Designer’ action will allow editing the chart with NextReports Designer. With the mouse right click it is possible to select to save the chart as a local image. depending if your browser supports HTML5 or not. See 4.

9. First drill down chart will show the number of hours worked by each employee.Management 4. To create drill down charts you use "Drill Down" action on chart entities. 47 . 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. The number of levels to drill down is infinite. Second drill down chart will show the number of hours for each work code for selected project and employee. To create this first drill we add the chart with a "Project" link parameter which contains the project name x axis value. To create it we add a chart with an "Employee" link parameter which contains the employee name x axis value. we have a chart which shows the projects (x axis) and number of hours for every project (y axis). Drill Down Charts NextReports Server is able to show drill down charts inside dashboards.

48 .Management For every drill down level all selected parent parameters will be passed. 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. In our example. When we add the ProjectHoursBar chart to a dashboard. we won't see any difference to a simple chart. for second drill down chart.

Management But because this chart was created with a 2-level drill down functionality. 49 . a link called "Up One Level" is visible allowing for returning to the parent 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. we can select one project with the mouse and the next drill down chart will be shown: Here. under the toolbar. Also an “Up To Root” link allows users to go to the first chart. This is a good practice to know were we are in the drill down process.

To create drill down reports use "Drill Down" action on table report entities. The number of levels to drill down is infinite. In our case. NextReports Server is able to show drill down table reports inside dashboards. we also have to specify the column index from the table where projects are found. We also inform the 50 . 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.10. we have a table report called tableProjectHours which shows the projects and number of hours for every project. Using the same kind of example from “Drill Down Charts” section. First drill down report will show the number of hours worked by each employee. 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. In addition to charts drill down.Management 4. the table report icon will show this through a "link" bullet. ‘Project’ column is the first in the table. To create this first drill we add the report with a "Project" link parameter which contains the project name value. Drill Down Reports Like drill down charts process.

Management tableWorkcodeHours report that its parent tableEmployeeHours table report has the employee column as the second column of the table. The only difference is seen if we move the mouse over the values from the first column. 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. for second drill down report. For every drill down level all selected parent parameters will be passed. the project name will be also passed along with employee parameter. which contains the values to be passed to first link parameter from drill down. In our example. Those values are links and by selecting one the next drill down report will be shown: 51 .

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. 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). a link called "Up One Level" is visible allowing for returning to the parent report. Under the toolbar.Management 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. Even if you can design your table reports to show only data. 52 . Also an “Up To Root” link allows users to go to the first report. .

If you will use a pattern a ParseException will be raised. So you can drill from a chart to a table and from a table to a chart in the same manner shown in 4. you won’t be asked to enter a column index.9 chapters.8 and 4. So use this only if your business requires drill-down from chart to table and from table to chart. 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. You just have to select what kind of entity (report or chart) you want to follow. If first entity or last drill-down added entity is a report table. ATTENTION. you will be asked to select the column index where parameter values are found. In this case. so that when we click on a date string this can be parsed into a date object and passed to the child widget.Management 4. Depending on last entity selected. Even if this is possible. we need to have a column index (2 in our example). 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. you may be asked or not to select the column index used by table reports. Second drilldown entity is a chart. Advanced Drill Down You have seen in previously chapters how to create charts or reports drill down. 53 .11. NextReports Server allows defining any kind of drill-down order between charts and report tables. If first entity or last drill-down added entity is a chart. We can see that no column index is needed to drill from first chart to the report. it is a good practice to be consequent in your drill-down process. Dates inside table widgets are strings formatted as default using current locale. For example. because previously drill-down entity is a report.

12. you may be asked or not to select the column index used by table reports.com so the url from drill must contain just /order/${value}/info . 54 . In this case. drill url definition must contain only the relative path. this column will be shown. Url can contain also a markup ${value} which will be replaced with the clicked value. ATTENTION. 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. External Drill Down Besides charts and reports drill-down.Management 4. To use it. This should work very well with REST web applications. then this url will be used as a base url for any drill defined in NextReports Server. When “drill url” property from integration settings is set. otherwise it won’t. For example users may set “drill url” to be http://mydomain. If you have a table report as last drill before to add a url drill. depending on last entity selected. As you saw on Advanced Drill Down section. you have to select the type Url. NextReports allows drill-down to an external url.

Also. After adding a pivot to a dashboard. widget will look like the following: Initially all columns are unused. Even if you can add a pivot in any dashboard. he can set a function for that column between sum. Pivots can be created from any report. If user clicks on a data field. 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. To play with them just drag-and-drop a column to any of ROW. When user clicks “Compute” data will be displayed. avg. Pivot Inside dashboards user can add pivot widgets.13. max. By default the sum function is selected. 55 . after every compute the columns. count. min. COLUMN or DATA fields. functions and “show total” properties are saved so that when user returns to the dashboard all saved settings will be auto-loaded. You can also use detach mode if you need.Management 4. User can check “Show grand total for column” and “Show grand total for row” if he wants to see totals.

Inside Analysis section users can add new entities from those tables. meaning instead of generating a special kind of file. user can play with data. Analysis Analysis introduces to users the possibility to play with data. he will be able to see there the list of all ‘tables’ created by him through an ETL process. the NOSQL database will contain a new ‘table’ with name as : <user name>-<report name> If such process is run again on same report. the analysis object will show the entire data set. the results will be brought locally inside a NOSQL database. Initially. To be able to create analysis.14. From this point. after creation. When user clicks “Add analysis” button. users may select “Analysis Source” as output format. When a report is run or scheduled. users must bring the desired data locally through an ETL (Extract Transform Load) process. 56 . Practically. all data associated with it is first dropped and then the new data is brought on.Management 4.

users must use the following syntax: eval(“<operand1> <operator> <operand2>“) ATTENTION. a string concatenation expressions or an aggregate function. To concatenate two or more string columns into a single one. users must use the following syntax: <col1>.append(<col2>). To create an aggregate column. It is important to have spaces between operands and operators. In this case users will also have to play with sort and group columns to get the desired result.Management A. 57 . New columns can be created. users have to specify the result type. In all cases. Such new column can be for example a mathematical expression. users have to select one from expression drop down selection.append(<col3>) To evaluate an expression.

when the column header is clicked. 58 . If there are already some sort columns defined.NONE deselects all columns (useful in case user wants to select just one or two columns and initially all are selected) C. Analysis table also allows for sorting by clicking directly on the table columns header.ALL selects all columns . how to sort (ascending / descending) and in what order (Up / Down actions). this column becomes the first sort column and all other sort columns are kept. Using mouse drag and drop the columns can be moved around to change the order inside analysis table. Users can sort data Users can sort data by selecting what columns to use (Add) . Users can select what columns to see and in what order.Management B. Two help actions are present to make user experience easier: .

value can contain % character to substitute any sequence of characters. You must pay attention on how you define your groups in correlation with the sorting applied. To use date as value. To use LIKE / NOT LIKE operators. If you want to group by some columns and you want to see all records you should add as groups all columns. 59 . the standard ANSI format must be used yyyyMMdd (year/month/day).Management D. ATTENTION. Filter data Users can filter data using some criteria with different operators. E. Group data Users can group data by adding the desired columns (Add) and their order (Up / Down actions).

Its value can be a number between 1 and 500. Paginate Analysis table has a mandatory pagination which is by default of 20 records. character.Management In case of using operators like IN / NOT IN / BETWEEN the value field will contain the list of values separated with . F. 60 .

this process creates a new analysis object. Any other ETL process won’t change any data inside a frozen table. users are notified with a message: At the end. so when they return to that analysis they will see the obtained result. On start. 61 . Also.Management After the desired result is obtained. When save process is done. users are also notified: The new created analysis will have a special icon inside the analysis navigation list: To Excel will generate an excel (xlsx) file to be opened / saved by users. user can apply some actions. users are informed by a specific message: Freeze is a process that copies all data inside a new ‘table’ with a different name. Save will save the analysis object with all users’ selections.

so it is better to Rename it in such way it describes its usability. From here. Delete action will delete the analysis and if the table used by it is not used by any other analysis. then the table will also be deleted. users can execute different actions like Rename. Share or Delete. allows adding rights to other users to see the analysis as a link in their navigation panel.Management Users can see all analysis on the left navigation menu. 62 . Share action. Any analysis is created with a unique name so that users know what they did.

To create a user you have to enter name. password. Security Management Any ‘admin’ user is allowed to manage the security of the NextReports Server. User has a profile which specifies which sections he can see:  Analyst : all sections  Business user : Dashboards. Also it is possible to select to which groups the newly created user will make part. To create a group of users you have to enter a name and select one or more users.15. email and check or not admin flag. profile is not visible (it has no meaning). Reports. 63 . There is also a bulk action to modify profile for more users that are not administrators. Monitor sections  Reports : Reports and Monitor sections  Dashboards : Dashboards section For an admin user.Management 4.

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.Management Data Source. Permission can be one. 64 . the selected permissions will be also applied to all children folders and entities. Report and Scheduler Job are the entities of the application which can have permissions. Permissions can be selected individually or by checking ‘All’. or a set. which will automatically select the entire set. If ‘Apply recursively’ is checked.

and the user can create a report with that data source  for report/chart : the report/chart can be seen in the browser panel. 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). Read means:  for data source : the data source can be seen in the browser panel. 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. Security: this permission means the user will be allowed to change the security permissions for that entity. Delete: means the entity can be deleted. 65 . 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).Management Every permission has its meaning for an entity. and the user can see the report/chart information. IMPORTANT: There is a group called all. Write: means that the entity can be modified (updated) and also for report/chart that we can change the data source. and the report/chart can be run and the report can be scheduled.

display and pivot types. To add a widget inside selected dashboard. Through dashboard management.16. alarm. If you set a smaller column number. NextServer contains a single dashboard panel called ‘My’. Dashboard Management By default. indicator. alarms. pivots) can be dragged with the mouse inside the container up-down and leftright. Besides adding dashboards. user can refresh the whole current dashboard and he can add widgets to it. 66 . displays. All widgets from dashboards (charts. User can add more dashboards to the container. After this selection user can browse the corresponding tree of entities.Management 4. A dashboard can have one. user has to click the “Add widget” button. User can select between chart. Dashboards can be deleted. except the default one. Users can modify their dashboards with a different title and a different number of columns. indicators. two or three columns. user can organize his charts and special widgets. The layout of the container consists by default from two columns. you will be asked to rearrange the widgets found on the columns which will disappear. tables. table.

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: 67 .Management By selecting a report or a chart entity.

user has to edit chart settings and to press the “Reset” button from the dialog. Also. If this value is bigger than 0 than a refresh is done automatically after the number of seconds elapsed. After a timeout expires and widget was not able to render yet. Default timeout value is 30 seconds.Management - 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. 68 . To reset a widget to its default settings. any widget has a “Timeout” property in seconds. widget will show a timeout exception. Any widget has a “Refresh Time” property in seconds.

so even if we see the exception the actual query may not be finished in the database.Management ATTENTION. But be aware that query timeout success depends on jdbc driver implementation. This value is used to paginate the table in case there are many entries. A widget can be detached from a dashboard. A widget can be embedded as an iframe in other web sites. Default value is 100. All table widgets have a “Rows per page” property. In this way. Width and height for iframe can be specified. To generate the code there is an action called “Embedded code”. Widgets can also be copied or moved from current dashboard to other dashboard with ‘Copy / Move’ action: 69 . it can be maximized to full screen (using F11 key). Timeout property is also used for the database query.18 section to read more. In case you want to add parameters you can specify them like: $P{P1_Name}=<value>&$P{P2_Name}=<value> You can look in 4.

Any dashboard has a list of possible actions shown inside a popup when the mouse is over the actions icon. The navigation panel allows selecting any dashboard from the list.Management In this panel the user will see all his dashboards and all dashboards links to which it has write permission. there are two more possible actions: add a new dashboard and show some statistics about the number of different type of widgets used: 70 . Dashboard navigation panel can be hidden to have more space for charts. Selected dashboard will be marked with a different background color. The state of navigation panel (show / hidden) is saved for the current logged user. At the top of the navigation panel.

Management When you first login. A dashboard (except default one) can be shared to other users using the action with icon. the user can also modify anything in the dashboard. If it has “write” permission. If it has ”security” permission. and those users will see it automatically inside dashboard navigator. Any dashboard that is shared to current user has a specific icon with a link. A shared dashboard has at least “read” permission in order to be viewed by other users. the user can share it to others. Any dashboard can be set as default using the action with icon. 71 . you will see your default dashboard. A tooltip over that dashboard title will give information about the owner.

Inside dashboards user can add. alarms. This means that every user of a read-only shared dashboard has his own settings. besides charts. When a dashboard is shared only with “read” permission.Management ATTENTION. 72 . on a shared dashboard with “write” permission. but those values are kept just for him. By contrast. Any dashboard can be seen independently through an embedded url format that can be found on its popup menu actions. When this url is put inside a browser just the dashboard is visible without navigator and buttons. indicators and displays. the settings are globally kept. so any change is seen by all users. user can still change the settings. tables.

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. User can modify table setting (parameters values) if any. led color will be white. But after a sort user can generate an excel file. ATTENTION. User can also modify alarm setting (parameters values) if any. all of them must have default values The result will be a colored led with a status message. If no data is found. This sorting is not persisted. the report will not be shown in the “add table” selection.Management A table is created from a Next report which has to have some conditions: - If report has parameters. which contains the sorted data. result will consist from a led of white color. the last row will be used to take column names. By default. all of them must have default values - Report must have at least a row inside header band. ATTENTION. If alarm report structure is not as expected. If any of the above conditions is not met. so after any refresh it will disappear. If it has more rows inside header band. 73 . with widget’s Save action. from where the column names will be taken. all tables (whose reports have only one detail band) have a header with sortable columns.

The result will be a component like the following: 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). Also a unit may be present and this is added at the end of the values (like % in next example): A display is created from a Next report with a special structure (see NextReports Designer manual). The result will be a component like the following: In the example above. indicator shows you the current value (92). a minimum value (0) and a maximum value (100). This indicator’s role is to show a single value inside a defined interval. a small title (Visitors).Management An indicator is created from a Next report with a special structure (see NextReports Designer manual). 74 . This display’s role is to show a single value (on a period of time) or to show it by percent comparison with another value on a previous period of time. a description (per minute).

and you will be redirected to the specific section where the entity is selected with a different background color. you could set your end_date in the future to get all your data to present. then user will be able to see a dynamic check box flag near that parameter in Edit Settings dialog. but you could not set start_date to be always the last 7 days from current date. 75 . 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. This dynamic flag is the equivalent of the flag used in scheduler definition. you can use the “Go to entity” action. By selecting it.Management If you want to know the entity (chart or report) used by a dashboard widget. 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. 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. If you would not have a dynamic flag. Dynamic Settings If a widget’s query has a parameter with a source and/or a default source.

If there is only a widget inside the dashboard “Global Settings” is the same with the “Edit settings” action on that widget. “runtime name”.NextReports Server has a button to hide dashboards explorer . class. “Global Settings” will allow setting all general (global) settings to all the widgets. But we do not compare “mandatory”. “description” properties.CTRL+mouse wheel will allow to zoom-in/zoom-out the browser content Using the tricks above we make a dashboard like the following to be fully visible: 76 .Management Global Settings Every dashboard with at least one widget has a “Global Settings” action which can be seen in the top right corner. Pdf Capture Users can capture a dashboard as PDF. PDF file will contain a single landscape page with the visible part of the dashboard. selection. manual source. Users have a small number of tricks to make the dashboard full-visible: . But the most important properties seen in “Global Settings” are all the parameters that are the same inside all reports used by widgets. “Global settings” always contains “Refresh Time” and “Timeout” properties.Browser F11 button makes it to be visible in full screen . If more widgets are present inside a dashboard. This means all content which is not visible. because a scroll is involved won't be captured. default source and so on. When we say that two parameters are the same we must have the same name. By changing widgets with “Global Settings” users can be faster in updating all dashboard views with just a single action.

Management PDF capture will generate a file which contains the dashboard name and footer with generation date: 77 .

port.  Mail Server From : is the sender email  Mail Server User Name : user name for mail server if it uses authentication  Mail Server Password : password for mail server if it uses authentication  Mail Server Enable Tls : enable Transport Layer Security 78 . please be sure that you call from the same machine with that set ip instead of localhost. This property is also used for the url from where to read the generated reports and charts. Settings Management Any administrator can modify some application settings. application workspace. ATTENTION. a mail server must be configured. but you won’t be able to see the charts and the exported reports. You can also connect using localhost. mail server port and sender email must be entered.17.  Reports Url : The Url that will serve your generated reports. General Settings  Base Url : This is the server base url which contains the ip. That means mail server ip. Changing base url If you change base url with ip and port. users or individual recipients .  Mail Server Port : is 25 by default. The following properties can be modified: 1.Management 4.  Mail Server Ip : To allow sending generated reports by mail to a list of groups.  Reports Home : The folder where your server data is found.

 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 79 . /> Please be sure to stop the server. After that time a timeout will occur. before editing the file. After that time expires. Connection timeout 0 means no timeout is taken into account. SMTP Authentication You can have a special internal email address for NextReports (created by your admin) which does not need SMTP authentication. if the query is still running.  Auto Open : Is a Boolean value which allows for auto opening generated reports after run.. Any other properties for mail server can be added to the configuration file found in the following path: \webapps\nextreports-server\WEBINF\classes\scheduleContext. But.  Query Timeout : Represents the maximum time in seconds a query is allowed to run. if you really want to add SMTP authentication you can fill user name and password.. You should check this only if you have small times for reports running. 2. Query timeout 0 means no timeout is taken into account.Management ATTENTION. 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.  Update Interval : Represents the time in seconds after a refresh is done in some parts of the application.xml Here look for <bean id="mailSender" . a timeout will occur..  Connection Timeout : Represents the maximum time in seconds used to connect to a data source. like in Monitor or Scheduler sections.

New internationalization file can be added by user. To do this: 1) file must be named like NextServerApplication_<language>_<country>. New theme file can be added by user.  Color theme : There are three color themes which will modify some links and backgrounds.personalize.<language>_<country>=<name of language> 4.Management 3.personalize.language. To do this: 1) file must be named like theme-<color>.properties 2) file must be added where other i18n files are found: webapps/nextreportsserver/WEB-INF/classes/ro/nextreports/server/web 3) all i18n files must contain a new property: Settings. Romanian.theme-<color>=<name of theme>  Language : NextReports Server has internationalization support for following languages: English.theme. Application’s Look  Logo file : Logo file which is shown at login and in the toolbar can be changed from here. French.properties 2) file must be added where other theme files are found: webapps/nextreportsserver/WEB-INF/classes/ro/nextreports/server/web/themes 3) all i18n files must contain a new property: Settings. Thread Pool Settings 80 .

IFrame Settings  Enable iframes : Boolean values specifying whether iframes can be exposed to outside world or not 81 .Management  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.

: url of the resulted report  Secret key: If not null. Synchronization is configured through following properties: 7. defined by administrator. So.Management  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. you have to select the corresponding realm. url for integration will not allow login. this key.4. In that case those users will be imported to server content repository in a form of <user_name>@<realm> . 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. will be used inside integration url for a NextReports Server section iframe.4. Next Server Integration – Embedded Section) 82 .3. This ‘realm’ string (and all others) will be shown at login in a special combo box. (See Section 5. this ip will be used by integration url for a NextReports Server section iframe. (See Section 5. chapter) . Next Server Integration – Embedded Section)  White Ip: If not null. to connect with the user of a specific application. 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. If request header is not from specified ip.

all widgets from it are exported and for every widget the entity behind (report or chart) is exported. For a dashboard export. then all reports and charts from those links are also exported. charts and dashboards. If a report has drill-down links. then the data source used by that report will be exported too. if a report is exported.18. administrator has to select some entities like data sources. For example.Management 4. If an entity is selected for export. all referenced entities will automatically be exported. reports. 83 . To export data. Data Migration Any administrator can export or import data.

Administrator can import data using a migration xml file. Every user.Management Export process will create an xml file in the specified path. The name will be appended with _IMP_ and the current timestamp. If imported entity has an id which is not found inside repository. Because export and import processes must not interfere with repository modification. then the existing entity is updated. .and it ends with the export date. when such process is started the server is set to maintenance mode. Import process will automatically create a backup zip file for the current repository. except administrator. This page is similar with server error page which is shown if something wrong happened internally. This file has a naming convention: it starts with migration. will be redirected to a special page for the time of process execution. 84 . 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 is created. If an imported entity has an id identical with an entity from repository. then a new entity with a modified name (and path) is created.

List: shows all entities of a specific type ‘Rights’ reports will allow to select users or groups. Run: shows reports run on a specific period of time 3. Analysis and at last the needed permissions like : r (read) x (execute) w (write) d (delete) s (security) 85 .19. Charts. Schedulers. Rights: shows entities with specific rights for users or groups 2. Dashboards. then a list of entities like Data Sources. This data can be saved as an excel file. Audit Internal Reports Any administrator can run some internal reports to get valuable server data.Management 4. Reports. There are three kinds of reports: 1.

but users can filter (besides start and end date) using owner. failed): 86 . report path and status (all.Management ‘Run’ reports will show something similar to Monitor Run History. success.

Analysis): 87 .Management ‘List’ reports just get a list of all entities of a specific type (Data Sources. Reports. Dashboards. Schedulers. Charts.

Such string of parameters pairs is encrypted using an internal algorithm with a specific key that is defined in Settings. a full iframe code may look like: <iframe src="http://localhost:8081/nextreports-server/app/widget?id=25f6bc1f-0416-482faa2c-b1fc1029c214&width=520&height=320 &P=aGJxaU9lZDlqaE4zSmFaaGZTUmRQM1VXbXNpQ3g5blBETm5oUlhnZjN3Tj d3aVVhcnR0WU9BPT0" width=520px height=320px> </iframe> For table and chart widgets there are also some parameters which allow adjusting font size in concordance with iframe width. For table widget there are two parameters which can be specified inside url parameters: tableFontSize and tableCellPadding.2. A list of values is specified between brackets: $P{Project}=[1. Embedded code url can also contain some values for one or more parameters.3].20. The url can contain a parameters string defined as: P=aGJxaU9lZDlqaE4zSmFaaGZTUmRQM1VXbXNpQ3g5blBETm5oUlhnZjN3Tjd3aVVhc nR0WU9BPT0 The string is an encrypted representation of some (parameter. For chart widget there is only one Boolean parameter that is used to scale text fonts (title. any widget has an embedded code which can be used in an external html page as an iframe. value) pairs like: $P{Parameter_Name}=Parameter_Value The parameter string is automatically encrypted if user enters parameters in user interface. legends and axis labels): adjustableTextFontSize.Management 4. More pairs are separated by &. Advanced Embedded Code As you saw in previous chapters. 88 . So.

 repository.baseUrl = http://localhost:8081 This is the server base url which contains the ip. This property is also used for the url from where to read the generated reports and charts. Next Server Properties Some Next Server properties were already discussed in Management chapter section 4. Advanced Configuration 5. application workspace.  nextserver.home = . port. but from the application.home and nextserver.home}/data The folder were all data content repository will be kept First two settings nextserver. The reason they may also be found here is because they are requested at installation time.13.baseUrl must not be modified from here. 89 .AdvancedConfiguration 5.home = ${nextserver. Represents the home directory of next reports server application  nextserver..1.

CacheActionContributor ro.Profile"> <property name="name" value="reports"/> <property name="displayName" value="Reports"/> <property name="sectionIds"> <list> <value>section_class</value> .DashboardSection ro.web.web.CopyActionContributor 90 .nextreports.chart.monitor.security.datasource.schedule. “name” must not be modified.AdvancedConfiguration 5.security.server. Every profile has a list of visible sections (at least one must be presented) . the name you will see in user profiles list.nextreports.SchedulerSection ro.nextreports.action. .nextreports. contributor_class may be one of the following : General Actions ro. You can define your own profiles in securityProfiles.nextreports.nextreports.web.web. You can modify “displayName”.server.nextreports.server.xml configuration file found in <installation_folder>/ webapps/nexreports-server/WEB-INF/classes A profile is defined like this : <bean id="reportsProfile" class="ro.server.server.action.nextreports.ChartSection ro. . a profile can define a list of actions (contributors) which is optional.DataSourceSection ro.web.SecuritySection Also.report.web. .dashboard.ReportSection ro.nextreports. . section_class may one of the following : ro.nextreports.2. </list> </property> </bean> After you define a profile.MonitorSection ro. </list> </property> <property name="hiddenActionContributorIds"> <list> <value>contributor_class</value> .server.server.web.server.server. Next Server Profiles In 4.web.server.14 Security Management the existing profiles are listed.web.

web.web.schedule.nextreports.web.chart.web.web.action.report.nextreports.web.jasper.RunHistoryActionContributor ro.server.server.chart.server.nextreports.server.action.UpdateActionContributor ro.report.nextreports.SearchEntityActionContributor Chart Actions ro.chart.web.report.nextreports.web.nextreports.VersionsActionContributor Data Source Actions ro.web.action.chart.web.web.web.nextreports.chart.nextreports.nextreports.chart.nextreports.web.ChangeDataSourceActionContributor ro.server.nextreports.EditParametersActionContributor ro.schedule.DeleteActionContributor ro.nextreports.nextreports.server.server.chart.action.action.server.web.report.action.nextreports.server.action.server.nextreports.ModifyActionContributor Report Actions ro.action.nextreports.server.nextreports.nextreports.web.server.server.server.server.DownloadActionContributor ro.report.action.server.report.AdvancedConfiguration ro.GoToReportActionContributor ro.datasource.action.CreateDataSourceActionContributor ro.server.server.UploadChartActionContributor ro.action.action.web.action.server.web.action.server.web.nextreports.EditActionContributor ro.action.action.action.web.server.action.action.web.ChangeDataSourceActionContributor ro.action.nextreports.nextreports.DrillDownActionContributor ro.server.PasteActionContributor ro.nextreports.action.action.web.HistoryActionContributor ro.web.chart.schedule.action.InfoActionContributor ro.action.web.server.web.chart.RenameActionContributor ro.nextreports.web.CreateFolderActionContributor ro.action.UploadJasperReportActionContributor ro.report.server.server.web.InfoActionContributor ro.web.nextreports.DownloadActionContributor ro.nextreports.report.action.nextreports.action.server.RunActionContributor ro.ScheduleActionContributor 91 .datasource.server.RunActionContributor ro.nextreports.action.server.nextreports.web.CutActionContributor ro.ModifyActionContributor Scheduler Actions ro.jasper.

nextreports.VersionsActionContributor Security Actions ro.nextreports.dashboard.server.ModifyUserActionContributor ro.action.web.dashboard.action.action.security.web.dashboard.nextreports.action.UpdateActionContributor ro.action.SetDefaultActionContributor ro.ModifyProfileActionContributor ro.DeleteActionContributor To add a new profile or remove an existing one you have to update the list found in securityContext.web.EditActionContributor ro.server.web.web.nextreports.nextreports.nextreports.server.action.action.web.web.server.action.security.action.AdvancedConfiguration ro.nextreports.ShareActionContributor ro.nextreports.nextreports.report.action.server.server.UploadNextReportActionContributor ro.server.action.web.action.nextreports.web.SecurityActionContributor Dashboard Actions ro.nextreports.security.CreateGroupActionContributor ro.nextreports.server.report.action.security.web.action.server.nextreports.ModifyActionContributor ro.server.ModifyGroupActionContributor ro.server.web.nextreports.security.server. 92 .web.xml configuration file which is inside folder <installation_folder>/ webapps/nextreports-server/WEB-INF/classes.web.report.security.server.CreateUserActionContributor ro.report.server.dashboard.web.

nextreports.xsd"> 93 .4.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.org/schema/security" xsi:schemaLocation="http://www.springframework.0. To define the synchronization process. Next Server Integration – Synchronization Process NextReports Server can be integrated with other enterprise applications.0.4. password) and the queries used to bring users and groups to NextReports Server storage: <?xml version="1.org/schema/beans" xmlns:xsi="http://www.org/2001/XMLSchema-instance" xmlns:security="http://www.org/schema/security" xsi:schemaLocation="http://www.springframework. a synchronization process of all users and groups can be done.0" encoding="UTF-8"?> <beans xmlns="http://www. we create another configuration file called securitySynchronizer.springframework. user.security.org/schema/beans/spring-beans-2.springframework.xml which will define the connection properties (database url.springframework. Any external application will have a realm associated with Next Server.org/schema/beans/spring-beans-2.5.5.org/schema/security http://www.w3.org/schema/security/spring-security-2.org/2001/XMLSchema-instance" xmlns:security="http://www. NextReports Server uses the concept of realm.springframework.xsd http://www.springframework.springframework.springframework.org/schema/security/spring-security-2.springframework.springframework.xsd http://www. To define a new realm.0" encoding="UTF-8"?> <beans xmlns="http://www. first we have to create an xml file authenticationDatabase. which will be seen inside the login form page.server.AdvancedConfiguration 5.org/schema/beans http://www.xsd"> <bean id="databaseAuthenticationProvider" class=" ro.org/schema/beans" xmlns:xsi="http://www.org/schema/security http://www. To allow for same credentials to be used for NextReports Server as for external applications.xml : <?xml version="1.3.springframework.org/schema/beans http://www.w3.

realName" value="NAME"/> <entry key="user.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. will select just the names for all users. email.jdbc. A second query.server.admin" value="IS_ADMIN"/> <entry key="user.username" value="USER_NAME"/> <entry key="user. Only two of them are mandatory: username and password. userNamesQuery. 94 .jdbc properties --> <property name="URL" value="jdbc:oracle:thin:@<ip>:<port>:<sid>"/> <property name="user" value="user"/> <property name="password" value="pass"/> <!-.OracleDataSource" destroy-method="close"> <!-. Every property must be mapped to a database column. real name. You can offer also some optional properties like admin.password" value="PASSWORD"/> <!-.required --> <entry key="user.optional --> <entry key="user.nextreports. profile. userQuery.AdvancedConfiguration <bean id="syncUserDetailsService" class=" ro.profile" value="PROFILE"/> </map> </property> </bean> <bean id="syncDataSource" class="oracle. will select all user properties.email" value="EMAIL"/> <entry key="user.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> <!-.pool.security.

It is important to enter when to do the synchronization and to check “Run on startup“ and “Create users” properties. we will import them inside securityContext. password entered by user is encoded with MD5 and it is compared with the password string returned by query.15.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.ProviderManager"> <property name="providers"> <list> <ref bean="nextserverAuthenticationProvider"/> <!-.springframework.xml file: <import resource="classpath:authenticationDatabase. At login.xml"/> <import resource="classpath:securitySynchronizer. Empty realm is used for users created inside NextReports Server application.security.xml"/> Also you should add the external database authentication provider to authenticationManager bean: <bean id="authenticationManager" class="org.authentication.AdvancedConfiguration ATTENTION. 95 . If at least a realm is defined. User password returned by select must be encoded with MD5 algorithm. user can select it at login. To use these two defined configuration files.

Administrators from a realm will see anything from that realm. we will define similar authenticationDatabase. let’s call them authenticationDatabase-1. Administrators from NextReports Server without realm will see anything in the applications from all the realms. 96 .AdvancedConfiguration For using more realms. To see things outside their realm. they need to have permissions.xml and securitySynchronizer.xml.xml. securitySynchronizer-1.xml and we will add them as previously described to securityContext.xml. ATTENTION.

user can set the “White Ip” from Integration Settings which will allow for requests just from that ip. Next Server url is http://localhost:8081/nextreports-server/app/.4. If. First url request returns as response the jsessionId for authenticated session. 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).AdvancedConfiguration 5. jsessionid=<jsessionId > 97 . he can use an iframe with a special src attribute. The password parameter must be encoded with md5 and then got as a 32 character hex string. User must use this jsessionId in his next request: http://localhost:8081/nextreports-server/app/dashboards. 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). as example. 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. 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".

Adding support for other JDBC driver from designer manual. Adding support for other JDBC driver This process is similar with that for NextReports Designer. 98 .AdvancedConfiguration 5.5.4. Please read chapter 4.xml is found inside server in installation folder in \webapps\nextreports-server\WEB-INF\classes  java VM parameters for native installers are added inside startnextserver. The only differences are:  driver_templates.vmoptions file. for zip distribution they are added in run file.

xml there is a bean called auditor: <bean id="auditor" class="ro. ip. user name. This is very important because NextReports can generate reports over that database to get valuable information.nextreports. NextReports Server has an extensible auditor feature.nextreports. 1=error). besides the log auditor we can add a database auditor: <bean id="auditor" class="ro. date.audit.AdvancedConfiguration 5.MySqlAuditor"> <property name="dataSource" ref="auditDataSource"/> </bean> 99 .6. user name to grant for.audit.server. permissions and recursive flag. Inside securityContext. action. session. For some events there are also other properties. A database auditor can be defined to save all these events inside a database. Adding logging events to database By default NextReports Server outputs some events to log files with following action names:              Sign in Sign in failed Sign out Add entity Modify entity Delete entity Copy entity Move entity Rename entity Restore entity Grant user / group Revoke user / group Run report These events have some common properties like event id. level (0=info.server. error message. for "Grant user" there are entity path.CompoundAuditor"> <property name="auditors"> <list> <ref bean="logAuditor"/> </list> </property> </bean> In this list.CompoundAuditor"> <property name="auditors"> <list> <ref bean="logAuditor"/> <ref bean="dbAuditor"/> </list> </property> </bean> <bean id="dbAuditor" class="ro.server. For example for "Run report" there are report path and duration.nextreports.audit.

EVENT_DATE TIMESTAMP.AdvancedConfiguration <bean id="auditDataSource" class="org. EVENT_LEVEL INT(2) .mysql.datasource. For example. EVENT_VALUE VARCHAR(200) ) CREATE TABLE NS_AUDIT_SEQ( EVENT_ID INT UNSIGNED NOT NULL. EVENT_ERROR_MESSAGE VARCHAR(150) ) CREATE TABLE NS_AUDIT_CONTEXT ( EVENT_ID INT UNSIGNED. EVENT_LEVEL. EVENT_DATE. EVENT_USERNAME VARCHAR(50).jdbc. EVENT_SESSION VARCHAR(100).jdbc. common properties will be saved inside NS_AUDIT. EVENT_ERROR_MESSAGE) NS_AUDIT_CONTEXT (EVENT_ID. EVENT_NAME VARCHAR(50). EVENT_IP VARCHAR(20). EVENT_USERNAME.springframework. EVENT_VALUE) NS_AUDIT_SEQ As stated before. EVENT_ACTION.Driver"/> <property name="url" value="…"/> <property name="username" value="…"/> <property name="password" value="…"/> </bean> The database behind must contain two tables and a sequence:    NS_AUDIT (EVENT_ID. EVENT_NAME. 100 . EVENT_ACTION VARCHAR(30). EVENT_SESSION. for a MySql database we need to call following sqls to initialize: CREATE TABLE NS_AUDIT ( EVENT_ID INT UNSIGNED NOT NULL.DriverManagerDataSource"> <property name="driverClassName" value="com. while specific event properties will be saved inside NS_AUDIT_CONTEXT. EVENT_IP. CONSTRAINT event_pk PRIMARY KEY (EVENT_ID) ) INSERT INTO NS_AUDIT_SEQ (EVENT_ID) VALUES(0) You should also create an index on EVENT_ID column from NS_AUDIT.