DB Management
DB Management – OI Maintenance
Applications
1. From the O4W Main Menu select DB Management.
2. From the DB Management Menu select OI Maintenance.
3. From the OI Maintenance Menu select Applications.
4. In the textbox provided enter the name of the application you want to create. Application names must be in CAPS. Select the application name you want your new application to inherit from. Click the Create Application button create your new application.
Tables
1. From the OI Maintenance Menu select Tables.
2. The Currently Attached tab displays all tables attached to the application that O4W is logged into. You can sort the columns by clicking on the column name.
3. From the Attach Tables tab you can attach tables to the application that O4W is logged into.
4. Select a Volume from the drop down box provided.
5. Click on the checkbox of the tables that you want to attach and click the Attach Table(s) button.
6. Clicking Attach Table(s) will attach and update the database.
7. Please note that if you have multiple engines running, these engines will not see the newly attached tables. It is highly recommended that the OEngineServer service be stopped and re-started to close any running engines.
8. From the Detach Tables tab you can detach tables from the application that O4W is logged into.
9. Select a Volume from the drop down box provided.
10. Click on the checkbox of the tables that you want to detach and click the Detach Selected Table(s) button.
11. Clicking Detach Selected Table(s) will detach and update the database.
12. Please note that if you have multiple engines running, these engines will not see the recently detached tables. It is highly recommended that the OEngineServer service be stopped and re-started to close any running engines.
13. From the Create Table tab you can create tables. Enter the table name in the text box provided and click the Create Table button.
14. Clicking Create Table will create the table and update the database.
15. Please note that if you have multiple engines running, these engines will not see the recently created tables. It is highly recommended that the OEngineServer service be stopped and re-started to close any running engines.
16. From the Dictionaries tab you can add, modify or delete dictionary items.
17. Select the table from the drop down box provided and click the Go button to continue.
18. Click the Add Data Column button to add a new dictionary to the selected table.
19. Below is the property form for editing or creating a dictionary data field.
20. The Data Types are as follows:
21. The Output Conversion types are as follows:
22. The Input Conversion types are as follows:
23. The Default Value types are as follows:
24. The Display types are as follows:
25. Click the Add Calculated Column button to add a new calculated column to the selected table.
26. Below is the property form for editing or creating a dictionary calculated field.
27. The Data Types are as follows:
28. The Display types are as follows:
29. The Output Conversion types are as follows:
30. To edit or delete an existing Data Column click on the button in the Edit? Column for that dictionary item.
31. To delete and existing Data Column click on the Delete button.
32. To edit or delete an existing Calculated Column click on the button in the Edit? Column for that dictionary item.
33. To delete an existing Calculated Field click on the Delete button.
34. From the Indices tab you can add, update or remove indexes.
Procedures
From the OI Maintenance Menu select Procedures.
From the drop down box select the stored procedure you want to edit or enter the name of a stored procedure you want to create in the textbox provided. Stored procedure names must be in CAPS.
From this limited editor you can create, edit, compile or delete your OpenInsight stored procedures.
DB Management – O4W Maintenance
Permissions
From the O4W Maintenance Menu choose Permissions.
From the O4W Permissions Management form you can delete an existing permissions record by clicking the Del button. You can insert a new permissions record by clicking the Ins button. Permissions name and level can be set.
Messages
From the O4W Maintenance Menu choose Message File.
To add a new message click the Add New Record button. To edit an existing message click on the Message ID.
The Message Text can be entered in the textbox provided.
RSS Feeds
From the O4W Maintenance Menu select RSS Feeds.
Select an RSS Feed to modify or enter the name of a new RSS Feed.
Feed title – Enter or modify the title for this RSS feed.
Feed Description – Enter or modify the overall description for this RSS feed.
Site URL – Enter or modify the URL for the overall site (not the feed).
Feed URL – Enter or modify the URL for the RSS feed itself.
Feed Filter Subroutine – If desired, enter or modify the name of an optional stored procedure to filter which records are returned by the RSS feed.
Maximum numbers of feed items to retain – Enter the maximum number of individual items to retain in the RSS feed record. Note that each user’s RSS client will also maintain its own maximum number of items, and so there is little benefit to making this a very large number.
For more details on the various values that can be specified for these parameters, please see the API documentation for O4WRSSPublish.
Configuration Records
From the O4W Maintenance Menu select Configuration Records.
Revelation Software, in the O4W product, provides some standard routines to perform common O4W tasks; however, these tasks may need to be modified for your individual circumstances. O4W therefore includes “hooks” where you can replace the provided routines with your own, customized stored procedures.
You may replace the following routines:
- Security authorization procedure (which verifies that users are allowed to “log in” to the O4W system, and checks that their entered password matches the password on-file). The authorization routine is a function that takes 2 parameters, the username and password as entered by the user; it returns the “permissions level” of the user, or null (“”) if the username and password were not correct
- Permissions authorization procedure (which verifies that users have permission to access a particular routine). The permissions routine is a function that takes 2 parameters, the required permissions level and the “session information” (a dynamic array containing the username in field 1); it returns 1 if the user should be allowed to execute the desired procedure, 0 if the user needs to log in, and -1 if the user should not be allowed to execute the desired procedure
- Table/Field filter procedure (which returns the list of tables, and fields within those tables, that the user can access). The filter routine is a function that takes 3 parameters, the name of the procedure that’s calling the filter, the “session information” (a dynamic array containing the username in field 1), and an optional “table name”; it returns an @VM list of tables this user should be able to select from in this procedure (if table name is null), or an @VM list of dictionary items this user should be able to select from in this procedure (if table name is not null)
- Message suffix procedure (which returns the suffix to apply to the message codes used in O4W, so that (for example) different language sets of messages can be retrieved). The message suffix procedure is a function that takes no parameters; it returns the suffix that should be appended to the message key to return the message text
- Read/Write lock procedure (which performs the “optimistic locking” that O4W uses to ensure data integrity). The read/write lock procedure is a function that takes 6 parameters: the action to perform, the table handle, the record ID, the optional record data to write (or the record that was read), the handle to use to refer to this lock, and optional extra parameters; it returns a status result (null if the operation proceeded without error)
- Default table pagination/sorting procedure (which handles pagination of table data). The pagination routine is a subroutine that has 10 parameters, and is designed to manage both pagination of table results and optional sorting of data columns within the table. Please refer to the provided source code for O4WI_TABLEPAGERLOCAL and O4WI_TABLEPAGERPLUGIN for details on how to create a pagination handler.
- Login UI procedure – If desired, developers can create their own O4W routines to replace the provided O4W login page. This option is provided so that developers can customize the user interface. Note that the replacement UI procedure should be co-ordinated with replacement security authorization and permissions authorization routines
- RSS default feed filter procedure – The O4W RSS feed provider includes the ability for each feed to be “filtered” by a stored procedure, as defined during the RSS creation process (see O4WRSSPUBLISH for details). If desired, a default filter stored procedure can be specified; feeds that do not contain a specific filter would then use this default procedure. The filter can be used to restrict which values are returned as part of the RSS feed, so that sensitive or out of date information can be removed (or alternatively so that new dynamic information can be added).
Source code for the O4WI_AUTHORIZE, O4WI_FILTER, O4WI_LOCKHANDLER, O4WI_TABLEPAGERLOCAL and O4WI_TABLEPAGERPLUGIN routines has been provided; please be sure to COPY and RENAME your modified routines if you make any custom modifications.
The Scripts tab defines the essential scripts needed for O4W to run, and the initial scripts that all O4W routines should include. The essential scripts can be obtained “on line” via Google’s hosted repository (Google Content Delivery Network, or CDN), or you can use copies of the scripts loaded on your system. Specify the source for the jQuery scripts, and if necessary override the URL or path for the files. You must also select which version of jQuery and the jQuery User Interface (“UI”) you wish to run. Finally, you must select the theme you wish to run on your pages.
If your workstation has an external internet connection, themes can be changed by selecting the jQuery Theme dropdown list; if this is an offline connection, you must select the theme from the non-graphical list of available options.
If desired, you can add or modify the list of “standard scripts” that O4W includes in all its routines by modifying the code in the “Standard Scripts” box. This might be applicable if you wished to have another “plugin” or javascript library available to all your O4W pages.
This should be modified by advanced users ONLY.
O4W allows you to choose which graphing library should be included on your site; different graphing libraries provide different sets of graphs, and render the data in different ways. You can select the jQuery plugin “jqPlot”, the Google Visualizations library, both, or neither. Note that the jqPlot library is self-contained on your O4W system, and can be used even if no connection to the internet is available; the Google Visualizations library requires an active internet connection to function.
O4W developers can now specifically target mobile devices (cellphones and tablets); the Mobile tab allows for the specification of mobile-specific defaults. Select whether the required jQuery Mobile library should be loaded from files contained on your O4W site, or from the jQuery developers website; which version of the library should be loaded; which version of the associated “base” jQuery should be loaded; and what standard script(s) should be loaded. You may choose to configure the required scripts to minimize what is loaded, since typically mobile devices have less memory and longer loading times than desktop browsers.
Information on generating a Google Maps API Key can be found at:
https://developers.google.com/maps/documentation/javascript/get-api-key
On the Template/Menu Management tab, you can define which template should be used as the “default” for this application. You can also specify where the templates are located, and whether this is a Windows directory or an OpenInsight table. Note that the template directory is used in the “Wizards” to allow for the selection of the templates; however, the template directory is not prefixed to the default template name, and should be specified as part of the default template if applicable.
The default mobile template may be different than the default template; the mobile template will be used when O4W is used to generate output for a mobile device (such as a cellphone or tablet). Since these devices typically have much smaller screens than the desktop browser, you should create or select a template that is more suitable to the reduced screen size.
You will also specify here what type of menu should be used by default, if the template does not specify explicitly. The “Horizontal” menu is similar to the top-line menu of an OpenInsight form or MDI frame. The “Vertical Scrolling” menu is similar to an iPod menu. The “Vertical Tree” menu is an expanding and collapsing tree menu.
If a “vertical scrolling” menu is to be displayed on your form, you may allow it to dynamically resize itself. If you select “Dynamically size vertical scrolling menu”, the vertical scrolling menu will be drawn at the most appropriate size between the minimum (if specified) and maximum (if specified) values. Note that these values, which represent the number of pixels high the vertical scrolling menu may be, should be entered as straight numbers (with no “px” indicator)
The O4W Form wizard allows you to specify some “standard code records” as the source of listboxes, checkboxes, and radio buttons. The Standard Codes tab allows you to add to, remove from, or alter the list of standard code records that the O4W Form wizard displays. Specify a “user friendly” name for the code record in the first column, and the name of the code record (located in the O4WCODES table) in the second column. Note that the records in the O4WCODES table must contain, in field 1, an @VM delimited list of the text to display, while field 2 contains an associated @VM delimited list of the codes associated with each display value
The Forms/Reports tab allows you to specify some O4W Form and Report-specific choices. If selected, “dynamic” reports can be automatically generated from R/List statements; specify as the URL http://<yoursite>/oecgi4.exe/O4W_RUN_REPORT?OIREPORT=<reportstatement>, where <yoursite> is the full path to your O4W directory, and <reportstatement> is the full R/List-type statement you wish to turn into an O4W Report. For example, you may specify:
http://<yoursite>/oecgi4.exe/O4W_RUN_REPORT?OIREPORT=LIST MYTABLE WITH SOMEFIELD=”1” AND WITH OTHERFIELD=”2” SOMEFIELD1 SOMEFIELD2 TOTAL SOMEFIELD3
“Dynamic” forms can be automatically generated by specifying the name of an existing OpenInsight form; specify as the URL
http://<yoursite>/oecgi4.exe/O4W_RUN_FORM?OIFORM=<formname>
where <yoursite> is the full path to your O4W directory, and <formname> is the name of an existing OpenInsight form.
If dynamic forms and reports are allowed, you may specify the permissions level needed to execute the dynamic form and report, and an O4W Form and O4W Report to use as the “template” for the dynamic form and report – the specific content of the O4W Form and O4W Report will be removed, while the menu, color, html template, etc. will be extracted for use in the dynamic output.
In order to provide the most responsive performance possible, O4W allows you to use multiple engines to generate the O4W Form or O4W Report. Each tab of the form, and each page of the report, can be “rendered” by a separate engine, allowing even very complex forms and reports to display quickly. You can specify the number of engines O4W should use for form and report generation; specify “0” for a single engine (which will generate all the tabs and pages before returning the result to the browser), or 1 or more for asynchronous rendering.
The Browsers Options tab allows you to specify minimum requirements for your O4W site. For each of the browsers, specify the minimum allowed version. You can also specify the message to be displayed, and how the message should be displayed (as a banner, a popup, or both).
About
DB Management – Deployment Tools
Deployment Management
From the DB Management Menu select O4W Maintenance.
From the Deployment Tools Menu select Deployment Management.
Deployment definitions (the contents of an RDK) can be created or edited using this function. You can choose an existing deployment definition, or enter the name of a new one to create. You will then be allowed to select which entities you would like to include or exclude from the deployment definition. When you have finished selecting the entities for this deployment definition, you can use this information to build an RDK.
From the Deployment Tools Menu select Load Deployment.
This function will allow you to load a Repository Deployment Kit (RDK) into your OpenInsight system. RDKs are used to transfer new or updated procedures, data, etc. from one system to another. Using this function, you can upload a zip file containing the RDK files (and, if the zip file does not contain only the RDK files, you can specify the “path” in the zip file to the RDK files); after the upload has succeeded, you will be prompted to verify you want to install the files, and if you choose to proceed, the files in the RDK will be loaded into your system.