The system comes with a number of configuration files that contain information about the installation. You can modify these files to customize your installation to meet your needs. A list of the configuration files appears below, along with a description of each one to help you make any necessary modifications.
On remote systems, the default folder for configuration files is C:\EdmWeb.
On central systems, the default folder for configuration files is C:\jakarta-tomcat-5.5.7\webapps\edm\WEB-INF\classes.
The config.xml file is the main configuration file for the system. It contains all the configuration settings for the system including references to other configuration files such as the menu file. A sample file is given below:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config>
<config
version = "3">
logCompanyName = "N"
<company
isCentralSite = "Y"
centralSiteNumber = "0"
centralSiteName = "HQ"
thisSiteNumber = "0"
thisSiteName = "HQ"
appFile = "app_Iris.xml"
schemaFile = "schema_iris.xml"
menuFile = "menu_iris_3.7.4.xml"
snapshotFile = "snapshots_iris_3.7.4.xml"
transientFieldFile = "transients_iris_3.7.4.xml"
transactionConversionFile = "convert_iris_3.7.4.xml"
licenseFile = "license.xml"
localSendDir = "Outgoing\%REMOTELOCATIONID%"
localReceiveDir = "Incoming\%REMOTELOCATIONID%"
remoteSendDir = "Outgoing\%LOCALLOCATIONID%"
remoteReceiveDir = "Incoming\%LOCALLOCATIONID%"
ftpHostClass = "edmserver.ftp.FTPHostPSI"
sessionTimeoutMinutes = "-1"
sendStatusTransactions = "Y"
promptForCommitOnClose = "Y"
useUpdateButtonForSingleSite = "Y"
regularExpressionFiltering = "Y"
transactionServerURL = "http://somehost:8080/edm"
irisItemImageDir = "Iris/Images">
irisItemSoundDir = "Iris/Sounds">
<systemDataSource
name = "EdmWebHQ"
version = "1"
type = "SQLSERVER_JDBC"
database = "EdmWebHQ"
server = "localhost"
user = "sa"
password = ""/>
<dataSource
name = "IRIS"
type = "SQLSERVER_JDBC"
database = "IRIS"
server = "localhost"
trusted = "N"
user = "sa"
password = ""/>
<schedule
frequency = "DAILY"
time = "4:00 AM"
task = "SendRemoteFiles( true, '*', '', '-Remote File Package', '', true )" />
<schedule
frequency = "DAILY"
time = "4:30 AM"
task = "PurgeAuditTrail( 14 )" />
<schedule
frequency = "DAILY"
time = "5:00 AM"
task = "ProcessTransactions('*')" />
<serverPlugin class = "edmserver.plugin.UserServerPlugins"/>
<clientPlugin class = "edmclient.plugin.UserClientPlugins"/>
<clientPlugin class = "edmclient.plugin.IrisClientPlugins"/>
<copyright text = "Java Runtime Environment Copyright 1996-2004 by Sun MicroSystems, Inc."/>
</company>
</config>
The property names have the following meanings:
To set up EDM to use security values from an LDAP, EDM may be configured using the LDAP Configuration Tool. This form asks for the LDAP IP, the LDAP port, the base context ("o=edm" by default), an ID that can read the EDM information from the base context, and a password for that ID. For security, this information will be stored in an encrypted format. When this is filled out and saved, the system will log you out automatically and require you to log in with the LDAP information. Thereafter, all of the permissions and roles will come from the LDAP.
If LDAP has been configured, in the top node, the following attributes will appear.
(Note: New users may have this set up under the Configurations menu. Upgrading users can add this menu item to their menus by selecting the menu, right clicking a menu item and selecting "New Item Above..." or "New Item Below...", and filling out the dialog with a name such as "LDAP Configuration" and the command of "showLdapPropertyForm()".)
For additional information, see the LDAP page.
The system can read systemDataSource and dataSource attribute values from the windows registry by setting the value of the property to a special string such as the following:
?Registry_Key=Software\\Application;Value=ConnectString;Substring=DB
When the system sees a property that starts with ?Registry_Key= it know that it should read the property value from the specified key following the equals sign (=). The property value string must start with ?Registry_Key= followed by the registry key name and a semicolon. Then the value must contain Value= followed by the registry value to read from the specified key followed by a semicolon. Optionally, the value can contain Substring= followed by the particular substring to extract from the registry value when it is in the format key1=value1;key2=value2;… such as an ODBC connection string. The sample property value above reads the ConnectString value from the Software/Application key to get an ODBC connection string and then extracts the DB substring from the connection string to get the name of the database to use as the property value.
The system enables users to set up multiple companies to help organize the data at headquarters. For example, if you have a pizza concept and a coffee shop concept, you can set up two companies so that each concept has its own central database of data. Each company has its own central database and can have different tables, forms, and menus also. To set up an additional company take the following steps:
Open config.xml with a text editor.
Copy the company section (from “<company” to “</company>”) to the clipboard.
Paste the copied company lines at the end of the file between the “</company>” line and the “</config>” line.
In the new company section, change the 'centralSiteName' property to a new company name.
In the new company section, change the 'thisSiteName' property to the same new company name.
In the new company section, change the 'schemaFile' property to a new name (for example schema_newcompany.xml).
If the new company will have a different main menu, change the 'menuFile' property in the new company section to the new file name.
If the new company will have different table lists, change the 'snapshotFile' property in the new company section to the new file name.
If the new company will have different transient fields, change the 'transientFieldFile' property in the new company section to the new file name.
If the new company will have a different data conversions, change the 'transactionConversionFile' property in the new company section to the new file name.
In the new company section, change the 'localSendDir' property to a new folder (for example “Outgoing\NewCompany\%REMOTELOCATIONID%”).
In the new company section, change the 'localReceiveDir' property to a new folder (for example “Incoming\NewCompany\%REMOTELOCATIONID%”).
In the new company section, change the 'name' attribute of the 'systemDataSource' property to a new data source name (for example “EdmWebHqNewCompany”).
In the new company section, change the 'database' attribute of the 'systemDataSource' property to a new data source name (for example “EdmWebHqNewCompany”).
Close and save the config.xml file and restart the Apache Tomcat service. When you log in, you will be prompted to select a company. To switch from one company to another, simply log out and back in or click the 'Switch Company' button if it's available.
The system uses named lists of tables called “snapshots” for various tasks such as requesting a table refresh for a list of tables, copying the data from a list of tables from one location to another, etc. The snapshots are saved in an XML file in the same folder and the config.xml file. Users can edit this file with a text editor to add, change, and delete snapshots as the need arises.
A sample snapshot file with two snapshots, “Item Tables”, and “Price Table”, is shown below:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE snapshots>
<snapshots version="1">
<snapshot name="Item Tables" >
<table name="IRIS_dbo_tbl_ItemMaster" />
<table name="IRIS_dbo_tbl_ItemModifiers" />
<table name="IRIS_dbo_tbl_ItemAttachments" />
<table name="IRIS_dbo_tbl_ItemCatLinks" />
<table name="IRIS_dbo_tbl_ItemCategories" />
<table name="IRIS_dbo_tbl_ItemFuturePricing" />
<table name="IRIS_dbo_tbl_ItemLinks" />
</snapshot>
<snapshot name="Price Table" >
<table name="IRIS_dbo_tbl_ItemPricing" />
</snapshot>
</snapshots>Users can edit the snapshot file and the system will use the modified file without restarting the web server.
The “name” attribute of the snapshot element gives the name of the snapshot which the system will display when prompting the user to select a snapshot.
The “name” attribute of the table element gives the name of a table in the snapshot. A table can appear in any number of snapshots and duplicate table names within a snapshot will be ignored.
To add a new snapshot, take the following steps:
Find the folder containing the system configuration files. On
remote systems this is usually C:\EdmWeb. On central
systems this is usually
C:\jakarta-tomcat-5.5.7\webapps\edm\WEB-INF\classes.
Use a text editor to edit the snapshot_app_version.xml file in the configuration file folder.
Add a new snapshot element just before the final </snapshots> element containing the desired tables as below:
<snapshot name="My New Snapshot" >
<table name="first_Table_Name" />
<table name="second_Table_Name" />
</snapshot>
Close the text editor and save the modified file.
To change an existing snapshot, take the following steps:
Find the folder containing the system configuration files. On
remote systems this is usually C:\EdmWeb. On central
systems this is usually
C:\jakarta-tomcat-5.5.7\webapps\edm\WEB-INF\classes.
Use a text editor to edit the snapshot_app_version.xml file in the configuration file folder.
Find the snapshot you want to change by looking at the name attributes.
Change the snapshot by editing the table name, or adding or removing tables.
Close the text editor and save the modified file.
The main menu is stored in an XML file in the same folder as the config.xml file. The menu file is usually named menu_app_version.xml where app is the name of the application being managed and version is the version number of the application. For example, in a system set up to manage the IRIS POS system version 3.5, the menu file will be called menu_iris_3.5.xml.
The top level menu and each sub-menu have a name attribute which is displayed in the left window of the main menu. Each menu item element has a name and an action. The name is displayed in the right window of the menu and the action is what the system does when the user selects the item on the menu. Users can edit this file to add new menus and items and change or delete existing menus and items. Note that all possible menu items are in this one file, to limit which menu options a user has access to we use the security settings.
A partial menu file is shown below:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE menu>
<menu name="Enterprise Data Manager for IRIS 3.7.4">
<menu name="POS Data">
<item name="Item Master" action="Open( 'Form', 'tbl_ItemMaster 374PR10' )"/>
<item name="Item Pricing" action="Open( 'Form', 'tbl_ItemPricing 374PR10' )"/>
<item name="Alternate Child Item Pricing" action="Open( 'Form', 'tbl_ItemPricing_Child' )"/>
<item name="Item Pricing by Category" action="Open( 'Form', 'tbl_ItemPricing Category Selector' )" />
<item name="Item Modifiers" action="Open( 'Form', 'tbl_ItemModifiers 374PR10' )" />
<item name="Menus and Buttons" action="editIrisMenus( 1 )"/>
</menu>
...
<menu name="Configuration">
<item name="Edit Remote Table List" action="Open( 'Form', 'CDMRemoteTables' )"/>
<item name="Edit Remote File List" action="Open( 'Form', 'CDMRemoteFiles' )"/>
<item name="Load Central Schema" action="LoadCentralSchema( '', '', '', '', '', '', '' )"/>
<item name="Load Central Data" action="LoadCentralData( '', '', '' )"/>
<item name="Set Log Level" action="SetLogFileLevel('')"/>
</menu>
</menu>If the menu file is modified, the system will need to be restarted to load the changed menu. On central servers running the Apache Tomcat web server, restart the Apache Tomcat service using Control Panel - Administrative Tools - Services. On standalone systems that are not running on a web server, the next time the system is started it will read the modified menu file.
Users can edit the main menu by editing the XML file directly or they can change the menus and items on the EDM main menu by simply right-clicking the menu or item and selecting "Edit". Menu editing options available after right-clicking a menu are:
New Menu Above... - Insert a new menu above the selected menu.
New Menu Below... - Insert a new menu below the selected menu.
New Submenu... - Insert a new submenu of the selected menu.
New Menu Item... - Insert a new menu item as the last child of the selected menu.
Edit Menu... - Edit the menu name.
Cut - Cut the menu to the clipboard.
Copy - Copy the menu to the clipboard.
Paste Above - Paste the menu from the clipboard above the selected menu.
Paste Below - Paste the menu from the clipboard below the selected menu.
Paste Child - Paste the menu from the clipboard as a child of the selected menu.
Delete Menu... - Delete the selected menu.
Menu editing options available after right-clicking an item are:
New Item Above... - Insert a new menu item above the selected item.
New Item Below... - Insert a new menu item below the selected item.
Edit Item... - Edit the item name and action.
Cut - Cut the item to the clipboard.
Copy - Copy the item to the clipboard.
Paste Above - Paste the item from the clipboard above the selected item.
Paste Below - Paste the item from the clipboard below the selected item.
Delete Menu... - Delete the selected item.
The system supports using Comet (HTTP push) to notify users instantly when notifications are sent out in both Tomcat 6 and Tomcat 7. If Comet notifications are not enabled, then the applet pings the server every 15 seconds checking for notifications. To enable Comet notifications add either the CometServlet6 or CometServlet7 to the webapps/edm/web-inf/web.xml file as follows:
<servlet> <servlet-name>cometservlet</servlet-name> <servlet-class>edmserver.CometServlet6</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>cometservlet</servlet-name> <url-pattern>*.comet</url-pattern> </servlet-mapping>
The other configuration files referenced in config.xml are described below. They are normally not edited directly by the user.