Difference between revisions of "Overloading policies"

From TempusServa wiki
Jump to navigation Jump to search
old>Admin
old>Admin
Line 18: Line 18:


Important notes
Important notes
* The Context parameters can optionally be set inside the servlet container manager
* Changing overloaded policies inside the designer will have NO EFFECT at all
* Changing overloaded policies inside the designer will have NO EFFECT at all
* Please ensure the datatype fits Policy type, or the overloaded value will default to the installation value.
* Please ensure the datatype fits Policy type, or the overloaded value will default to the installation value.

Revision as of 19:54, 3 September 2013

Overloading policies

The server policies can be hardcoded into the deployment file for various reasons

  1. Ensure system values are not subject to change in the designer
  2. Ease environment replication: Just copy the whole database, and define environmental differences in a file.

Adding an overloaded policy

Policy overloads are placed inside the Context element in the deployment file, where the connection strings are placed too.

  • Tomcat: <tomcat root>/conf/Catalina/localhost/<application>.xml
  • JBoss:

The policy in question should use the following syntax:

  <Parameter name="Policy.XXXXX" value="YYYYY"/>

X = Name of the policy Y = Value of the policy

Important notes

  • Changing overloaded policies inside the designer will have NO EFFECT at all
  • Please ensure the datatype fits Policy type, or the overloaded value will default to the installation value.
    • For boolean values use "true" or "false"
    • String value " should be escaped normally
  • Policy overloads are loaded ONCE when the application is loaded by the servlet container.
    • If you change the values, you will need to restart the application or the container
    • All parameters are written to the server / application logfile upon startup

Example configuration

 <?xml version="1.0" encoding="UTF-8"?>
 <Context path="/TempusServa" swallowOutput="true">
   <Parameter name="Policy.applicationDisplayName" value="CustomerPortal"/>
   <Parameter name="Policy.doMainMenuAccordion" value="false"/>
   <Resource name="jdbc/TempusServaLive" auth="Container" type="javax.sql.DataSource"

...

 </Context>

Protecting the variables

By setting the special policy policyHideValues, overloaded are no longer visible from backend system.

   <Parameter name="Policy.policyHideValues" value="true"/>