Feature definition deployment
Feature definitions can be deployed with the Perfion Deployment. This step in the wizard allows the user to select which features that should be deployed.
Selection
The wizard page for feature definition selection is shown below.
The selection list contains all feature definitions declared in the source system. Multiple feature definitions can be selected.
Required feature definitions
When selecting a feature definition, it can require other feature definitions. Example of this could be Feature A has Feature B as KeyType.
The select list updates automatically when selecting a feature definition that has requirements. All required feature definitions are checked and greyed out in the list.
Example: Selecting Feature definition “New3”, Feature definitions “New” and “CalalogPage” is automatically selected.
If feature definitions are required from feature configuration selection, these will automatically be shown like this when the feature definition selection is shown.
Matching in target system
Feature definitions are matched to feature definitions in the target system. This is done by comparing the name of the feature definition to the names of feature definitions in the target system.
The match is done case insensitive. Some examples below:
Feature name A | Feature name B | Match |
Test | Test | Yes |
Test | test | Yes |
Test | tes | No |
If a match is found, the feature definition is flagged for update instead of creation.
Parents
A feature definition with a parent, can of cause be transferred with parent and child in one go. But the parent is not necessary to deploy. It is possible to deploy the child feature definition on its own. Below is an example.
Left is feature without parents. Right is feature with parents.
NOTE: If the parents do not exist in the target system, they will be required.
Validation
Feature definitions are validated before they can be transferred to the source system. If one or more of the validation steps fail, deployment will be halted. All potential errors will be shown on the data summary.
Feature definition is found in target system
If the feature definition is found in the target system, and thereby flagged for update, specific settings must be identical for deployment to continue. This is because these settings cannot be updated by deployment.
The limiting settings are:
Data type
Selectable
Localizable
Inheritable
Allow formula
Allow hierarchy
Custom ordering
Sortable related items
Allow multiple
Sortable
Control type
Branding
Allow tri-state Boolean
The error message will contain one of the following messages:
Feature (Source feature name) is of ‘source datatype’ type, but the same feature in target system is of ‘target datatype’ type
Feature (Source feature name) differs in setting ‘Setting name’. Source value is ‘Enabled/Disabled’, and target value is ‘Enabled/Disabled’
Feature definition parent validation
If a feature definition is transferred without its parent, a feature in the target system will become its new parent. This imposes some potential issues.
Data type missing
If the parent of the feature is one of the data types (Number, string, etc.), it must exist in the target system. It will most likely be the Table feature that will be missing if any. The table feature can be installed if the license has “Table designer” enabled. The following error message will be displayed in the data summary.
Parent feature (Source Parent Name) of ‘Source Parent Data Type’ type was not found in the target system. This is most likely because the Table feature is not installed!
Difference in data type
If the parent of the feature has a different data type than the deployed feature definition, it cannot be deployed. The following error will be displayed if this is the case.
Parent feature (Source Parent Name) is of ‘Source Parent Data Type’ type, but the same feature in target system is of ‘Target Parent Data Type’ type
Dependencies
Feature definitions depend on several other configurations. These are other feature definitions, information groups and remote queries.
Feature definitions
Since feature definitions have references to other feature definitions, selecting one feature, might very well require several other feature definitions to be deployed. The referencing settings are:
Key feature
Stage feature
Filter feature
View feature
Parent feature
If one or more of these settings are set, the deployment will look for them in the target system. If they are not found, they will be added to the required feature definition list.
Information groups
Feature definitions reference information groups via Top view group, view group and group settings. If one or more of these are set, the deployment will look for them in the target system. If they are not found, they will be added to the required information groups list.
Remote queries
Feature definitions reference remote queries via remote query settings. If this setting is set, the deployment will look for it in the target system. If it is not found, it will be added to the required remote queries list.
Data transfer
Feature definition data is handled in two different ways, depending on if the transfer is a creation or an update. When a feature definition is created in the target system, all its values is transferred to the target system. But when updating a feature definition, only some values are updated.
Perfion Deployment has limited feature definition update to only some values. This is to ensure data protection when transferring feature definitions. A full list of all values is presented below. Reference this to see which values are transferred and which are not.
Value | Transfer under creation | Transfer under update |
Parent | Yes | Yes |
Name | Yes | Yes |
Caption | Yes | Yes |
Caption alternative | Yes | Yes |
Abbreviation | Yes | Yes |
Unit | Yes | Yes |
Help text | Yes | Yes |
Top view, view and group | Yes | Yes |
Data type | Yes | No |
Localizable | Yes | No |
Inheritable | Yes | No |
Formula | Yes | No |
Selectable | Yes | No |
Allow hierarchy | Yes | No |
Custom ordering | Yes | No |
Sortable related items | Yes | No |
Allow multiple | Yes | No |
Sortable | Yes | No |
Branding | Yes | No |
Allow tri-state Boolean | Yes | No |
Remote query | Yes | Yes |
Remote data field | Yes | Yes |
Control type | Yes | No |
Custom data manipulator | Yes | Yes |
Feature item security | Yes | Yes |
View feature | Yes | Yes |
Filter feature | Yes | Yes |
Key feature | Yes | Yes |
Stage feature | Yes | Yes |
Validation | Yes | Yes |
All the limited values are protected by validation. As described in the validation captor, deployment will not run if these settings are different between the source and target system.
Feature definition captions
Feature definition captions are transferred as a single object. The captions are first deleted in the target system, thereafter all captions are transferred from the source system. This goes for all values attached to a caption as well. (Caption alt, Abbreviation, Unit, Help) See the example below.
Before deployment
Source system | Target system |
Caption_EN = Test | Caption_EN = Test0 |
Caption_DE = Test1 | Caption_NL = Test4 |
Caption_DA = Test2 |
|
After deployment
Source system | Target system |
Caption_EN = Test | Caption_EN = Test |
Caption_DE = Test1 | Caption_DE = Test1 |
Caption_DA = Test2 | Caption_DA = Test2 |