2022 April Release

app.ducx Customization LanguagePermanent link for this heading

This chapter outlines customization language features that are relevant for Folio developers.

Using “add” and “override” of a Software Solution or Edition (Deprecated)Permanent link for this heading

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 add is allowed, override is forbidden for all software solutions and editions.

Example

// Implementation for Object
customize
GetObjHint<Object> {
  // Assumes that hint is not defined as direct
  // The parameter suffix is available in the expression block

  hint = expression { cooobj.objname + " " + suffix }
}

// Implementation for ContentObject
customize
GetObjHint<ContentObject> {
  // Assumes that hint is not defined as direct
  hint = expression { cooobj.objname }
}

customize GetAllowedAttrDef<Folder, objchildren> {
  // Assumes that outattrdef is defined as direct
  outattrdef = objname;
}

// Define the customization for a specific software solution
// Create a new configuration object (override)

target
SolutionPayment@1.1 override {
  customize
GetAllowedAttrDef<Folder, objchildren> {
    // Assumes that outattrdef is defined as direct
    outattrdef = objsubject;
  }
}