### StartsWithAny string examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Examples showing prefix matching against a list of potential prefixes. ```text #StringUtils.StartsWithAny(null, null) = false #StringUtils.StartsWithAny(null, ["abc"]) = false #StringUtils.StartsWithAny("abcxyz", null) = false #StringUtils.StartsWithAny("abcxyz", ["abc"]) = true #StringUtils.StartsWithAny("abcxyz", ["xyz", "abc"]) = true #StringUtils.StartsWithAny("abcxyz", ["xyz", "ABCX"]) = false #StringUtils.StartsWithAny("ABCXYZ", ["xyz", "abc"]) = false #StringUtils.StartsWithAny("abcxyz", ["abc"], ignorecase: true) = true #StringUtils.StartsWithAny("abcxyz", ["xyz", "abc"], ignorecase: true) = true #StringUtils.StartsWithAny("abcxyz", ["xyz", "ABCX"], ignorecase: true) = true #StringUtils.StartsWithAny("ABCXYZ", ["xyz", "abc"], ignorecase: true) = true ``` -------------------------------- ### Execute Administrative Setup Command Source: https://help.cloud.fabasoft.com/doc/Fabasphere-Client/apple-macos.htm Run this command in the terminal to complete the installation if the user lacks administrative rights. ```bash sudo /Applications/Fabasoft*/Contents/MacOS/Fabasoft*UI* -runsetup:1 ``` -------------------------------- ### StartsWith string examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Examples showing prefix matching with case sensitivity options. ```text #StringUtils.StartsWith(null, null) = true #StringUtils.StartsWith(null, "abc") = false #StringUtils.StartsWith("abcdef", null) = true #StringUtils.StartsWith("abcdef", "abc") = true #StringUtils.StartsWith("ABCDEF", "abc") = false #StringUtils.StartsWith("abcdef", "abc", ignorecase: true) = true #StringUtils.StartsWith("ABCDEF", "abc", ignorecase: true) = true ``` -------------------------------- ### Strip string examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Examples showing how to remove specific characters from the start and end of a string. ```text #StringUtils.Strip(null, *) = null #StringUtils.Strip("", *) = null #StringUtils.Strip(" ") = null #StringUtils.Strip("abc") = "abc" #StringUtils.Strip(" abc") = "abc" #StringUtils.Strip("abc ") = "abc" #StringUtils.Strip(" abc ") = "abc" #StringUtils.Strip(" ab c ") = "ab c" #StringUtils.Strip("x abcyx", stripchars: "xyz") = " abc" ``` -------------------------------- ### Property Path and Keyword Examples Source: https://help.cloud.fabasoft.com/index.php?topic=doc%2FFabasoft-appducx-Expressions%2Ffabasoft-appducx-expressions.htm Examples demonstrating property path access and the use of expression keywords as values. ```text .COOMAPI@1.1:emailinformation.COOMAPI@1.1:emailaddress ``` ```text .objowner = coouser ``` -------------------------------- ### Substring Function Examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Demonstrates behavior of the Substring function with various start and end index inputs. ```text #StringUtils.Substring(null, *) = null #StringUtils.Substring("", *) = null #StringUtils.Substring("abc", 0) = "abc" #StringUtils.Substring("abc", 2) = "c" #StringUtils.Substring("abc", 4) = null #StringUtils.Substring("abc", -2) = "bc" #StringUtils.Substring("abc", -4) = "abc" #StringUtils.Substring(null, *, *) = null #StringUtils.Substring("", * , *) = null; #StringUtils.Substring("abc", 0, 2) = "ab" #StringUtils.Substring("abc", 2, 0) = null #StringUtils.Substring("abc", 2, 4) = "c" #StringUtils.Substring("abc", 4, 6) = null #StringUtils.Substring("abc", 2, 2) = null #StringUtils.Substring("abc", -2, -1) = "b" #StringUtils.Substring("abc", -4, 2) = "ab" ``` -------------------------------- ### Property Access and Attribute Function Examples Source: https://help.cloud.fabasoft.com/doc/Fabasoft-appducx-Expressions/fabasoft-appducx-expressions.htm Practical examples demonstrating property retrieval and assignment using specific Appducx attribute methods. ```text @orders = @customer.APPDUCXSAMPLE@200.200:customerorders;@orders = @customer.GetAttribute(cootx, #APPDUCXSAMPLE@200.200: customerorders);@orderdate = @order.GetAttributeValue(cootx, #APPDUCXSAMPLE@200.200: orderdate);@order.APPDUCXSAMPLE@200.200:orderdate = coonow;@order.SetAttributeValue(cootx, #APPDUCXSAMPLE@200.200:orderdate, 0, coonow);@engname = @product.GetAttributeString(cootx, #mlname, #LANG_ENGLISH); @gername = @product.GetAttributeString(cootx, #mlname, #LANG_GERMAN);@description = @product.GetAttributeStringEx(cootx, #APPDUCXSAMPLE@200.200: productdescription, null, null, 0x1000); ``` -------------------------------- ### JSON Request Examples for Personnel File Operations Source: https://help.cloud.fabasoft.com/index.php?topic=doc%2FUser-Help-Fabasoft-Talents-eng%2Finterfaces.htm Examples of JSON payloads for GetPersonnelFile, CreatePersonnelFile, UpdatePersonnelFile, and UploadDocument operations. These requests must be sent using the HTTP POST method. ```json {"shelfid":"COO.200.200.4.156","persnum":"00000008"} ``` ```json {"shelfid":null,"persnum":"00000000"} ``` ```json { "data": { "_": "PersonnelFileData", "shelfid": "COO.200.200.4.156", "persnum": "10000001", "firstname": "Martin", "surname": "Peterson", "socialsecid": "12345", "sex": "1", "supervisorid": "colin.steve@example.com", "allsupervisors": [ {"supervisorid": "laura.hammond@example.com"}, {"supervisorid": "davis.baker@example.com"} ] } } ``` ```json { "data": { "_": "PersonnelFileData", "shelfid": "COO.200.200.4.156", "persnum": "10000001", "telephone": [ { "_": "Telephone", "telnumber": "+43 664 12345" }], "supervisorid": "laura.hammond@example.com", "allsupervisors": [ {"supervisorid": "laura.hammond@example.com"}, {"supervisorid": "davis.baker@example.com"} ], "overwriteattributes": [ "telephone", "supervisorid", "allsupervisors" ] } } ``` ```json { "persnum" : "00001", "shelfid" : "COO.1.506.4.3628", "docname" : "Payroll_2017_12.txt", "doctype" : "HRDOCUMENT_PAYROLL", "register" : "HRREGISTER_PAYROLL", "validfrom" : "2017-01-02", "validuntil" : "2017-12-15", "docstate" : "PersonnelFileDocumentClosed", "doccontent" : "RG9rdW1lbnRpbmhhbHQ", "params" : { "objsubject" : "Payroll", "COOSYSTEM@1.1:objexternalkey" : "extid", "FSCTERM@1.1001:objterms" : ["COO.1.506.4.19119", "COO.1.506.4.19120"] }} ``` -------------------------------- ### GET Present Personnel File (by Personnel Number) Source: https://help.cloud.fabasoft.com/index.php?topic=doc%2FUser-Help-Fabasoft-Talents-eng%2Finterfaces.htm Access a personnel file using the personnel number and the shelf ID. ```APIDOC ## GET /fscasp/content/bin/fscvext.dll?ax=COO.1.1001.1.396256 ### Description Access a personnel file based on the personnel number. ### Parameters #### Query Parameters - **shelfid** (string) - Required - Fabasphere ID or Import ID of the personnel file shelf. - **persnum** (string) - Required - Personnel number of the personnel file to be opened. ``` -------------------------------- ### GET Present Personnel File (by User ID) Source: https://help.cloud.fabasoft.com/index.php?topic=doc%2FUser-Help-Fabasoft-Talents-eng%2Finterfaces.htm Access a personnel file using the user ID or email address and the shelf ID. ```APIDOC ## GET /fscasp/content/bin/fscvext.dll?ax=COO.1.1001.1.396256 ### Description Access a personnel file based on the user ID. If the userid is not defined, the system attempts to identify a personnel file assigned to the currently logged in user. ### Parameters #### Query Parameters - **shelfid** (string) - Required - Fabasphere ID or Import ID of the personnel file shelf. - **userid** (string) - Optional - Fabasphere ID or e-mail address of the assigned user. ``` -------------------------------- ### Install Native Client Service via MSI Source: https://help.cloud.fabasoft.com/doc/Fabasphere-Client/microsoft-windows.htm Configure the Native Client Service for background synchronization by providing the required Windows account credentials. ```bash msiexec /i INSTALLNCLSERVICE=1 NCLSERVICE_ACCOUNT="" NCLSERVICE_PASSWORD="" ``` -------------------------------- ### Split Function Examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Demonstrates splitting strings into arrays using various separators and configuration options. ```text #StringUtils.Split(null) = null #StringUtils.Split("") = null #StringUtils.Split("abc def") = ["abc", "def"] #StringUtils.Split("abc def") = ["abc", "def"] #StringUtils.Split(" abc ") = ["abc"] #StringUtils.Split(null, *) = null #StringUtils.Split("", *) = null #StringUtils.Split("a.b.c", '.') = ["a", "b", "c"] #StringUtils.Split("a..b.c", '.') = ["a", "b", "c"] #StringUtils.Split("a:b:c", '.') = ["a:b:c"] #StringUtils.Split("a b c", ' ') = ["a", "b", "c"] #StringUtils.Split("abc def", null) = ["abc", "def"] #StringUtils.Split("abc def", " ") = ["abc", "def"] #StringUtils.Split("abc def", " ") = ["abc", "def"] #StringUtils.Split("ab:cd:ef", ":") = ["ab", "cd", "ef"] #StringUtils.Split(null, *, *) = null #StringUtils.Split("", *, *) = null #StringUtils.Split("ab cd ef", null, 0) = ["ab", "cd", "ef"] #StringUtils.Split("ab cd ef", null, 0) = ["ab", "cd", "ef"] #StringUtils.Split("ab:cd:ef", ":", 0) = ["ab", "cd", "ef"] #StringUtils.Split("ab:cd:ef", ":", 2) = ["ab", "cd:ef"] #StringUtils.Split("ab de fg", null, preservealltokens: true, wholeseparator: true) = ["ab", "de", "fg"] #StringUtils.Split("ab de fg", null, preservealltokens: true, wholeseparator: true) = ["ab", "", "", "de", "fg"] #StringUtils.Split("ab:cd:ef", ":", preservealltokens: true, wholeseparator: true) = ["ab", "cd", "ef"] #StringUtils.Split("ab-!-cd-!-ef", "-!-", preservealltokens: true, wholeseparator: true) = ["ab", "cd", "ef"] ``` -------------------------------- ### Getting and Setting Property Values Source: https://help.cloud.fabasoft.com/doc/Fabasoft-appducx-Expressions/fabasoft-appducx-expressions.htm Syntax examples for accessing and modifying object properties using assignment operators and specific attribute functions. ```text // Getting property values using the assignment operator variable = object.property;// Setting property values using the assignment operator object.property = expression;// Setting values of a compound property list using the assignment operator // The values are assigned based on their position object.property = [{ val1, val2, ... }, { vala, valb, ... }, ...];// Simple initialization of compound properties CompoundType compoundtype = { val1, val2, ... }; CompoundType({ val1, val2, ... });// Setting values of a compound property list using the assignment operator // The values are assigned based on their position object.property = [{ val1, val2, ...}, { vala, valb, ...}, ...];// Setting values of a compound property list using the assignment operator // The values are assigned based on the properties of the compound type object.property = [{ reference1 = val1, reference2 = val2, ... }, ...];// Setting values of a compound property list using the "JavaScript" notation // The values are assigned based on the properties of the compound type // The right sight object.property = [{ reference1 : val1, reference2 : val2, ... }, ...];// Getting property values using the Get... functions variable = object.GetAttributeValue(transaction, property); variable = object.GetAttribute(transaction, property); variable = object.GetAttributeString(transaction, property, language); variable = object.GetAttributeStringEx(transaction, property, language, additionallist, displayflags);// Setting property values using the Set... functions object.SetAttributeValue(transaction, property, index, value); object.SetAttribute(transaction, property, value); ``` -------------------------------- ### Disable browser extension installation via MSI Source: https://help.cloud.fabasoft.com/doc/Fabasphere-Client/microsoft-windows.htm Specify these parameters during MSI installation to prevent the automatic installation of specific browser extensions. ```bash msiexec /i CHROMEEXT=0 EDGEEXT=0 FIREFOXEXT=0 THUNDERBIRDEXT=0 ``` ```bash msiexec /i FabasphereClientEnterprise-x64.msi CHROMEEXT=0 ``` -------------------------------- ### GET /fileplanentries/{fpeId} Source: https://help.cloud.fabasoft.com/doc/Fabasoft-OneGov-Public-API/endpoint-overview.htm Get a fileplan entry by its identifier. ```APIDOC ## GET /fileplanentries/{fpeId} ### Description Get a fileplan entry by its identifier. ### Method GET ### Endpoint /fileplanentries/{fpeId} ``` -------------------------------- ### Split string examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Demonstrates splitting strings with various parameters like case sensitivity and separator handling. ```text #StringUtils.Split("abXcdXef", "x", 2, ignorecase: true) = ["ab", "cdXef"] #StringUtils.Split("ab-x-cd-x-ef", "-X-", preservealltokens: true, wholeseparator: true, ignorecase: true) = ["ab", "cd", "ef"] ``` -------------------------------- ### Invoking Use Cases and Retrieving Output Parameters Source: https://help.cloud.fabasoft.com/doc/Fabasoft-appducx-Expressions/fabasoft-appducx-expressions.htm Examples demonstrating various ways to invoke use cases, handle optional parameters, and retrieve output values using different methods. ```app.ducx // Optional parameters can be omitted @order.COODESK@1.1:ShareObject(, , #APPDUCXSAMPLE@200.200:customerorders, @customer);// "null" can also be passed in for optional parameters @order.COODESK@1.1:ShareObject(null, null, #APPDUCXSAMPLE@200.200: customerorders, @customer);// using parameter names @order.COODESK@1.1:ShareObject(view: #APPDUCXSAMPLE@200.200: customerorders, target: @customer);// Retrieving an output parameter: method 1 – using the return value@neworder = #APPDUCXSAMPLE@200.200:Order.ObjectCreate();// Retrieving an output parameter: method 2 – specify the return value @neworder = #APPDUCXSAMPLE@200.200:Order.ObjectCreate()[2];// Retrieving an output parameter: method 3 method @meth = #APPDUCXSAMPLE@200.200:Order.ObjectCreate()[...]; @neworder = @meth.GetParameter(2);// Retrieving an output parameter: method 4 #APPDUCXSAMPLE@200.200:Order.ObjectCreate(null, &@neworder); ``` -------------------------------- ### Overlay String Examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Demonstrates how to overlay a string with another at specified indices. ```text #StringUtils.Overlay(null, *, *, *) = null #StringUtils.Overlay("abcdef", null, 2, 4) = "abef" #StringUtils.Overlay("abcdef", "", 2, 4) = "abef" #StringUtils.Overlay("abcdef", "", 4, 2) = "abef" #StringUtils.Overlay("abcdef", "zzzz", 2, 4) = "abzzzzef" #StringUtils.Overlay("abcdef", "zzzz", 4, 2) = "abzzzzef" #StringUtils.Overlay("abcdef", "zzzz", -1, 4) = "zzzzef" #StringUtils.Overlay("abcdef", "zzzz", 2, 8) = "abzzzz" #StringUtils.Overlay("abcdef", "zzzz", -2, -3) = "zzzzabcdef" #StringUtils.Overlay("abcdef", "zzzz", 8, 10) = "abcdefzzzz" ``` -------------------------------- ### RegexCaptureEx Examples Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-coosystem-Object.htm Examples demonstrating the use of numbered and named capture groups with regular expressions. ```javascript // Use the flag "g" to enable multiple captures. coouser.RegexCaptureEx("ID-01-ABC, ID-02-", "(ID-[0-9]*)-([A-Z]*)", "g"); // returns [ { match : "ID-01-ABC", group1 : "ID-01", group2 : "ABC" }, { match : "ID-02-", group1 : "ID-02", group2 : "" } ]; ``` ```javascript // Use the flag "g" to enable multiple captures and the flag "J" to enable duplicate group names. coouser.RegexCaptureEx("ID-01-ABC, ID-02-Z", "(?ID-(?[0-9]*)-(?[A-Z]*))", "Jg"); // returns [ { Id : "ID-01-ABC", IdSeg : ["01", "ABC"] }, { Id : "ID-02-Z", IdSeg : ["02", "Z"] }, ]; ``` -------------------------------- ### Search Query Examples Source: https://help.cloud.fabasoft.com/doc/Fabasoft-appducx-Expressions/fabasoft-appducx-expressions.htm Various examples of search queries using SELECT, SCOPE, DOMAINS, and LIMIT. ```text // Returns all Note objects SELECT objname FROM NOTE@1.1:NoteObject ``` ```text // Returns contact persons with "Jefferson" in COOSYSTEM@1.1:usersurname SELECT objname FROM FSCFOLIO@1.1001:ContactPerson WHERE .usersurname = 'Jefferson' ``` ```text // The settings in the query scope object restrict the search // Account objects are returned that reference the current user as owner SCOPE (#FSCFOLIOCRM@1.1001:CRMQueryScope) SELECT * FROM FSCFOLIOCRM@1.1001:Account WHERE .objowner = coouser ``` ```text // The search is restricted to the domain with object address COO.1.1900.1.1 DOMAINS ('COO.1.1900.1.1') SELECT .objname FROM CurrentDomain ``` ```text // Returns users that are created between the last hour and last half-hour SELECT objname FROM User WHERE (.objcreatedat >= coonow-60*60) AND (.objcreatedat < coonow-30*60) ``` ```text // Returns users with a task in the task list SELECT objname FROM User WHERE .COOAT@1.1001:attasklist IS NOT NULL ``` ```text // A query scope object is used and the search is restricted to 100 result entries SCOPE (#FSCLEGALHOLD@1.1001:LegalHoldQueryScope) LIMIT 100 SELECT objname FROM Object WHERE .FSCLEGALHOLD@1.1001:objlegalholds.objowner = coouser ``` -------------------------------- ### Variable Declaration and Usage Example Source: https://help.cloud.fabasoft.com/doc/Fabasoft-appducx-Expressions/fabasoft-appducx-expressions.htm Example demonstrating variable declaration and a loop processing search results. ```text integer @bulksize = 150; string @query = "SELECT objname FROM APPDUCXSAMPLE@200.200:Order"; searchresult @sr = coort.SearchObjectsAsync(cootx, @query); Order[] @results = null;while ((@results = @sr.GetObjects(@bulksize)) != null) { %%TRACE("Fetched chunk of search results", @results); @results.ProcessOrder(); } ``` -------------------------------- ### Define AppPackage and UsageDayVolume instances Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-cooattredit-UsageDayVolume.htm Example configuration for an AppPackage and its associated UsageDayVolume instance. ```COAST instance AppPackage AppPackageBluePrintUD { objaclobj = DefaultAdministratorACL; pkgincludedpackage = AppPackageFabasoftCloudFull; pkgapps = { { AppBluePrintRoom, FSCFOLIOCLOUDUTTEAMROOM@1.1001 }, { AppBluePrintSkillsRoom, FSCFOLIOCLOUDUTTEAMROOM@1.1001 } } pkgactivatedconfiguredgapps = { { AppBluePrintRoom, FSCFOLIOCLOUDUTTEAMROOM@1.1001 }, { AppBluePrintSkillsRoom, FSCFOLIOCLOUDUTTEAMROOM@1.1001 } } pkgprimaryapp = AppBluePrintRoom; pkgassignementpriority = 550; pkgassignmentmode = PAM_ANYONE; pkgtype = PT_USAGE_DAYS_EDITION; pkgrootpackage = AppPackageBluePrint; pkgbasepackage = AppPackageCloudRegistered; pkgprofile = UserProfileCloudProfessional; pkgnameshop = {} pkgexperimental = true; pkgurlcontract = "https://www.example.com/contract"; pkgurlwhatsnew = "https://help.example.com/index.php?topic=doc/Whats-New-in-the-Fabasoft-Cloud-ger/index.htm"; pkgurlonlinehelp = "https://help.example.com/"; } instance UsageDayVolume AppPackageBluePrint100UD { objaclobj = DefaultAdministratorACL; symbol = SymbolArchive; appnameshop = {} cuvpackage = AppPackageBluePrintUD; cuvvolume = 100; } ``` -------------------------------- ### CreateTeamRoomInit Web Service Example Source: https://help.cloud.fabasoft.com/doc/Fabasphere-Web-Services/standard-web-services-for-the-fabasphere.htm Retrieves required information for teamroom creation, such as assigned organizations. Security levels are not supported. ```JSON { "groups":{ "_":"Group", "objaddress":"COO.1.506.1.8025", "objname":"Cloud DataXchange" }, "securitylevels":null, "errors":null, "enforceprimarygroup":false, "preselectprimarygroup":true } ``` -------------------------------- ### FSCEXPEXT@1.1001:PrependIfMissing Source: https://help.cloud.fabasoft.com/doc/Reference-Documentation/class-fscexpext-StringUtilsFunctions.htm Prepends a prefix to the start of a string if the string does not already start with any of the specified prefixes. ```APIDOC ## FSCEXPEXT@1.1001:PrependIfMissing ### Description Prepends the prefix to the start of the string if the string does not already start with any of the prefixes. A null source string is treated as the empty string. A null or empty prefix string will return the source string. ### Parameters - **str** (string) - The source string. - **prefix** (string) - The string to prepend. - **result** (string) - The resulting string. - **prefixes** (string[]) - Optional list of strings to test before prepending. - **ignorecase** (boolean) - Optional flag to compare case-insensitively. ``` -------------------------------- ### Antenna House Option Setting File Example Source: https://help.cloud.fabasoft.com/doc/Antenna-House-Formatter-eng/setup-for-administrators-.htm A sample XML configuration file defining formatter and PDF settings for the Antenna House deployment format. ```xml ```