2022 June Release

Properties of FSCVENVUI@1.1001:Configuration Permanent link for this heading

Type

Property

Name

AggregationOverride[]

aggregationoverride

Aggregation Function Override

BackgroundMenuFooterTips[]

backgroundmenufootertips

Backgroundmenu Tips

CPDisplayPreviewInDetailView[]

cpdisplaypreviewindetailview

Display Preview Image in Detail View

CPGetCellEditApplication[]

cpgetcelleditapplication

Cell Edit Application

CPGetTaskBubbleCnt[]

cpgettaskbubblecnt

Task Bubble Count

CPMindbreezeFacetDefinitions[]

cpmindbreezefacetdefinitions

Mindbreeze Facets

CPMindbreezeFacetPropsDefinitions[]

cpmindbreezefacetpropsdefinitions

Backend-Defined Facets to Be Used in Mindbreeze

CPMindbreezeFacetPropValuesDefinitions[]

cpmindbreezefacetpropvaluesdefinitions

Backend-Defined Facet Values to Be Used in Mindbreeze

CPMindbreezePropBoosting[]

cpmindbreezepropboosting

Mindbreeze Property Boosting

CPMindbreezeQueryConstraints[]

cpmindbreezequeryconstraints

Query Constraints

CPMobileActionMapping[]

cpmobileactionmapping

Mapping for Mobile App

EmptyListDescription[]

emptylistdescription

Empty List Description

FilterDispViewListAction[]

filterdispviewlistaction

Get Filter Action for Display View List

GetLogoContainer[]

getlogocontainer

Get Logo Container

ListEntriesString[]

listentriesstring

List Entries String


Aggregation Function Override (FSCVENVUI@1.1001:aggregationoverride) Permanent link for this heading

This customization point replaces an aggregation action for the given object class and is available in the software component FSCVENVUI@1.1001.

Example:
customize AggregationOverride<Object, objcontsize, GetSum> {
  aggroverride = expression {
    // calculates the sum of the values and adds a "KB" suffix
    return #GetSumContSize
  }
}

unique AggregationOverride[] FSCVENVUI@1.1001:aggregationoverride

Additional Information


Backgroundmenu Tips (FSCVENVUI@1.1001:backgroundmenufootertips) Permanent link for this heading

Customization point to show information text in different locations in the client, e.g. used for
- tips at the bottom of empty lists (just below the background menu)
- badge in the actions pane
- badge in the public link page
- text for not found documents in public link page
The customization must return a list of BackgroundMenuTips. The returned date will be rendered in the client.

unique BackgroundMenuFooterTips[] FSCVENVUI@1.1001:backgroundmenufootertips

Additional Information


Display Preview Image in Detail View (FSCVENVUI@1.1001:cpdisplaypreviewindetailview) Permanent link for this heading

Customization point to decide if a preview image of an object should be displayed in the detail view

unique CPDisplayPreviewInDetailView[] FSCVENVUI@1.1001:cpdisplaypreviewindetailview

Additional Information


Cell Edit Application (FSCVENVUI@1.1001:cpgetcelleditapplication) Permanent link for this heading

Customization point to calculate the application to use for inplace editing

Hint:
This customization point is also executed even if a "NameBuild" is defined for the specific object class.

unique CPGetCellEditApplication[] FSCVENVUI@1.1001:cpgetcelleditapplication

Additional Information


Task Bubble Count (FSCVENVUI@1.1001:cpgettaskbubblecnt) Permanent link for this heading

This customization point delivers an integer and a description string that are displayed as a "bubble" next to a task.

Example:
customize CPGetTaskBubbleCnt<Object, MenuShowHistoryDirect> {
  activity = expression {
    Activity act = {
      actchanges : 10,
      acttext : "10 objects"
    };
    return act;
  }
}

unique CPGetTaskBubbleCnt[] FSCVENVUI@1.1001:cpgettaskbubblecnt

Additional Information


Mindbreeze Facets (FSCVENVUI@1.1001:cpmindbreezefacetdefinitions) Permanent link for this heading

Defines a list of facets that should be requested in Mindbreeze search queries.
The customization point is evaluated on the current object the user navigates to on the client.
When defining this customization point the optional keys may be null, therefore a special evaluation mechanism is required. Instead of direct evaluation of the customization point, the action EvaluateCPMindbreezeFacetDefinitions is used.
Examples:
customize CPMindbreezeFacetDefinitions<Folder, null, null> {
  facetdefinitiondicts = expression {
    dictionary[] facetdefinitions = [
      {
        id:"mes:date",
        inputtype:MindbreezeFacetInputType(MBFIT_DISABLED),
        showalways:true
      },
      {
        id:"objclass",
        name:"Type",
        inputtype:MindbreezeFacetInputType(MBFIT_TEXT),
        showalways":true
      },
      {
        id:"objteamroom",
        name:"Contained in Teamroom",
        inputtype:MindbreezeFacetInputType(MBFIT_TEXT),
        defaultopen:false,
        showalways:true
      }
    ];
    facetdefinitions;
  }
}
or
customize CPMindbreezeFacetDefinitions<Folder, null, null> {
  facetdefinitiondicts = expression {
    dictionary[] facetdefinitions = [
      {
        id:"mes:date",
        name:"Select the date",
        inputtype:MindbreezeFacetInputType(MBFIT_DISABLED),
        showalways:true
      },
      {
        id:"objclass",
        name:"Type",
        inputtype:MindbreezeFacetInputType(MBFIT_DISABLED),
        showalways:true
      }
    ];
    facetdefinitions;
  }
}

unique CPMindbreezeFacetDefinitions[] FSCVENVUI@1.1001:cpmindbreezefacetdefinitions

Additional Information


Backend-Defined Facets to Be Used in Mindbreeze (FSCVENVUI@1.1001:cpmindbreezefacetpropsdefinitions) Permanent link for this heading

Defines a list of MindbreezeFacetProp from backend.
A MindbreezeFacetProp forms a facet.
For each facet defined, a list of possible values and valid classes should be defined too by using the customization point CPMindbreezeFacetPropValuesDefinitions.
The result of the customization points CPMindbreezeFacetPropsDefinitions and CPMindbreezeFacetPropValuesDefinitions will be used to form additional search constraints for a Mindbreeze search query.
The customization point is evaluated on the current object the user navigates to on the client.
When defining this customization point the optional keys may be null, therefore a special evaluation mechanism is required. Instead of direct evaluation of the customization point, the action EvaluateCPMindbreezeFacetPropsDefinitions is used.

unique CPMindbreezeFacetPropsDefinitions[] FSCVENVUI@1.1001:cpmindbreezefacetpropsdefinitions

Additional Information


Backend-Defined Facet Values to Be Used in Mindbreeze (FSCVENVUI@1.1001:cpmindbreezefacetpropvaluesdefinitions) Permanent link for this heading

Defines a list of MindbreezeFacetPropValues from backend.
A MindbreezeFacetPropValues forms a list of filter values for a facet.
The result of the customization points CPMindbreezeFacetPropsDefinitions and CPMindbreezeFacetPropValuesDefinitions will be used to form additional search constraints for a Mindbreeze search query.
The customization point is evaluated on the current object the user navigates to on the client.
When defining this customization point the optional keys may be null, therefore a special evaluation mechanism is required. Instead of direct evaluation of the customization point, the action EvaluateCPMindbreezeFacetPropValuesDefinitions is used.

unique CPMindbreezeFacetPropValuesDefinitions[] FSCVENVUI@1.1001:cpmindbreezefacetpropvaluesdefinitions

Additional Information


Mindbreeze Property Boosting (FSCVENVUI@1.1001:cpmindbreezepropboosting) Permanent link for this heading

This customization point delivers a list of properties that should be boosted in a Mindbreeze search.
The customization point is evaluated on the current object the user navigates to on the client.
When defining this customization point the optional keys may be null, therefore a special evaluation mechanism is required. Instead of direct evaluation of the customization point, the action EvaluateCPMindbreezePropBoosting is used.

Example:
customize CPMindbreezePropBoosting<Folder, null, null> {
  propboostingdicts = expression {
    dictionary[] propboostings = [
      {
        id:"_objsubject",
        factor: 2
      }
    ];
    propboostings;
  }
}

unique CPMindbreezePropBoosting[] FSCVENVUI@1.1001:cpmindbreezepropboosting

Additional Information


Query Constraints (FSCVENVUI@1.1001:cpmindbreezequeryconstraints) Permanent link for this heading

This customization point defines a list of Mindbreeze query constraints based on object class, room class and constraint type, which are used to restrict the search results of the Mindbreeze query to particular search scopes.
The customization point is evaluated on the current object the user navigates to on the client.
If you want to make use of default query constraints you may call the action FSCTEAMROOM@1.1001:GetMindbreezeQueryContraints.
When defining this customization point the optional keys may be null, therefore a special evaluation mechanism is required. Instead of direct evaluation of the customization point, the action EvaluateCPMindbreezeQueryConstraints is used.

Example:
customize CPMindbreezeQueryConstraints<Folder, null, null> {
  queryconstraintdicts = expression {
    dictionary[] constraints = [];
    if (cooobj) {
      TeamRoom room = cooobj.GetObjectRoom(, true);
      if (room) {
        constraints += {
          id:"teamroom",
          name:"In Teamroom \"" + room.objname + "\"",
          constraint:"objteamroom/annotation/mes:key:"+ room.objaddress,
        };
      }
      Group group = cooobj.objowngroup;
      if (group) {
        constraints += {
          id: "group",
          name: "In Group \"" + group.objname + "\"",
          constraint: "objowngroup/annotation/mes:key:" + group.objaddress,
        };
      }
      constraints += {
        id: "all",
        name: "Everywhere",
        constraint: "ALL",
      };
      constraints[0].defaulttab = true;
    }
    return constraints;
  }
}

unique CPMindbreezeQueryConstraints[] FSCVENVUI@1.1001:cpmindbreezequeryconstraints

Additional Information


Mapping for Mobile App (FSCVENVUI@1.1001:cpmobileactionmapping) Permanent link for this heading

This customization point is used to support mobile task pane menus.
When a menu is implemented by a virtual application, it can not be executed regularly.
This customization point can provide a mapping for an action or a virtual application.
Only simple vApps can be re-implemented using this technique.
The customization point can define a MobileActionMapping which will be evaluated by GetMobileTaskPaneMenus.
A mapping contains two attributes:
  • mamaction: the action the client should perform in place of an action or virtual application.
  • mamparams: optional, parameters or data which may be used by the client when performing the specified action.
The Fabasoft Apps (Fabasoft Cloud, Fabasoft) currently support these actions:
  • OpenObject
    The document of the object may be opened in another app on the device.
    mamparams are not supported for this action.
    There is a default configuration available for ReadObjectContent and ReadSelectedObjects.
  • EditObject
    The document of the object may be opened in edit mode in-place or in another app on the device.
    mamparams are not supported for this action.
    There is a default configuration available for EditObjectContent and EditSelectedObjects.
  • ViewAsPDF
    The PDF content/overview of the object may be opened in another app on the device.
    mamparams are not supported for this action.
    There is a default configuration available for ViewContentAsPDF and ViewContentAsPDFSelectedObjects.
  • CopyLink
    A link to the object is copied to the device's clipboard.
    The mobile apps adapt the action according to the configuration values from IsDelegationActive.
    mamparams are not supported for this action.
    There is a default configuration available for CopyToClipboard and CopySelectedToClipboard.
  • SendLink
    An email containing a link to the object is generated and shown in a send mail view.
    mamparams are not supported for this action.
    There is a default configuration available for SendAsShare, SendObjectAsShare and SendAsPointerDirect.
  • SendLinkDelegated
    An email containing a link with the delegation token to the object is generated and shown in a send mail view.
    mamparams are not supported for this action.
    There is a default configuration available for SendAsToken and SendObjectAsToken.
  • UploadFiles
    A file upload view will be shown.
    mamparams are supported and may contain the following values:
    • sys_object: optional, if not specified the current object will be used for performing the upload.
    • sys_view: optional, if not specified the default view of the current object according to CMIS implementation will be used for performing the upload.
      Only relevant when object for which the upload will be performed is an instance of CompoundObject.
    Depending on the object class of the current object or the specified sys_object either a single file or multiple files can be uploaded.
    The following actions may be available:
    • Browse local files
    • Take photo by camera
    • Take video by camera
    • Paste from clipboard
    • Create textfile
    When the current object or the specified sys_object is an instance of
    • CompoundObject the selected files will be uploaded as new files.
    • ContentObject the selected file will be uploaded as new content for the current object (attribute content).
    There is a default configuration available for ImportObject, ImportObjectReadOnly, OverwriteContent and OverwriteContentSelected.
  • DeleteObject
    The object will be deleted or moved to the wastebasket.
    The mobile apps adapt the action according to the configuration values from GetDeleteAction.
    mamparams are not supported for this action.
    There is a default configuration available for DeleteSelectedObjects, ObjectDeleteReadOnly and ObjectDeleteReadOnlySelected.
The local scope may contain the following values:
  • this.sys_dynkey: the dynkey of the current menu entry.

unique CPMobileActionMapping[] FSCVENVUI@1.1001:cpmobileactionmapping

Additional Information


Empty List Description (FSCVENVUI@1.1001:emptylistdescription) Permanent link for this heading

Defines the title and description displayed in empty object and aggregate lists.
By default the string StrEmptyList is displayed.
Use the transaction variable TV_SELECTIONCONTEXT to find out more about the current context.
If you want to show a different text in the dash board mode and explore mode you may use:
if (#TV.TV_SELECTIONCONTEXT.selviewmode == DISP_DASHBOARD) {
  return "Text for dash board mode";
}
else if (#TV.TV_SELECTIONCONTEXT.selviewmode == DISP_EXPLORE) {
  return "Text for explore mode";
}
else {
  #StrEmptyList.Print();
}
Note: The title will not show up in lists displayed in the property editor, but it is rendered so that assistive technologies (like screen readers) can make use of it. The description is not rendered at all in the property editor.

unique EmptyListDescription[] FSCVENVUI@1.1001:emptylistdescription

Additional Information


Get Filter Action for Display View List (FSCVENVUI@1.1001:filterdispviewlistaction) Permanent link for this heading

This customization point determines the filter action for the display view settings for the given object class.

Example:
customize FilterDispViewListAction<Folder> {
  filteraction = expression {
    return #MYCUSTOMIZE@1.1065:FolderDispViewListFolder
  }
}
usecase FolderDispViewListFolder(parameters as FilterDispViewListPrototype) {
  variant Folder {
    impl = expression {
      if (writelocation >= 0) {
        // write columns: prevent saving settings
        throw #COOSTERR_CANCEL;
      }
      else {
        // read columns: fixed set of display columns
        DisplayColumnList[] mycolumns;
        mycolumns += coort.CreateAggregate(#DisplayColumnList);
        mycolumns += coort.CreateAggregate(#DisplayColumnList);
        mycolumns += coort.CreateAggregate(#DisplayColumnList);
        mycolumns[0].dispattribute = #objname;
        mycolumns[1].dispattribute = #objcreatedby;
        mycolumns[2].dispattribute = #objaclobj;
        displaylist.dispcolumns = mycolumns;
      }
    }
  }
}

unique FilterDispViewListAction[] FSCVENVUI@1.1001:filterdispviewlistaction

Additional Information


Get Logo Container (FSCVENVUI@1.1001:getlogocontainer) Permanent link for this heading

This Customization point defines which logo is displayed based on the object class of the selected object. You may define different customizations depending upon the logo type which is requested. The supported logo types are defined by LogoType. This customization point is called in GetLogo in order to define the object from which the logo should be retrieved. If this object does not have the proper logo properties (e.g. objlogoimage), no logo is shown.

Example:
customize GetLogoContainer<Object> {
  cont = expression {
    if (cooobj.HasClass(#TeamRoom)) {
      cooobj;
    }
    else {
      cooobj.objteamroom != null ? cooobj.objteamroom : null;
    }
  }
}

unique GetLogoContainer[] FSCVENVUI@1.1001:getlogocontainer

Additional Information


List Entries String (FSCVENVUI@1.1001:listentriesstring) Permanent link for this heading

Defines the string displayed in lists showing the numbers of items in the list.

unique ListEntriesString[] FSCVENVUI@1.1001:listentriesstring

Additional Information