In Essential, an Editor provides users with a high-level UI for selecting and editing instances of a specific class. For example, a Technical Application Editor could be used by Solution Architects to edit the technical aspects of instances of the Composite Application Provider class, where a Business Application Editor could be used By Business Analysts to edit slots related to the functionality and business usage of Composite Application Provider instances.
The Editor Builder helps you design and build your own custom Editors to suit your needs as an organisation or user. You can copy pre-configured Editors from the Library provided by EAS and then add specific elements to them, or if there are slots you never have data for, remove them, or create a new Editor without them to tidy up your workspace. The overall aim is to make the experience of creating and maintaining data in Essential better and more efficient for users.
You can also use the Editor Builder to copy, import, and export any custom Editors from the Editor Builder list. You can also use these features to get Editors you have already built into one of your other repositories without having to build the whole thing again, e.g., moving from Testing > Pre-Production > Production. All the current out-of-the-box Editors provided by EAS including the Application, Business Process, and Matrix Editors, will still be available in the Essential Viewer. These can still be used, or disabled if you want to replace one with your own custom version.
Before starting any build of an Editor, we recommend that you clearly understand the class of the instances that you would like your Editor to maintain (e.g. Composite Application Provider, Technology Product, Business Process) and the slots of that class that are in scope. With this, you should create a draft or sketch that maps out how the Editor will look, considering the Editor Components you will use and any requirements regarding their placement and layout. If you are unsure of what you want your Editor to look like, or what an Editor is made up of, read this document to understand the library of components that are currently available and to make sure you know how they work and any of their limitations before you start designing.
Accessing the Editor Builder
You will find the Editor Builder in your Editors List in the View Library. If it is not there, it may need enabling which can be done from the EDM Capture screen or using the Viewer Configurator.
From capture, go to EA Class > EA Support > Essential Viewer > Report > Editor > Configured Editor. Then select SYS: EDITOR BUILDER from the list in the instance browser.
You can also enable it from the Viewer Configurator. Open the Viewer Configurator from the View Library. Go to ‘Set Portals’ and in the Editors tab, add the Editor Builder.
Once you have done either of these, perform a publish from your repository to promote the changes to the Viewer.
Once you are in the Editor Builder, it will display the Editors that you have already created. Here is where you can access any previously created Editors—just click the Select button to the left of the one you want to access. To start building a new Editor, click the Create New Editor button, or if you want to use an existing Editor as a starting point, you can click Import from File, Add from Library or a Copy button associated with an Editor in the list. In addition to Copy, you can also Export, or Delete any existing Editor in the list.
Anatomy of an Editor
All Editors are made up of the same basic types of Editor Component; Tabs, Sections, Panels, and Widgets
Default screen after creating a new Editor
Editor Name – Internal name for the Editor
Editor Label – The display name
Editor Enabled – defines whether the Editor is enabled and will appear in the Editor list
5. Main Class
6. Class – The Class managed by the Editor.
7. Class Label – How the Class appears in the Class Tree.
8. Create Instance – Defines whether you can create an instance using the Editor with the option to use a template path when you create new instances.
9. Copy Instance – Defines whether you can copy an instance using the Editor with the option to use a template path when you copy new instances.
10. Copy Depth and Copied Slots
11. Delete Instance – Defines whether the Editor can delete an instance.
12. Deep Links – Defines whether you can copy a link to the Editor.
13. Slot Description – Defines whether empty slots in the Editor will have a description/prompt for the user
14. Navigation Bar – Choose the style of tabs that you will navigate the Editor tabs with, choose from: Tabs, Chevrons, Pills.
15. Mandatory Slots, Highlight
16.Mandatory Slots, Label Text
17. Mandatory Slots, Background & Text Colours – The main colours of the Editor
Common Terms – Basic terms for labels when using the Editor that you can customise if desired.
General Terms and Labels for your Editor, e.g. Editor Title, Access Denied Text
Instance Selection – Terms and labels for selecting instances, e.g. Select, Copy, and Delete button labels.
Instance Creation – Terms and Labels for instance creation, e.g. New Instance Button Prefix “Create New.”
Tabs are displayed at the top of an Editor and are used to switch between different areas or facets of the instance being edited. An Editor must contain at least one Tab and each Tab can typically contain one or more Sections (see below). When creating a new Editor using the Editor Builder, by default, it will contain a single ‘General’ Tab, but you can rename this to anything you want. In addition to an Empty Tab component, Essential also provides pre-configured tabs that can be brought into Editors to edit specific slots, for example, the Costs Tab or the Application Dependencies Tab.
An Empty Default Tab
A Complex or Preconfigured Tab, e.g. Application Information Flow Tab
The Sections, Panels, and Widgets contained within this preconfigured Tab
Slot – The defining static architecture of an Application Provider
The Modelling Pattern – The Exchanged Information Modelling
Default Exchanged Information Category
Exchanged Information Is Persisted?
Information Category Display Label
Information Category Icon
9. Slot Description – enable or disable the slot description.
10. Highlight – Defines whether this is Tab is highlighted as mandatory or not.
11. Label Text
12. Background Colour and Text Colour
13. General Terms – The terms for your Tab labels
14. General Labels – The labels displayed for this Tab
Sections serve two purposes within an Editor. Firstly, they provide a means to structure the slots being edited into groups, with or without a title heading. For example, you may want to group deployment related slots of an Application into one Section and lifecycle related slots into another. Secondly, Sections can be contained with certain Tabs and Panels to provide a means to edit the slots of Instances that are related to the main Instance being edited. For example, in an Editor configured to maintain Composite Application Provider instances, the main purpose of the Application Deployment Technology Tab component is to create, update or delete the Application Deployments that exist for the Application instance being edited. However, this particular Tab component also contains a pre-defined Section that can contain additional components for editing slots of the related Application Deployment instances such as Deployment Label, Used Information Stores.
An Empty Section
1. Background Colour, Text Colour, Icon
2. The term and display label for the Section
Panels are contained within Sections and, in most cases, are dedicated to the maintenance of specific slots or specific slot types. For example, the Lifecycle Panel is specifically designed to maintain the Lifecycle Model for Element slot for instances of any class and the Boolean Panel is specifically designed to maintain any slot of type Boolean. In the case of the Empty Panel component, it also provides a second level of grouping, again, with or without a title heading, for primitive slots (i.e. strings, integers, floats, dates) or slots that represent direct relationships to other instances.
An Empty Panel
1. Panel Width
2. Background and Text Colour
3. Term and Label
A Complex Panel, e.g. Lifecycle Panel
2. Lifecycle Model Class
3. Lifecycle Status Class
4. Current Lifecycle Status Slot
5. Auto Update Mode
6. Mandatory Fields Required From Status – Defines whether the user can progress or not unless selected lifecycle status have been captured
7. Current Status Mode
8. Current Status Background & Text Colours
9. Column Width
10. Slot Description
11. Highlight if Mandatory
12. Label Text
13. Background Colour & Text Colour
14. Term – General term for each label
15. Label – The display name for the term
Widgets are the lowest level of Editor component and are contained within Panels. They provide data capture inputs that you would expect to find in web-based forms such as single line text input fields, date selectors, integer input fields, single/multi selection dropdown boxes, etc. As such, they can be used to maintain string, integer, or float slot values or, in the case of dropdown boxes for capturing direct relationships to other instances or enumerations.
Single Selection Drop Down
2. Select Instances of Classes
3. Column Width
4. Slot Description
5. Highlight if Mandatory
6. Label Text
7. Background & Text Colour
Filtered Single Selection Drop Down
Updated 31 October 2023