The superuser admin can configure server-wide global data. One common use is for forms deployed from a development/test form server to a production form server. You often need information such as URLs configured one way in your dev/test environment and another way in your production environment. For example, a database in the dev/test environment might be located at http://mytest:1024/database/listManagers and in your production environment at http://myprod:1044/database/listManagers.
makes deployment from dev/test to production easier by enabling you to configure global data variables. For example, rather than hard-coding the URL to your database server you can write the URL using a template such as {dbUrl}/database/listManagers. Then define variable dbUrl one way in dev/test and another way in production.
To see all the places where templates can be used, refer to the chapter Templatized Strings.
On This Page:
Setting Global Data in _data properties file
To define your server-wide global data:
- Click the Download icon. This will download an empty default _data.properties file.
- Add your global data to the _data.properties file. See below for an example of the syntax. Save the file.
- Login to the form server as the superuser admin
- Click Manage Default _data
- Click Browse...
- Locate your newly created _data.properties file.
- Click Upload.
- For subsequent edits of the _data.properties file, simply download the _data.properties file previously uploaded by clicking on the Download icon. Edit the file and upload the modified file as described above.
Here is an example of the syntax for a _data.properties file:
dbUrl=http://localhost:8080/database/listManagers ManagerName=Joe
You will see the following message when the _data.properties file has been successfully uploaded to :
- Parameters defined in the _data.properties file can be retrieved using _data.getParameter in rules. Dynamic Labels, Help or Hints is an example showing how you can set the value of control labels, help and hints dynamically in a rule.
Template Validation
Template Validation supports any properties locally available in the global _data managed by the super admin user. The _data property names that match a partially entered template name will be offered in the dropdown of matches. Any _data used on the URL at runtime is not supported (and will not validate) with this functionality because it is not known at design time, only runtime. A global _data property used in a template in a form/flow that is downloaded and uploaded into another frevvo instance that does not have that _data property will be flagged as an invalid template. In this situation, the designer can either ignore the error, update the default _data properties or, if the validation is for a flow/form or flow step property that prevents saving the properties, add a hidden control of the same name so that validation passes.
Setting Global Data in Configuration Files
Properties listed in the _data.properties can be overridden with properties prefixed by frevvo._data.<property name> in the following configuration files. Note the syntax for the properties has a dot before and after the _data.
- If you are using the frevvo tomcat bundle, you can add the frevvo._data properties in the:
- frevvo-config.properties - this file is typically created by the System Administrator to override parameters in a container web.xml file.
This approach is helpful when deploying multiple environments. Let's say your organization has a Development, Production and UAT environment for . All three have the frevvo DB Connector configured for that environment. If you make a copy of Production environment and database to create your UAT environment, you would have to download the _data properties file, make the changes to point to the DB Connector in the UAT environment, then upload the file again.
It is easier to create property files with a frevvo._data.dbURL parameter pointing to the correct locations for each environment.
This parameter in the frevvo.xml file would look like this:
<Parameter name="frevvo._data.dbURL" value="http://<server>:<port>/database/listManagers" override="false" />
The same parameter in the web.xml file would look like this:
<context-param> <param-name>frevvo._data.dbURL</param-name> <param-value>http://<server>:<port>/database/listManagers</param-value> </context-param>
The same parameter in the frevvo-config.properties file would look like this:
frevvo._data.dbURL=http://<server>:<port>
As mentioned above, you can write the URL using a template such as {dbURLl}/database/listManagers. Then define the variable dbURL for the development, UAT and Production environments in the properties file you are using..