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.
File Contents by Example
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
-->
<Panel>
<Defaults>
<Content>
<Tabs>
<Tab name="Basic">
<Scroll>
<List layout="flow">
<List>
<Item feature="Project"/>
<Item feature="Location"/>
</List>
</List>
</Scroll>
</Tab>
</Tabs>
</Content>
</Defaults>
</Panel>
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.)
Default Tags
The following tags are defined for all windows:
Tag | Use | Attributes |
<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= 'horizontal' or '' (vert) layout= 'flow' 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 fontstyle fontsize |
<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. |
Forms and Configuration File Names
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 |
Contact Find | ContactFindPanel_Configuration.xml |
Contact Application | ContactListPanel_Configuration.xml |
Customer Find | CustomerFindPanel_Configuration.xml |
Customer Application | CustomerListPanel_Configuration.xml |
Inventory Application | InventoryListPanel_Configuration.xml |
Pick Find | PickFindPanel_Configuration.xml |
Receipt Find | ReceiptFindPanel_Configuration.xml |
Invoice Find | InvoiceFindPanel_Configuration.xml |
Invoice Application | InvoiceListPanel_Configuration.xml |
Commissioned Invoice Screen | CommissionedInvoice_Configuration.xml |
Resell "Dual" Invoice Screen (gold screen) | DualInvoice_Configuration.xml |
Customer Invoice | CustomerInvoice_Configuration.xml |
Vendor Invoice | VendorInvoice_Configuration.xml |
Manufacturer Find | ManufacturerFindPanel_Configuration.xml |
Manufacturer Application | ManufacturerListPanel_Configuration.xml |
InBox Find | InboxFindPanel_Configuration.xml |
InBox Application | InboxListPanel_Configuration.xml |
Order Find | POFindPanel_Configuration.xml |
Order Application | POListPanel_Configuration.xml |
Commissioned Order Screen | CommissionedOrder_Configuration.xml |
Consolidation Order Screen | ConsolidationOrder_Configuration.xml |
Resell Order Screen | ResellOrder_Configuration.xml |
Payment Find | PaymentFindPanel_Configuration.xml |
Payment Application | PaymentListPanel_Configuration.xml |
Quote Find | QuoteFindPanel_Configuration.xml |
Quote Application | QuoteListPanel_Configuration.xml |
Report Application | ReportsListPanel_Configuration.xml |
Resell Application (in configuration) | ResellListPanel_Configuration.xml |
Sample Find | SamplesFindPanel_Configuration.xml |
Sample Application | SamplesListPanel_Configuration.xml |
Sample Find | SubmittalFindPanel_Configuration.xml |
Sample Application | SubmittalListPanel_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 |
<Modify> Forms
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.
<Add>
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.
For example:
<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.
<Remove>
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.
For example:
<Remove path="Panel.Defaults.MenuBar.File.New"/>
In this case, the nodes describing the "New" sub menu under the "File" primary menu are removed - including the "New" sub menu.
For example:
<Remove feature="ingen.oasis.invoices.feature.CommissionRequest"/>
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.
Comments
0 comments
Please sign in to leave a comment.