Introduction to Visual Dictionary Editor
Compiere Visual Dictionary Editor provides you with a sleek Flash interface to customize your data setup or transaction windows. Use drag-n-drop to design your window layout exactly the way you want. You can customize field labels, hide fields you don't want, pre-populate field values and mark fields as mandatory or read only. You can update column attributes such as mandatory, read only, updateable, default value and more. You can even add new fields to your windows along with underlying database columns in one seamless user flow. The Visual Dictionary Editor shows you the user's view of the window as you work on it making layout design intuitive and error-free. This feature was introduced in Compiere Release 3.5, Enterprise edition.
Visual Dictionary Editor is only available in the Web UI of the Compiere Enterprise edition. You need to have the System Administrator role or equivalent privileges to access this feature. Only windows that have an entity type other than Dictionary are available for designing in the Visual Editor. To customize a window that Compiere delivers, please create a new window in the Window, Tab & Field window with entity type User Maintained and click the Copy Window Tabs button to copy over all the tabs and fields from the original window. Populate the Context Area in the window definition if needed and run the Synchronize Terminology process. Add the new window to the appropriate menu and run the Role Access Update process to grant privileges to the window. Launch Visual Editor and select the new window to change its layout and column and field properties. Save your changes and run the Cache Reset Web process. Select your recently customized window from the menu to view its new layout and business logic.
Important: Functionality to update column properties or add new fields is available in Compiere 3.6 and onwards. Layout and field properties may be updated in Compiere 3.5 and onwards.
The Visual Editor contains 4 main sections.
- The Toolbar at the top is where you select the window you want to edit along with save and undo icons for the changes that you make.
- The Navigator panel on the left shows you a tree with the window and the tabs it includes displayed in hierarchical order and all the fields for the selected tab. There is an icon adjoining each field representing the display type inherited from the linked column reference e.g. Search, Checkbox, Button.
- The Field Properties and Column Properties panels display properties for the field you select and its linked column. This is where you define business logic for the field and column.
- The Single Record area allows you to design the 2 column form layout for the currently selected tab. The Grid View lets you rearrange the order in which columns should be displayed in the grid view mode.
Launch the Visual Editor and enter the name of the window you want to edit. You can only design layout for one tab at a time. The Navigator panel shows all the fields for the currently selected tab. Some fields are in black indicating they are available for dragging from the Navigator to the Single Record area so that they can be added to the window layout. Other fields are in gray indicating that they are already included in the window layout and are not available for dragging. You can drag and drop fields or reposition them between rows or to an empty spot in the right column by looking for blue insert markers. You can also drop fields onto other fields indicated by a yellow highlight and let the layout rearrange automatically.
The layout you define here is exactly the way the window will be viewed in the Compiere application. Fields that are mandatory are displayed in yellow and fields that are read only are displayed in gray. If you want to hide a field from displaying in the window, drag it off the Single Record layout onto the Navigator. Switch to the Grid View area and drag and drop fields to define the column order. You can only reposition fields here. If you want to add or hide fields, you must do so in the Single Record area.
If the user you logged in has AutoCommit turned on in User Preferences, changes will be automatically saved when you switch tabs or load a new window. If AutoCommit is not turned on, you will receive a popup message asking you to save or cancel your changes.
Click on a field in the Navigator, Single Record area or the Grid View area to edit its properties. Select the Field Properties tab to view the field properties. The following field properties are available for editing or display:
Name - Enter the label or prompt for the field. You can change it in the Properties panel or by typing the label directly in the Single Record area.
Description - Enter a description for the field here.
Comment - Enter a comment for the field here.
Centrally Maintained - Uncheck this property to indicate that the Name, Description and Comment are to be retrieved from values set in the field properties and not from the System Element. This property is automatically unchecked if you update the Name, Description or Comment.
Read Only - Check this property to indicate that this field should be read only. If this property is checked, the field will not be editable and will be displayed in gray.
Display Logic - Enter a condition which if true results in the field being displayed and if false results in the field being hidden.
Display Length - Select Short or Long to control the length of the field displayed in the window.
Encrypted - Check this property to indicate that values in this field should be encrypted.
Default Focus - Check this property to indicate that focus should default to this field.
Record Sort No. - Enter a positive or negative number to indicate that this column should be used for sorting data retrieved in this window.
Obscure - Select an obscure type to replace certain characters in the field data value with asterisks.
Mandatory Overwrite - Override the mandatory setting for the field. If this property value is blank, the mandatory property is inherited from the column linked to the field. If the field is mandatory, it will be displayed in yellow and it will need to have a value, either automatically defaulted in or entered by the user, before a record can be saved.
Default Logic Overwrite - Override the default logic for the field. You can use literals e.g. 'Text' or 123, variables or SQL.
Field Group - This is a display only field. It indicates if the field is included in a specific field group.
For more details on each of the field properties, view help for the Field tab in the Window, Tab & Field window.
Click on a field in the Navigator, Single Record area or the Grid View area to edit its properties. Each field is linked to a column. Select the Column Properties tab to view the column properties. The following column properties are available for editing or display:
Name - Enter a name for the selected field's linked column.
Description - Enter a description for the column here.
Comment - Enter a comment for the column here.
Table - This is a read only property displaying the table in which the column exits.
DB Column Name - This is a read only property displaying the database column name for the column.
Column SQL - Enter a SQL snippet in Column SQL for virtual columns.
Table UID - Use the column as part of a unique identifier for records in the table.
Length - Enter length of the column in the database.
Translated - Indicate if the column is to be translated or not.
Reference - This is a read only property displaying the column reference such as Table, List, Yes-No, etc.
Default Logic - Enter logic to derive the default value for the column. You can enter literals, variables or SQL.
Key - Indicate if the column is a key in the database table.
Parent Link Column - Indicate if the column is a link to the parent table.
Mandatory - Indicate if a value is required for the column.
Mandatory UI - Indicate if a value is required for fields linked to the column.
Mandatory Logic - Enter logic that determines if a value is required for the column.
Updateable - Indicate if fields linked to this column can be updated.
Always Updateable - Indicate if the column is always updateable, even if the record is not active or processed.
Read Only Logic - Enter logic that determines if fields linked to the column will be read only.
Callout - Indicate if the column implements a callout.
Callout Code - Enter fully qualified class name and method for a callout on the column.
Identifier - Indicate if the column is part of the record identifier.
Sequence - Indicate the sequence of the column in the identifier.
Selection - Indicate if the column is to be used as search criteria for finding records.
Selection Sequence - Indicate the sequence of the column in the selection search criteria.
Recursive FK - Indicate if the column is part or a recursive foreign key.
For more details on each of the column properties, view help for the Column tab in the Table & Column window.
Add a New Field
Click on the New Field icon in the toolbar to add a new field to the window.
Enter a Field Name and select an Entity Type.
Enter a Column Name to which the field is to be linked.
Enter a DB Column Name to indicate the database column that is to be created.
Select an Entity Type for the column.
Select an appropriate Reference for the column. E.g. if you want to add a checkbox field, select Yes-No. If you want to add button field, select Button.
Enter a length for the database column.
Click OK. This will create a new field and column. You can now drag the field to position it in the layout. Select the field and update its field and column properties as needed.
When you save your changes, the column will be automatically created in your database.