Administration TasksPermanent link for this heading

Management of Fabasoft Folio ServicePermanent link for this heading

To back up or clean up Fabasoft Folio Service the command line tool fscadmin can be used. The tool can be found in /opt/fabasoft/bin.

To be able to use this tool, you have to switch to user fscsrv:

# su - fscsrv

Example:

  • To list all Fabasoft Folio Service use the following command:
    ./fscadmin --action list --host localhost
  • To back up the content areas of service four execute the following command:
    ./fscadmin --action backup --service 4 --host localhost
  • To clean up all content areas of the Fabasoft Folio Domain until yesterday use the following command:
    ./fscadmin --action cleanup --service all --time 1 --host localhost
  • To clean up all content areas of the Fabasoft Folio Domain until yesterday with an execution time limit of 60 minutes use the following command:
    ./fscadmin --action cleanup --service all --time 1 --host localhost --limit 60
  • To check the content consistency of the Fabasoft Folio Domain use the following command:
    ./fscadmin -–action checkconsistency -–service all –-host localhost
  • To synchronize the contents of a CAS area by taking the creation date into account use the following command:
    ./fscadmin –-action cleanup –-service all –-syncbydate 2010-06-06 –-host localhost
  • To synchronize the daily backup directory of a CAS area use the following command:
    ./fscadmin –-action cleanup –-service all –-synctobackup 2010-06-06 –-host localhost
  • To restore the daily backup directory of a CAS area use the following command:
    ./fscadmin –-action cleanup –-service all –-syncfrombackup 2010-06-06 -–host localhost
  • To clean up the daily backup directory of a CAS area use the following command:
    ./fscadmin –-action cleanup –-service all –-cleanupbackup 2010-06-06 -–host localhost

To clean up a CAS backup directory with the need of a minimum number of passed days since the deletion of a file in the CAS Area the command line tool cleanbackup can be used.

To be able to use this tool, you have to install fsc-cas-utils.rpm.

Example:

  • To remove files from the backup directory which have been deleted for at least 60 days in the CAS Area:
    cleanbackup –root /path/to/backupdirectory –days 60

Management of the Fabasoft Folio Server CachePermanent link for this heading

To save or load the cached Fabasoft Folio objects of the Fabasoft Folio COO Service also the command line tool fscadmin can be used.

Example:

  • To save the COO addresses of all currently cached objects into a file use the following command:
    ./fscadmin --action savecache –-file <filename> –-service <COO service number>
  • To load objects, of an already saved cache state, into the Fabasoft Folio server cache use the following command:
    ./fscadmin --action loadcache –-file <filename> –-service <COO service number>
  • To load all objects, and all referenced objects, of a database query result into the Fabasoft Folio server cache use the following command:
    ./fscadmin --action loadbyquery –-query "SELECT objname FROM UserEnvironment"
    This query initializes the Fabasoft Folio server cache with all User Environments and all referenced objects (e.g. commonly used objects COOSYSTEM@1.1:usrenvlocalobjects).

Execution of Fabasoft app.ducx ExpressionsPermanent link for this heading

To execute Fabasoft app.ducx Expressions the command line tool fsceval can be used. This tool can be found in the /opt/fabasoft/bin directory also.

Usage: fsceval { argument }

  -verbose            ... verbose

  -nologo             ... suppress banner logo

  -ducxunit           ... enable ducx unit test

  -formatoutput       ... print formatted output

  -dumptokens         ... enable dumptokens

  -eval <expr>        ... evaluate <expr>

  -file <path>        ... evaluate contents of file <path>

  -stdin              ... evaluate contents of stdin

  -assert             ... enable assert mode

  -flags <f>          ... use thread flags <f>

  -evalflags <f>      ... use evaluation flags <f>

  -env <path>         ... load environment variables in <path>

  -threads <t>        ... number of threads <f>

  -login <logname>    ... login for user <logname>, privileged account required

  -userfile <path>    ... login based on user list in <path>

  -tracetoconsole     ... trace output to console

  -tracetofile <path> ... trace output to file <path>

  -trace              ... use debugger interfaces for trace

Example:

Execution of a simple expression (as one command line):
su -
fscsrv -c "fsceval -eval \"coort.Trace('hello world')\""

Checking Log FilesPermanent link for this heading

In case of problems log files may provide useful information. The Fabasoft Folio log files can be found here:

  • /var/opt/fabasoft/log/*
  • /tmp/fscsetup.log
  • /var/log/messages

Additional Administration TasksPermanent link for this heading

  • To clear the generated object images of an object the action FSCCONV@1.1001:ClearObjectImages can be used. Doing so the preview images of the object will be regenerated by the next access to the images:
    Example: <object>.FSCCONV@1.1001:ClearObjectImages();
  • To clear the generated object images of a set of objects defined by  a Fabasoft Folio Query the action FSCCONV@1.1001:ClearObjectImages can be used:
    Example: coouser.FSCCONV@1.1001:ClearObjectImages("SELECT objname FROM COOSYSTEM@1.1:ContentObject WHERE .FSCCONV@1.1001:objimgnextretry IS NOT NULL", "/tmp/log.txt");
  • To upgrade all saved object versions and resave the object versions with the current state the action COOSYSTEM@1.1:UpgradeVersions can be used. Object versions stored in delta tables (prior to Fabasoft Folio version 7) will be resaved as blob-based version. The first parameter specifies the Fabasoft Folio version up to which object versions should be upgraded. A value of 1407 means that all versions created with Fabasoft Folio versions smaller 14.0.7 will be migrated. The action can be called on a domain object meaning that all object versions in all Fabasoft Folio COO Services will be upgraded. Alternatively a call on a dedicated COO Service is also possible, which makes parallelization possible. In case of a domain object, a Fabasoft Folio query can be specified to restrict the upgrade process to the query result.
    Examples:
    • #TV.TV_LOGFILE = "c:\\upgradeversions.log";
      coodomain.UpgradeVersions(1407);
    • #TV.TV_LOGFILE = "c:\\upgradeversions.log";
      <coosrv>.UpgradeVersions(1407);
    • #TV.TV_LOGFILE = "c:\\upgradeversions.log";
      coodomain.UpgradeVersions(1407, "SELECT objname FROM NOTE@1.1:NoteObject");
  • After updating Fabasoft Folio with a version lower than 2020 to version 2020 or higher, the ACLs must be migrated.
    To update every old ACL reference to their corresponding new ACL the action COOSYSTEM@1.1:UpgradeACLs can be used. This action optionally takes one parameter to specify the amount of threads (default: 1), two parameters to manually specify the old ACL and the new ACL, and a parameter to specify the upgrade step to execute (default: all; UPGRADEACLS_SERVER migrates COOSYSTEM@1.1:objaclobj using the COO Service, UPGRADEACLS_KERNEL migrates all other ACL attributes using Kernel-based object updates). One thread acts on one COO Service at a time. Threads are only used for updating the references in COOSYSTEM@1.1:objaclobj. All other attributes are updated after successfully updating all references in COOSYSTEM@1.1:objaclobj. If some objects cannot be updated due to a lock, the update on these objects is retried once.
    Examples:
    • #TV.TV_LOGFILE = "./upgradeacls.log";
      coodomain.UpgradeACLs(4)
      ;
    • #TV.TV_LOGFILE = "./upgradeacls.log";
      coodomain.UpgradeACLs(, oldacl, replacementacl);
    • #TV.TV_LOGFILE = "./upgradeacls.log";
      coodomain.UpgradeACLs(, [oldacl1, oldacl2], [replacementacl1, replacementacl2]
      , UPGRADEACLS_SERVER);