Tuesday, January 17, 2012

Keep Settings inside Storage

Every application needs configuration. If configuration must be accessible by users of the application, then you have to persist all your properties.

NextReports Server kept its properties inside a property file. Some problems with a file approach are:
  • you must know where the file is located
  • after any modification it may be needed to restart the application
  • after any new version installation you need to copy your old property file

Starting with 5.0 version, server has a new Settings section visible by administrators. All settings are now kept inside JCR storage and the problems with the file approach were removed:
  • we know where the place to modify application settings is
  • after properties modification there is no need to restart the server (except for some that must be defined also in your web server configuration)
  • when a new installation (update) is done, by specifying the old storage path, you have by default all your previously settings


Settings are arranged by categories : general, thread pool, application look, jasper, synchronizer. Information or attention about properties are offered through tool-tips.  Only three properties require a restart of the server because you also have to modify something in your web server configuration files. These are:
  • Base Url: if you change this you maybe have to talk to your network administrator
  • Reports Home: “reports” folder must be in web server class path. For default Jetty server used, inside the installation folder you can find a start-nextserver.vmoptions file. In this file, the jetty class path is specified like this:         
    -Djetty.class.path=C:/Users/user.name/.nextserver/reports
  • Reports Url: “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:
   /reports
   C:/Users/user.name/.nextserver/reports/
           which tell us that reports found at “resourceBase” on the hard disk can be served by the web server’s “contextPath”.

No comments: