03. Business Entity Designer options

The options for the Business Entity Designer are stored in an XML file in the working directory of the Business Entity Designer. This file is called .BusinessEntityDesignerSettings.xml and it is expected to share this file with your colleagues using your source code management utility. This ensures that all team mates are using consistent settings.


After starting the Business Entity Designer you access the Options Dialog using the Application Menu (big yellow ball at the top left of the window) and then choosing „Options”:

 

The options are separated into four sections that are accessible on the left.
The first section contains the options relevant to the actual code-generator:

OptionValue / Description
Generator:Specifies the class name of the actual code generator. This class needs to be accessible to the Business Entity Designer and needs to implement the Consultingwerk.BusinessEntityDesigner.Generator.IBusinessEntityGenerator interface.
Template Folder:The folder that contains the templates used by the Business Entity Designer. It’s recommended to customize the templates in a separate folder, see a later section in this document.

Open generated files in IDE

When set to true, the generated source code will be opened in the Progress Developer Studio for OpenEdge after the generator has succeeded. This option requires to use our version of the file _idestartup.p in the root fFolder of your Progress Developer Studio for OpenEdge projects. This procedure will actually write the current network port number that the OpenEdge plugin to Eclipse is listening to to the users registry section under Software\Consultingwerk Ltd.\IDE Support
Source folder:The base folder for the generated source code relatively to the working directory
R-Code folder:The base folder for the generated R-Code relatively to the working directory

The second and third section contains options relevant for the design process in the Business Entity Designer GUI.

OptionValue / Description
Data-Relations / Name Substitute:This defines the pattern used for naming data-relations (using the ABL SUBSTITUTE function). &1 and &2 will be replaced with the name of the parent (source) and child (target) temp-table.

Relation-Fields-Generator:

Specifies the name of an ABL class implementing the Consultingwerk.BusinessEntityDesigner.Services.IDataRelationFieldsService Interface. The class is responsible to determine the field pairs used with the dragged data-relation (field pairs can be changed later). The default implementation is Consultingwerk.BusinessEntityDesigner.Services.DataRelationFieldsService

Temp-Table Name-Prefix:

This defines the default prefix used for naming temp-tables. The default value following the naming pattern of the OERA is “e”, other commonly used values are “tt” or “tt_”.

Temp-Table Name-Suffix:

This defines the default suffix used for naming temp-tables. This value typically stays empty.

Temp-Table Before-Prefix:

This defines the default prefix used for naming before tables. The default value following the naming pattern of the OERA is “e”, other commonly used values are “tt” or “tt_”.

Temp-Table Before-Suffix:

This defines the default suffix used for naming before tables. The typical value is “Before”.
Name Generator:Specifies the name of an ABL class implementing the Consultingwerk.BusinessEntityDesigner.Services.ITableNameGeneratorService Interface. The class is responsible to determine the name to be used as the temp-table name for a database table. This service may be used to camel-case table names or get rid of unwanted characters in table names such as “-“ and “_”. The prefix and suffix will still be added to the name returned by the ITableNameGeneratorService implementation. The default implementation is Consultingwerk.BusinessEntityDesigner.Services.TableNameGeneratorService.

OptionValue / Description
Field Name Generator:Specifies the name of an ABL class implementing the Consultingwerk.BusinessEntityDesigner.Services.IFieldNameGeneratorService Interface. The class is responsible to determine the name to be used as the field name for any given database field used in temp-tables. The default implementation is Consultingwerk.BusinessEntityDesigner.Services.FieldNameGeneratorService

OptionValue / Description
Plugins:The Business Entity Designer can be extended with plugins. Those plugins have access to the UI, the Toolbar (Ribbon) and the data of the Business Entity Designer. Plugins can extend the UI of the Business Entity Designer (adding toolbar buttons) and can react on events (code generation) of the Business Entity Designer.

Plugins are classes that will be loaded when the Business Entity Designer starts.
Plugins need to implement the Consultingwerk.BusinessEntityDesigner.IBusinessEntityDesignerPlugin interface.
Plugins can be temporary disabled by prefixing the plugin class name with the “#” sign.