For each customization point several customizations may exist, distinguished by the key parameters. Optional keys may be set to null, if the customization should apply to any value in the optional key. The customization provides the concrete implementation of a customization point.
By default, customizations are implicitly stored in the default configurations of the software components the corresponding customization point belongs to. If you create your own customization points a configuration with reference DefaultConfig is implicitly generated for your software component.
If a Fabasoft Folio Domain consists of several Fabasoft Folio tenants you might want to have an own configuration for each Fabasoft Folio Tenant. This can be achieved by defining a software solution (or software edition) for each Fabasoft Folio Tenant and using the target keyword followed by the reference of the domain type.
A domain type can be customized if:
In all other cases an error will be thrown.
Example |
// Define the customization for the own software solution // Define the customization for the software edition Folio |
Some customization points support an additional configuration context. This context is calculated dynamically by calling the action FSCTEAMROOM@1.1001:GetCPContext(ClientConfigurationObject cfg, retval ComponentObject context) on the room of the object the customization point is called for. To get a specific context for a room the action GetCPContext can be implemented as seen in the sample below.
Currently to following customization points can be used for context-specific configuration:
Example |
// Define the customization for the software edition Folio target DomainTypeFolio.[Art,Business] { // Implement the GetCPContext action for your AppRoom class to be able to provide // Sample customization |
Contexts can be listed in the target definition.
It is only allowed to configure the contexts, when one of the following conditions hold true:
If a Fabasoft Folio Domain consists of several Fabasoft Folio tenants you might want to have an own configuration for each Fabasoft Folio Tenant. This can be achieved by defining a software solution (or software edition) for each Fabasoft Folio Tenant and using the target keyword followed by the reference of the software solution (or software edition) and the keyword add or override. If the keyword add is used, the customization is added to an existing configuration. If the keyword override is used, a new configuration gets generated. The configurations have to be assigned to the Fabasoft Folio Tenant manually via the Fabasoft Folio Web Client (“Domain Administration” > “Object List” > “Domain Objects”).
Cloud profile note: For EditionFolioCloud@1.1, only addition is allowed, override is forbidden for all software solutions and editions.
Example |
// Implementation for Object // Implementation for ContentObject customize GetAllowedAttrDef<Folder, objchildren> { // Define the customization for a specific software solution |