Wiki

Case Status
Log In

Wiki

 
Altering OASIS Screens!
  • RSS Feed

Last modified on 7/14/2014 2:06 PM by User.

Tags:

Altering OASIS Screens!

Overview

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.