Manager Builder for OT Cordys

Manager Builder for OT Cordys

When developing a business function like Contract Management, Purchasing, Inventory Management, etc, there can be quite a number of related UI’s. Think of UI’s for configuration, master data setup, viewing invoice data, UI’s for processing invoices, utilities, reports, BAM, etc. Rather than having many individual UI task items or UI’s with lot of tabs, alternatively you can build a Manager UI for the particular business function. E.g. for Purchase Management:

Purchasing Manager

The menu on the left has static items like the UI’s for Configurations, and dynamic items like the individual Invoices for a particular Supplier. The items do have ACL attached for role-based access. The related UI for an item gets opened in the right pane, optionally in a new tab.
Best way to build the menu tree is to have a config file in between as to define the structure and build the tree in OT Cordys by utility function:

<Tree xmlns="http://schemas.cordys.com/1.0/xmlstore">
 <Name>PurchasingManager</Name>
 <RootId>PurchasingManager</RootId>
 <Node>
  <Id>PurchasingManager</Id>
  <TreeItemTag>Folder</TreeItemTag>
  <Description>Purchasing Manager</Description>
  <Children>
   <NodeId>MasterData</NodeId>
   <NodeId>Invoices</NodeId>
   ...
  </Children>
 </Node>
 ...
 <Node>
  <Id>MasterData</Id>
  <TreeItemTag>Folder</TreeItemTag>
  <Description>Master Data</Description>
  <AccessControl>
   <Role>cn=PurAdmin,cn=Purchasing</Role>
  </AccessControl>
  <Children>
   <NodeId>BusinessUnits</NodeId>
   <NodeId>CostCentres</NodeId>
   ...
  </Children>
 </Node> 
 ...
 <Node>
  <Id>BusinessUnits</Id>
  <TreeItemTag>Application</TreeItemTag>
  <Description>Business Units</Description>
  <App>appBusinessUnits</App>
 </Node>
 ...
 <Node>
  <Id>InvoicesBySupplier</Id>
  <TreeItemTag>Folder</TreeItemTag>
  <Description>By Supplier</Description>
  <Children>
   <NodeId dynamicContentDirective="InvoiceSuppliers">InvSupplier</NodeId>
  </Children>
 </Node>
</Tree>

The dynamicContentDirective directs this dynamic part of the tree to be build by webservice server-side as per database content.

Leave a Reply

Your email address will not be published. Required fields are marked *