Starting with OASIS 2.7, many of the OASIS forms (screens) may be changed with a configuration file. This is a very advanced feature and should only be attempted after consulting Ingen Software
How it Works
When a form loads, the user's assigned workgroup is scanned for a matching configuration file. If one is found, then it is used - otherwise a default file is used.
Once a configuration file is selected, it is "parsed" as an XML file and a screen layout is formed. Below are a list of standard controls and "panels". In addition, many other screen specific controls are available. Currently, there is not a "dump" method availalbe to show all availalbe controls.
The file: QuoteFindPanel_Configuration.xml
From the contents, the outer tag must be <Panel>. Currently, the file must conteain another level <Defaults>. The next level of tags defines a region of the screen:
- <MenuBar> - to create menus from the controls
- <Popup> - to create a popup menu
- <ToolBar> - for the icon tool bar at the top of the windown (NOTE: not all controls will have associated icons.
- <Taskbar> - the "blue bar" on many screens in OASIS. Typcially used to define controls used for task specific features.
- <Content> - content for the window
- <Table> - (not for all forms) default table layout.
If the file is blank, then the screen will be nothing more than a title bar!
From this example:
* <p>Title: OASIS Core application</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: Ingen Software, Inc.</p>
* @author Ingen Software, Inc.
* @version 1.0
The content area will contain one tab that will scroll if the window size can not contain the controls in the window. The controls "Project" and "Location" are displayed vertically. (The list with "flow" is used to add spacing to the controls if the window size is larger than the controls.)
The following tags are defined for all windows:
|<Tabs>||Starts a set of tabs. The next level must be <Tab> with a name.|
|<Tab>||A tab in a set of tabs. Controls may be added directly to the tab. Name attribute is required.||name - name to show on the tab.|
|<Scroll>||Creates a scroll panel on the screen. The panel will not normally show scroll bars, but if the window is smaller than the controls assigned to to the scroll panel, then scroll bars will show.|
|<List>||Similar to a panel (in Java). Use this tag to add a list of controls to the window. The controls normally show vertically and justified to the left of the panel.||orientation=
or '' (vert)
or '' (border-center)
|<Item>||Pulls a control registered for the window. It is not possible to add an undefined control to the window without adding custom code to implement the control and add the control to the window's registry||feature - impl.
key - menu key
indent - tab right
editable - Always, Never, yes, no
label - change name
|<Border>||Creates a border panel where the next set of tabs show as <North>, <West>, <Center>, <East>, <South>|
|<Blank/>||A "blank" control used as a spacer and shows as a blank line of text might. Typically used on a task bar.|
|<Text>||Text to display on the form.||value - text to show
indent - tab right
|<Menu>||A menu (e.g the file menu) with one or more items. Submenus are created by adding menus within other menus.||name - text to show|
|<Line>||A menu spacer showing as a line.|
The following form file names are current
|Screen / Form||File Name|
|Sales Account Application (in configuration)||SalesAccountsListPanel_Configuration.xml|
|Tax Account Application (in configuration)||TaxAccountsListPanel_Configuration.xml|
|Commissioned Invoice Screen||CommissionedInvoice_Configuration.xml|
|Resell "Dual" Invoice Screen (gold screen)||DualInvoice_Configuration.xml|
|Commissioned Order Screen||CommissionedOrder_Configuration.xml|
|Consolidation Order Screen||ConsolidationOrder_Configuration.xml|
|Resell Order Screen||ResellOrder_Configuration.xml|
|Resell Application (in configuration)||ResellListPanel_Configuration.xml|
|User Application (in configuration)||UserListPanel_Configuration.xml|
|Department Application (in configuration)||DepartmentListPanel_Configuration.xml|
|Location Application (in configuration)||LocationListPanel_Configuration.xml|
|Workgroup Application (in configuration)||WorkgroupListPanel_Configuration.xml|
Instead of rewriting a default form, it is possible to modify a form. To do this, create a .xml file of the same name. Then use the structure shown below to describe what is removed or added to the form. Finally, add to a specialization or attachments.
The modify form has a root tag of <Modify> followed by an add or remove.
The add tag has one required attribute: path="". This is the path as described by the tag names or name="" attributes. Within the <Add> tag body, the item(s) to be added to the form are described.
<Add path="Panel.Defaults.MenuBar.File"> <Menu name="New"> <Item feature="ingen.oasis.invoices.feature.NewResellInvoice" key="CTRL-N"/> <Item feature="ingen.oasis.invoices.feature.NewResellVendorInvoice"/> <Item feature="ingen.oasis.invoices.feature.NewResellCustomerInvoice"/> </Menu> </Add>
The path locates the items to be added under the file menu, creating a new menu "New" with the described menu items.
As expected, the features must exist before the menu item is actually shown.
The remove tag may be used to remove an item from a path within the .xml or to remove a feature (e.g. menus, buttons, controls, etc). In both cases, an <Add> tag may be used to then replace the item where required.
In this case, the nodes describing the "New" sub menu under the "File" primary menu are removed - including the "New" sub menu.
In this case, all controls referencing the feature for the CommissionReport are removed. This is typically just a menu, but the same remove tag may be used to remove local features (e.g. PONumber) and whatever control is associated with the feature.