General Information
For the system requirements and prerequisites regarding tia® Store please refer to Prerequisites for tia® and kgs Software Components The SAP ArchiveLink-model is based on a "Document / Component"-structure. A document is a container that may contain one or more components. A document may in theory also contain zero components. Depending on your configuration and the flavour/-s of storage systems you provide KGS Store will create a directory tree for each document. The tree may follow this structure: /<Archpath>/<ContentRepositoryID>/<DocumentID (splitt into multiple sub-sections)>/<Last digits of DocumentID All documentIDs may have a minimal length of 12 characters (leading zeros may be added to it). All document and component files may start with the last three digits of the document ID. For every SAP document a *_Info-file may be created which contains properties related to the SAP document. For every SAP component a *_comp-ID.Data-file as well as a *_comp-ID.Info-file may be created. The *_comp-ID.Data-file may contain the data of the archived component. The *_comp-ID.Info-file may contain additional properties and information related to the archived component. ContentRepositoryID: T1 DocumentID: 0F24D05D46A6CC478CB48EA4734AFE8 Components: 1 Component If a provided DocumentID contains characters which may lead to a sub directory structure which isn't allowed (for example names like: COM1, LPT1 or contains characters which aren't supported by the storage system like "<>:?") the pathname may be encoded by Base32 algorithm and you may find a subfolder called "codedIds". The path may have the same structure as described above. If a ComponentID contains characters which aren't supported (like \</>:?) the separator between the last characters of the DocumentID will be "-codedid_" instead of "_". The ComponentID may be encoded by Base32 algorithm as well. If a ComponentID leads to a filename which may exceed the allowed filename length of your filesystem (or the length defined by the parameter MaxFileNameLength) the separator between the last characters of the DocumentID "_" may be replaced by "-codedFP_". The ComponentID may be used to create a hash value (Fingerprint) which will be encoded using Base32 algorithm for having the shortest possible filename that is associated to the ComponentID. The original ComponentID may be stored in the Component-Info-file in this case.System Requirements
Storage types
Sample (STORAGEFS)
Unsupported characters in DocumentID
Unsupported characters in ComponentID
Filenames exceeding the allowed filename length
Installation
KGS Store is part of the software package (WAR-file) you received from KGS and is bundled within the KGS Generic SAPALink Provider. In addition to the KGS Store base modules depending on your desired storage backend other modules and components will have to be installed as well. See KGS Generic SAPALink Provider Changelog (Generic) In order to connect to EMC Centera Storage system the following additional components are required: In order to use DELL DX Storage system the following additional components are required: To use database-supported filesystem-based filing you'll have to install the JDBC driver for your database. Please contact your database team for further details.Additional requirements for different storage backends
Additional modules for S3
Additional modules for EMC Centera
Additional modules for DELL DX
Additional modules for database support
Configuration
The name for the configuration-file must be specified in the web.xml file of your servlet. To locate the designated file for the software configurations please have a look into the web.xml-file located in the WEB-INF-directory. Example: /opt/tomcat/webapps/KGS ContentServer/WEB-INF/web.xml KGS Store is being delivered with a variety of flavours and options which allow the connection to many commonly used storage backends. In order to use the StorageType that suits your requirements best please make sure that your installation contains necessary additional libraries and modules. Due to the variety of configurations please see the related page for your designated storage backend.
ArchiveLink - Common Settings
[COMMON SETTINGS]
Parameter | Value | Description | Default |
---|---|---|---|
Debuglevel | 0 = output stdout- off 1 = output stdout- on | 0 | |
StorageType | Available filing modes 0 = Native filesystem 1 = Centera 2 = NetApp 3 = Native filesystem with Database 4 = Centera with Database 5 = ICAS 6 = ICAS Filesystem 7 = ORACLE UCM 8 = SharePoint (not available) 9 = DELL DX 10 = DELL DX with Database 11 = Microsoft Azure 12 = S3 13 = S3 Managed Buckets | For more detailed information please see section 0 = [StorageFS] 1 = [EMC Centera] 2 = [NetApp] 3 = [StorageFSDB] 4 = [EMC Centera DB] 5 = [ICAS] 6 = [ICASFS] 7 = [OracleUCM] 8 = [SHAREPOINT] (not available) 9 = [DELL] 10 = [DELLDB] 11 = [] 12 = [STORAGE_S3] | 0 |
Log-File | Defines the absolute path of the log file. (including filename) | ||
Log-Mode | 1 = log errors 2 = log warnings 4 = log debug information. 8 = log performance information | Defines which kind of information shall be logged. A combination of these values is possible. Examples: Errors + Warnings → Log-Mode = 3 Errors + Warnings + Debug → Log-Mode = 7 | 0 |
Log-FlushInterval | Integer | Defines after how many lines the log entries are written to the log file. | 10 |
Log-FileCloseTime | Integer | Defines after how many seconds the log file writer should be closed automatically (it will be reopened with the next log entry) | 5 |
EnableComponentRead | true / false | Permitting offset/length access to component Recommendation: TRUE | TRUE |
EnableComponentDelete | true / false | Permit deleting components | TRUE |
KeyExportPath | Metadata information provided by SAP (Keyexport) will stored there. | ||
KeyExportMode | Integer | When enabled exports the key to an external Database. 0 = Key is not exported to an external database 1 = Key will be exported to an external database. | 0 |
TempPath | Directory for temporary files. | ||
EnableCheckRetentionDate | true / false | Enables the retention check by the software (if being enabled). | TRUE |
OpCode | 0 = disabled 1 = Create missing doc.info-files | Please note that for the usage of Netapp-configuration it's necessary that the OpCode-option is being enabled. | 0 |
ArchiveLink - STORAGEFS (0)
[COMMON SETTINGS] In order to use STORAGEFS, please set in [COMMON SETTINGS] section the parameter StorageType = 0. [STORAGEFS] Parameter Value Description Defaults ArchPath String Defines the path, where documents will be stored. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: ArchPath_T1 = /opt/storage/T1 Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification. Example: ArchPath#1_T1 = /opt/storage1/T1 ArchPath#2_T1 = /opt/storage2/T1 Please note that every defined ArchPath needs to be existent as well as it has to be accessible for the user KGS store is running on. ContRepInPath true / false Repository ID in document filing structure on/off TRUE DataEncoding Integer 0 = No data encoding 1 = KGS encoding This parameter can be set per ContentRepository. Example: DataEncoding = 0 DataEncoding_T1 = 1 0 DuplicatePath String Defines the path for storing duplicates of the data (mirroring). Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: DuplicatePath_T1 = /opt/storage/T1 Multiple path configurations are possible by adding a "#<number>" between DuplicatePath and potential trailing repository specification. Example: DuplicatePath#1_T1 = /opt/storage1/T1 DuplicatePath#2_T1 = /opt/storage2/T1 EnableComponentMove true/false Move files instead of copying to ArchPath. If this option is being enabled it increases the performance if the working directory of the ContentServer and the defined ArchPath are on the same hard disk. FALSE FreeDiscSpaceArchPath Integer Defines the minimal amount of space in megabyte that should be kept free. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: FreeDiscSpaceArchPath_T1 = 1024 Multiple space configurations are possible by adding a "#<number>" between FreeDiscSpaceArchPath and potential trailing repository specifications. Example: FreeDiscSpaceArchPath#1_T1 = 1024 FreeDiscSpaceArchPath#2_T1 = 512 Maximum allowed value: 2147483647, higher values will be ignored! 0 FreeDiscSpaceDuplicatePath Integer Defines the minimal amount of space in megabyte that should be kept free. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: FreeDiscSpaceDuplicatePath_T1 = 1024 Multiple space configurations are possible by adding a "#<number>" between FreeDiscSpaceArchPath and potential trailing repository specifications. Example: FreeDiscSpaceDuplicatePath#1_T1 = 1024 FreeDiscSpaceDuplicatePath#2_T1 = 512 HashAlg MD5 / SHA1 / SHA-256 / SHA-384 / SHA-512 Defines the hashing algorithm used for the hash key. Empty means that the hash mode is off. This parameter can be set per ContentRepository. Example: HashAlg_T1 = MD5 MD5 HashCheck true / false Enables or disables the hashkey check during document checkout (get). This parameter can be set per ContentRepository. Example: HashCheck = false HashCheck_T1 = true FALSE MaxFileNameLength Integer Defines a limitation for the maximal length of the filename. When this limit has exceeded the part of the ComponentID in the filename is being replaced by a fingerprint of the ComponentID and the original ComponentID is being stored in the info-file. Use this parameter only if your file system has a limitation that does not fit to the documents you want to archive. 0 = no limitation 0 ReadOnly List of ContentRepository name/-s, separated by a comma Defines a list of one or many ContentRepositories which shall be handled as read-only. For every repository specified here, all write-requests will be rejected. RetentionPeriod Integer Defines the amount of time (in months) from the creation date until the document should be protected from deletion. (Must be used together with EnableCheckRetentionDate = TRUE) Retention periods can be set per ContRep and per document mime-type. Example: RetentionPeriod_T1=36|application /x-alf=1000|application/x- reo=5|image/tiff=6
ArchiveLink - EMC CENTERA (1)
[COMMON SETTINGS] In order to use EMC CENTERA without a database, please set in [COMMON SETTINGS] section the parameter StorageType = 1. [EMC CENTERA] Parameter Value Description Defaults ArchPath Path for Filesystemindex for storing Center Clip-IDs (One Clip-ID for each SAP-document). CenteraPoolAddress List of Centera-IP-Addresses The pool addresses can be a comma-separated string of IP-addresses or DNS names of available Centera-nodes. This example specifies a connection string with multiple IP-addresses which is a best practice that protects against the unavailability of one or more nodes within the cluster. 10.1.1.1,21.17.3.12,16.123.121.90 This example opens a pool using the specified PEA-file. 10.62.153?C:\EMC\RWE.pea (Please confirm Centera documentation for details) You can define one pool address per Repository ID by using Key "CenteraPoolAddress_xx" (xx = Repository-ID). CompClip-DescA_n-xx-yyyy Syntax: AttributeName,AttributValue n= counter starting with 1 xx=SAP Repository ID yyyy= SAP Component-ID (If yyyy isn't specified, the attributes are valid for all Components) Attribute namens with special functionality (see EMC SDK): RetentionPeriod -> in Month (will be converted to seconds for EMC Centera) must be set with this parameter. e.g. CompClip-DescA_1-O1 = RetentionPeriod,10 DocClip-DescA_n-xx Syntax: AttributeName,AttributValue Attribute names with special functionality (see EMC SDK) Optional n= counter starting with 1 xx=SAP Repository ID EmbeddedDataThreshold Integer The maximum data size in bytes for data to be embedded in the CDF instead of being stored as separate blobs. Max. value: 102400 102400 For each SAP document one Centera file (CLIP) will be created with all administration data required by the document container. Every "document clip" contains all references to the "component Clip's". None of the Clips may have a tag with a BLOB (datafile). All ClipIDs of corresponding components may be stored in the attributes tags. CLIP-Name = SAP-ArchiveLink-Document. Clip SAP-ArchiveLink Document Attribute-Name Attribute-Value Mandatory Description app-vendor KGS Software GmbH app-name SAP LINK EMC Centera app-version 01.00 app-profileversion 01.00 X Prop-type Document X Prop-archivid X SAP ContentrepositoryID Prop-docid X SAP DocumentID Prop-alversion X ArchiveLink-Version 0031 / 0045 Prop-protection SAP Protection Flag Prop-createtime X SAP creating time Prop-createdate X SAP creating date Prop-changetime X SAP modification time Prop-changedate X SAP modification date Prop-barcode SAP barcode (for future usage) Tag CompclipID CompID X SAP Comp-ID cid X CLIP ID Component The data files are saved as BLOG in the tag compdata. If the filesize is less than the specified size in the parameter EmbeddedDataThreshold no separare BLOG will be used for storing the data. Instead of an external BLOB file the document data will be embedded in the CDF file. This is being handled by Centera internally. Clip SAP-ArchiveLink-Component Attribute-Name Attribute-Value Mandatory Description app-vendor KGS Software GmbH app-name SAP Link EMC Centera app-version 01.00 app-profileversion 01.00 X prop-type component X prop-archivid X SAP ContentrepositoryID prop-docid X SAP DocumentID prop-compid X SAP ComponentID prop-alversion X ArchiveLink Version 0031 / 0045 prop-createtime X SAP creation time prop-createdate X SAP creation date prop-changetime X SAP modification time prop-changedate X SAP modification date prop-appversion SAP Application Version prop-comptype SAP Mimetype prop-charset SAP Characterset Tag Name = Component data Filename X SAP Filename The KGS ConentServer provides an additional http-command in order to request a Centera ClipID of an ArchiveLink document. The http-URL has the following syntax: http://<ipaddress:port>/prgname?docPropertyGet&docid=<DocumentID>&propId=<PropertyID>Additional Information
CFG File
CFG-Sample
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<ecml version="3.0">
<eclipdescription>
<meta name="type" value="Standard"/>
<meta name="name" value="SAPAL Document"/>
<meta name="creation.date" value="2005.03.23 12:38:10 GMT"/>
<meta name="modification.date" value="2005.03.23 12:39:00 GMT"/>
<meta name="creation.profile" value="anonymous"/>
<meta name="modification.profile" value="anonymous"/>
<meta name="numfiles" value="0"/>
<meta name="totalsize" value="0"/>
<meta name="refid" value="8B56JFU7VKDF1390BPB0S94CKL"/>
<meta name="prev.clip" value=""/>
<meta name="clip.naming.scheme" value="MD5"/>
<meta name="numtags" value="1"/>
<meta name="retention.period" value="0"/>
<custom-meta name="app-vendor" value="EMC (Powered by KGS)"/>
<custom-meta name="app-name" value="SAPALINK Centera"/>
<custom-meta name="app-version" value="01.00"/>
<custom-meta name="app-profileversion" value="01.00"/>
<custom-meta name="prop-type" value="document"/>
<custom-meta name="prop-archivid" value="T1"/>
<custom-meta name="prop-docid" value="27F31DBF78F34D4BB50C2816133EB434"/>
<custom-meta name="prop-alversion" value="0045"/>
<custom-meta name="prop-protection" value="rucd"/>
<custom-meta name="prop-createtime" value="133810"/>
<custom-meta name="prop-createdate" value="20050323"/>
<custom-meta name="prop-changetime" value="133810"/>
<custom-meta name="prop-changedate" value="20050323"/>
<meta name="sdk.version" value="2.3.327"/>
</eclipdescription>
<eclipcontents>
<compclipid cid="8BK1G3RHK69QBe1ES6EAS9PRGGB" compid="data"/>
</eclipcontents>
</ecml>
Content handling
CDF File
CDF-Sample
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<ecml version="3.0">
<eclipdescription>
<meta name="type" value="Standard"/>
<meta name="name" value="SAPAL Component"/>
<meta name="creation.date" value="2005.03.23 12:38:10 GMT"/>
<meta name="modification.date" value="2005.03.23 12:38:10 GMT"/>
<meta name="creation.profile" value="anonymous"/>
<meta name="modification.profile" value="anonymous"/>
<meta name="numfiles" value="1"/>
<meta name="totalsize" value="7716"/>
<meta name="refid" value="7CSR4L4SJ97N6D9GJV26UE3EN0"/>
<meta name="prev.clip" value=""/>
<meta name="clip.naming.scheme" value="MD5"/>
<meta name="numtags" value="1"/>
<custom-meta name="app-vendor" value="EMC (Powered by KGS)"/>
<custom-meta name="app-name" value="SAPALINK Centera"/>
<custom-meta name="app-version" value="01.00"/>
<custom-meta name="app-profileversion" value="01.00"/>
<custom-meta name="prop-type" value="component"/>
<custom-meta name="prop-archivid" value="T1"/>
<custom-meta name="prop-docid" value="27F31DBF78F34D4BB50C2816133EB434"/>
<custom-meta name="prop-compid" value="data"/>
<custom-meta name="prop-alversion" value="0045"/>
<custom-meta name="prop-createtime" value="133810"/>
<custom-meta name="prop-createdate" value="20050323"/>
<custom-meta name="prop-changetime" value="133810"/>
<custom-meta name="prop-changedate" value="20050323"/>
<custom-meta name="prop-appversion" value="Application V1.00"/>
<custom-meta name="prop-comptype" value="image/tiff"/>
<custom-meta name="prop-charset" value="Charset001"/>
<meta name="sdk.version" value="2.3.327"/>
</eclipdescription>
<eclipcontents>
<compdata filename="C:\Dokumente und Einstellungen\Grau\Eigene Dateien\S0000001.TIF">
<eclipblob md5="2SKF8I7TV30MJx55EI6UT27E7D0" size="7716" offset="0"/>
</compdata>
</eclipcontents>
</ecml>
Addon functionality: Requesting a Centera ClipID for a given Document
ArchiveLink - NetApp (2)
[Common Settings] In order to use NetApp, please set in [COMMON SETTINGS] section the parameter StorageType = 2. Parameter Value Description Defaults ArchPath String Defines the path, where documents will be stored. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: ArchPath_T1 = /opt/storage/T1 Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification. Example: ArchPath#1_T1 = /opt/storage1/T1 ArchPath#2_T1 = /opt/storage2/T1 Please note that every defined ArchPath needs to be existent as well as it has to be accessible for the user KGS store is running on. ContRepInPath true / false Repository ID in document filing structure on/off TRUE DataEncoding Integer 0 = No data encoding 1 = KGS encoding This parameter can be set per ContentRepository. Example: DataEncoding = 0 DataEncoding_T1 = 1 0 DuplicatePath String Defines the path for storing duplicates of the data (mirroring). Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: DuplicatePath_T1 = /opt/storage/T1 Multiple path configurations are possible by adding a "#<number>" between DuplicatePath and potential trailing repository specification. Example: DuplicatePath#1_T1 = /opt/storage1/T1 DuplicatePath#2_T1 = /opt/storage2/T1 EnableComponentMove true/false Move files instead of copying to ArchPath. If this option is being enabled it increases the performance if the working directory of the ContentServer and the defined ArchPath are on the same hard disk. FALSE FreeDiscSpaceArchPath Integer Defines the minimal amount of space in megabyte that should be kept free. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: FreeDiscSpaceArchPath_T1 = 1024 Multiple space configurations are possible by adding a "#<number>" between FreeDiscSpaceArchPath and potential trailing repository specifications. Example: FreeDiscSpaceArchPath#1_T1 = 1024 FreeDiscSpaceArchPath#2_T1 = 512 0 FreeDiscSpaceDuplicatePath Integer Defines the minimal amount of space in megabyte that should be kept free. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: FreeDiscSpaceDuplicatePath_T1 = 1024 Multiple space configurations are possible by adding a "#<number>" between FreeDiscSpaceArchPath and potential trailing repository specifications. Example: FreeDiscSpaceDuplicatePath#1_T1 = 1024 FreeDiscSpaceDuplicatePath#2_T1 = 512 HashAlg MD5 / SHA1 / SHA-256 / SHA-384 / SHA-512 Defines the hashing algorithm used for the hash key. Empty means that the hash mode is off. This parameter can be set per ContentRepository. Example: HashAlg_T1 = MD5 MD5 HashCheck true / false Enables or disables the hashkey check during document checkout (get). This parameter can be set per ContentRepository. Example: HashCheck = false HashCheck_T1 = true FALSE MaxFileNameLength Integer Defines a limitation for the maximal length of the filename. When this limit has exceeded the part of the ComponentID in the filename is being replaced by a fingerprint of the ComponentID and the original ComponentID is being stored in the info-file. Use this parameter only if your file system has a limitation that does not fit to the documents you want to archive. 0 = no limitation 0 ReadOnly List of ContentRepository name/-s, separated by a comma Defines a list of one or many ContentRepositories which shall be handled as read-only. For every repository specified here, all write-requests will be rejected. LockFiles true / false Enables or disables the hardware lock (SnapLock) when storing the document. True RetentionPeriod Integer Defines the amount of time (in months) from the creation date until the document should be protected from deletion. (Must be used together with EnableCheckRetentionDate = TRUE) Retention periods can be set per ContRep and per document mime-type. Example: RetentionPeriod_T1=36|application /x-alf=1000|application/x- reo=5|image/tiff=6
[NETAPP]
ArchiveLink - STORAGEFSDB (3)
[COMMON SETTINGS] In order to use StorageFS with a database, please set in [COMMON SETTINGS] section the parameter StorageType = 3. The following database vendors are supported: Oracle-JDBC, MSSQL, H2 (based on MySQL) For an Oracle database, please see the following article . [STORAGEFSDB] Parameter Value Description Defaults ArchPath Defines the path, where documents will be stored. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: ArchPath_T1 = /opt/storage/T1 Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification. Example: ArchPath#1_T1 = /opt/storage1/T1 ArchPath#2_T1 = /opt/storage2/T1 Please note that every defined ArchPath needs to be existent as well as it has to be accessible for the user KGS store is running on. ContainerCachePath Cachepath for Containeroptin ContainerMaxDocSizeMB Integer Documents with a size more than this limit (in MB) will be stored as a single file (not in a container). 500 ContainerMaxMB Integer Size limit for a container. 0 ContainerMaxFiles Integer 0 = Containermode disabled Can be specified per ContentRepository by adding “_<ContRep>”. Example: ContainerMaxFiles_T1=500 1000 ContainerCacheMaxTime Integer Maximum time in seconds after a container will be closed when no new archiving request arrives. 3600 ContRepInPath true / false Repository ID in document filing structure TRUE EnableComponentMove true / false Move files instead of copying to ArchPath. If this option is being enabled it increases the performance if the working directory of the ContentServer and the defined ArchPath are on the same hard disk. FALSE EnableFileDelete true / false If file delete is not enabled, the dataset in the database will be deleted by a delete request, but the corresponding component file remains in the filesystem. TRUE EnableFilesWithExtension true / false Datafilenames with fileextention (depending on MIMEType) RetentionPeriod Integer Defines the amount of time (in months) from date of filing until which deletion should be prevented.. Retention periods can be set per ContRep and per document mime time. Example: RetentionPeriod_T1=36|application /x-alf=1000|application/x- reo=5|image/tiff=6 0 FolderDepth Integer For more information: STORAGEFSDB - Additional Information 2 FolderMax Integer Defines the maximal possible number of entries per Node. 1000 FolderMaxFiles Integer Defines the maximal possible number of files in a folder. 1000 FolderPrefix String / Char <yyyyMMdd> = Dateprefix in folderstructure. Example:\ArchPath\T1\20110825\0000\0000\document.pdf DB-URL String / Char Connection URL for the database. Sample for Oracle: jdbc:oracle:thin:@169.254.25.100:1521:KGSSTORE DB-Driver String / Char JDBC driver name. If (DB-URL not set) DB-USER String / Char Database username DB-PASSWORD String / Char Database user password The password will be encrypted after the first start. DB-TableNamePrefix_xx String / Char Prefix for database tables. ContRep DisableFullPath true / false True = document reference in database is relative to parameter ArchPath. Otherwise, the full path to the document will be stored. FALSE Repositories List of RepositoryIDs List of comma-separated Repository-ID’s. Repositories for which database tables may be created automatically. Sample: FI, T1 LockFiles true / false Lock files at the file system if retention is activated. TRUE IgnoreContRepID List of RepositoryIDs List of comma-separated RepositoryID’s. For this repository the key CSREPID will be ignored for database accesses, so the DocumentID will be the unique key to the document. ChangeRepositoryIDs List of RepositoryIDs Repository ID’s to change, comma-separated. This parameter works only in combination with parameter IgnoreContRepID. If a document is archived with one of these ID’s, the first access to this document with a different ContentRepID will over-write the repository information in the document info file. KGS Store will create a directory tree which depends on the parameter FolderDepth. In the lowest subfolder the document data file will be saved. KGS Store uses three tables for storing all needed component and document information Table: <Prefix_>DOCUMENT Field name Field value Type Description CSREPID (Index) VARCHAR(40) SAP ContentRepositoryID DOCID (Index) VARCHAR(40) SAP DocumentID ALVERS 4500 VARCHAR(4) ArchiveLink-Version 0031 / 0045 PROTECTION VARCHAR(4) SAP ProtectionFlag CREDATETIME DATE SAP creation timestamp MODDATETIME DATE SAP modification timestamp RETDATE CHAR(8) Retention Date BARCODE CHAR(40) SAP barcode (for future use) Table: <Prefix_>COMPONENT Field name Field value Type Description CSREPID (Index) VARCHAR(40) SAP ContentrepositoryID DOCID (Index) VARCHAR(40) SAP DocumentID COMPID (Index) VARCHAR(512) SAP CompID ALVERS 4500 VARCHAR(4) ArchiveLink-Version 0031 / 0045 CREDATETIME DATE SAP creation timestamp MODDATETIME DATE SAP modification timestamp RETDATE DATE Retentiondate APPVERS VARCHAR(80) SAP Application Version COMPTYPE VARCHAR(80) SAP Mimetype CHARSET VARCHAR(80) SAP Charset FILESIZE NUMBER FILEN VARCHAR(512) Filename in file system (if CONTAINERFILE is not empty, Filename of a ZIP Container) ORGFILEN VARCHAR(512) Original filename CONTAINERFILE VARCHAR(255) Filename in container (if container HASHALG VARCHAR(10) Hash algorithm HASKEY VARCHAR(128) Hash key HASHALGCONTFILE VARCHAR(10) Hash algorithm container file HASHKEYCONTFILE VARCHAR(128) Hash key container file Table: DOCUMENT_KEYS Field name Field value Type Description NAME (Index) VARCHAR(40) Key name VALUE (Index) VARCHAR(255) Key value CSREPID (Index) VARCHAR(40) SAP ContentrepositoryID DOCID (Index) VARCHAR(40) SAP DocumentIDFilesystem structure
Database structure
ArchiveLink - EMC CENTERA DB (4)
[COMMON SETTINGS] In order to use EMC Centera with a database, please set in [COMMON SETTINGS] section the parameter StorageType = 4. [EMC CENTERA DB] Parameter Value Description Required Defaults DB-URL String / Char Connection-URL for the database. This parameter is optional. Sample for OracleDB: jdbc:oracle:thin:@169.254.25.100:1521:KGSSTORE Microsoft SQL Server: you need to set parameter DB-Driver String / Char JDBC driver name Required if DB-URL is not set DB-USER String / Char Database username DB-PASSWORD String / Char Database user password. Note: Password will be encrypted after the first start. CenteraPoolAddress List of Centera-IP-Addresses The pool addresses can be a comma-separated string of IP-addresses or DNS names ov available Centera-nodes. This example specifies a connection string with multiple IP-addresses which is a best practice that protects against the unavailability of one or more nodes within the cluster. 10.1.1.1,21.17.3.12,16.123.121.90 This example opens a pool using the specified PEA-file. 10.62.153?C:\EMC\RWE.pea (Please confirm Centera documentation for details) You can define one pool address per Repository ID by using Key "CenteraPollAddress_xx" (xx = Repository-ID). EmbeddedDataThreshold Integer The maximum data size in bytes for data to be embedded in the CDF instead of being stored as separate blobs. Max. value: 102400 CompClip-DescA_n-xx-yyyy Syntax: AttributeName,AttributValue n= counter starting with 1 xx=SAP Repository ID yyyy= SAP Component-ID (If yyyy isn't specified, the attributes are valid for all Components) Attribute namens with special functionality (see EMC SDK): RetentionPeriod -> in Month (will be converted to seconds for EMC Centera) must be set with this parameter. e.g. CompClip-DescA_1-O1 = RetentionPeriod,10 DocClip-DescA_n-xx Syntax: AttributeName,AttributValue Attribute names with special functionality (see EMC SDK) Optional n= counter starting with 1 xx=SAP Repository ID Repositories String / Char Repositories for which database tables may be created automatically (comma-separated.) Sample: T1,T2,T3 IgnoreContRepID List of RepositoryIDs List of comma-separated Repository-ID’s. For this repository the key CSREPID will be ignored for database accesses, so the Document-ID will be the unique key to the document. EnableContainerStreaming List of RepositoryIDs List of comma-separated Repository-ID’s. Enable streamed reading for the specified repositories when container files has to be extracted for get or read request (only in case of container registering is used) DB-TableNamePrefix_xx String / Char Prefix Table Document, Component xx (CRID) default Prefix ContentRepID ChangeRepositoryIDs List of ContentRepositoryIDs Repository ID’s to change, comma-separated. This parameter works only in combination with parameter IgnoreContRepID. If a document is archived with one of these ID’s, the first access to this document with a different ContentRepID will over-write the repository information in the document info file. ReadOnly List of ContentRepositoryIDs Comma-separated list. ContentRepository/ies that should be handled as read only. If set to true, all write requests will be rejectedsendStringParametersAsUnicode=false
, when experience high CPU utilisation in MS SQL Database.
Default: 102400
ArchiveLink - ICASFS (6)
[COMMON SETTINGS] In order to use ICASFS please set in [COMMON SETTINGS] section the parameter StorageType = 6. [ICASFS] Parameter Value Description Default ArchPath String Defines the path, where documents will be stored. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: ArchPath_T1 = /opt/storage/T1 Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification. Example: ArchPath#1_T1 = /opt/storage1/T1 ArchPath#2_T1 = /opt/storage2/T1 Please note that every defined ArchPath needs to be existent as well as it has to be accessible for the user KGS store is running on. ContRepInPath true / false Repository ID in document filing structure on/off TRUE DataEncoding Integer 0 = No data encoding 1 = KGS encoding This parameter can be set per ContentRepository. Example: DataEncoding = 0 DataEncoding_T1 = 1 0 DuplicatePath String Defines the path for storing duplicates of the data (mirroring). Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: DuplicatePath_T1 = /opt/storage/T1 Multiple path configurations are possible by adding a "#<number>" between DuplicatePath and potential trailing repository specification. Example: DuplicatePath#1_T1 = /opt/storage1/T1 DuplicatePath#2_T1 = /opt/storage2/T1 EnableComponentMove true/false Move files instead of copying to ArchPath. If this option is being enabled it increases the performance if the working directory of the ContentServer and the defined ArchPath are on the same hard disk. FALSE FreeDiscSpaceArchPath Integer Defines the minimal amount of space in megabyte that should be kept free. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: FreeDiscSpaceArchPath_T1 = 1024 Multiple space configurations are possible by adding a "#<number>" between FreeDiscSpaceArchPath and potential trailing repository specifications. Example: FreeDiscSpaceArchPath#1_T1 = 1024 FreeDiscSpaceArchPath#2_T1 = 512 0 FreeDiscSpaceDuplicatePath Integer Defines the minimal amount of space in megabyte that should be kept free. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: FreeDiscSpaceDuplicatePath_T1 = 1024 Multiple space configurations are possible by adding a "#<number>" between FreeDiscSpaceArchPath and potential trailing repository specifications. Example: FreeDiscSpaceDuplicatePath#1_T1 = 1024 FreeDiscSpaceDuplicatePath#2_T1 = 512 HashAlg MD5 / SHA1 / SHA-256 / SHA-384 / SHA-512 Defines the hashing algorithm used for the hash key. Empty means that the hash mode is off. This parameter can be set per ContentRepository. Example: HashAlg_T1 = MD5 MD5 HashCheck true / false Enables or disables the hashkey check during document checkout (get). This parameter can be set per ContentRepository. Example: HashCheck = false HashCheck_T1 = true FALSE MaxFileNameLength Integer Defines a limitation for the maximal length of the filename. When this limit has exceeded the part of the ComponentID in the filename is being replaced by a fingerprint of the ComponentID and the original ComponentID is being stored in the info-file. Use this parameter only if your file system has a limitation that does not fit to the documents you want to archive. 0 = no limitation 0 ReadOnly List of ContentRepository name/-s, separated by a comma Defines a list of one or many ContentRepositories which shall be handled as read-only. For every repository specified here, all write-requests will be rejected. RetentionPeriod Integer Defines the amount of time (in months) from the creation date until the document should be protected from deletion. (Must be used together with EnableCheckRetentionDate = TRUE) Retention periods can be set per ContRep and per document mime-type. Example: RetentionPeriod_T1=36|application /x-alf=1000|application/x- reo=5|image/tiff=6 WaitForOfflineAttr Integer Time in milliseconds waiting for offline attribut set by Icas. Only needed when Icas WriteCache is to slow. LockFiles true / false Lock files at the file system if retention is activated. (ReadOnly Flag will be set) TRUE
ArchiveLink - ORACLEUCM (7)
[COMMON SETTINGS] In order to use OracleUCM, please set in [COMMON SETTINGS] section the parameter StorageType = 7. For Oracle, please see the following article . [ORACLE UCM] Parameter Value Description ConnectionURL String / Char ConnectionURL to ICM Server User String / Char ICM Username Password String / Char ICM Userpassword Password String / Char SecurityGroup setting for the SAP Components in Oracle. This Parameter can be set per ContRep. Example (for ContRep “T1”): SecurityGroup_T1=Secure Profile String / Char Profile setting for the SAP Components in Oracle. This Parameter can be set per ContRep. Example (for ContRep “T1”): Profile_T1=IMPAPP_1 Timezone String / Char Timezone for custom date. Sample: Timezone=America/New_York
ArchiveLink - DELL (9)
Common Settings In order to use DELL, please set in [COMMON SETTINGS] section the parameter StorageType = 9. Parameter Value Description ProxyAddr String / Char The SCSP proxy address ProxyPort Integer (only relevant if parameter ProxyAddr is not blank) Portnumber Proxylocator ProxyRetryTimeout Integer (only relevant if parameter ProxyAddr is not blank) The number of seconds that an address will live in the dead pool. ClusterName String / Char (only relevant if parameter ProxyAddr is not blank) The name of the cluster to query Hosts String / Char (only relevant if parameter ProxyAddr blank) CAStor hosts as IP addressses or host names separated by “,” Sample: 129.1.2.29,129.1.2.30 .. Port Integer (only relevant if parameter ProxyAddr blank) Portnumber DX MaxConnectionPoolSize Integer Size of connection pool. Basically, the connectionPoolSize indicates how many simultaneous open connections should be allowed MaxRetries Integer Maximum number of times to retry a command on communication or server failure ConnectionTimeout Integer Idle timeout for a request in seconds. PoolTimeout Integer The amount of time in seconds an idle connection will be stored for reuse. LocatorRetryTimeout Integer The number of seconds after a node is found dead that it will be retried. ClusterDomain String / Char Domainname Cluster Username String / Char Username Domaine Password String / Char Password RetentionPeriod Integer Defines the amount of time (in month) where the deletion date should be set. Retention periods can be set per ContRep and per document mime time. Example (for ContRep “MX”): RetentionPeriod_MX=36|application /x-alf=1000|application/x- reo=5|image/tiff=6
ArchiveLink - Azure (11)
Please note that you'll have to provide additional libraries to KGS Store in order to use Azure storage. Common Settings In order to use Microsoft Azure, please set in [COMMON SETTINGS] section the parameter StorageType = 11. [ STORAGEAZURE ] Parameter DataType Description Default StorageConnectionString String Connection String for Azure Endpoint. The connection string contains the following elements: DefaultEndpointsProtocol AccountName AccountKey BlobEndpoint QueueEndpoint Sample String: "DefaultEndpointsProtocol=http;AccountName=AKOKGSDEVSTOREACC;AccountKey=MGXDPDKGFSZB7YSRDD87/BCBDAT==;BlobEndpoint=http://1.2.3.4:5678/AKOKGSDEVSTOREACC;QueueEndpoint=http://1.2.3.4:5679/AKOKGSDEVSTOREACC;"; StorageContainerName String Name of the Azure Blob Storage Container. Can be specified per contentrepository by adding a trailing "_<ContentRepository>". Sample String: StorageContainerName_FI = "repo-fi" ContRepInPath Boolean TRUE: For every Contentrepository a directory will be created and documents and / or corresponding sub-directory-trees will be attached into this directory. FALSE: Leading Contentrepository-directory will not be created. LockFiles Boolean If enabled locks all objects in compliance mode during the create process. RetentionPeriod Integer Defines the amount of time (in months) from creation date until the documents should be protected from modification. Can be specified per contentrepository by adding a trailing "_<ContentRepository>". Example: RetentionPeriod_FI = 12 HashCheck Boolean Enables or disables the hash-key check during document checkout (get). Can be specified per contentrepository by adding a trailing "_<ContentRepository>". Example: HashCheck_FI = FALSE
ArchiveLink - S3 (12)
Please note: In order to use StorageType 12 (S3), you may have to provide additional libraries to KGS Store. Please download S3 libraries from our website, decompress the archive to a folder which can be reached by KGS Store and set in "OSGi → Configuration → Generic Store Service" the path of "Additional JAR folder" to the one that includes S3 libraries. You’ll find these libraries in download area. [COMMON SETTINGS] In order to use S3, please set in [COMMON SETTINGS] section the parameter StorageType = 12. [STORAGE_S3] Parameter DataType Description Default ConnectionUser String Depends on the used S3 endpoint. Examples: Amazon AWS → Access key ID ConnectionPass String Depends on the used S3 endpoint. This parameter value will be encoded during the first startup. Examples: Amazon AWS → Secret access key Region String Used for Amazon AWS. Specify your AWS region here. Protocol String http or https https AllowCreateBuckets Boolean Should be set to false, if you want to use precreated buckets. TRUE RequestSigner Possible values: NoOpSignerType QueryStringSignerType AWS3SignerType AWS4SignerType AWS4UnsignedPayloadSignerType AWS4UnsignedPayloadSignerType HashCheck Boolean Enables or disables the hash-key check during document checkout (get). Can be specified per contentrepository by adding a trailing "_<ContentRepository>". Example: HashCheck_FI = FALSE FALSE RetentionPeriod Integer Defines the amount of time (in months) from creation date until the documents should be protected from modification. Can be specified per contentrepository by adding a trailing "_<ContentRepository>". Example: RetentionPeriod_FI = 12 LockFiles Boolean If enabled locks all objects in compliance mode during the create process. BucketName String Defines the name of the bucket in which files will be archived. Note for Amazon AWS Every bucket name has to be unique throughout all Amazon regions! EndPoint String URL for your S3 endpoint. Should not be used in case of Amazon AWS. Use the Region parameter instead. ClientOptions String Possible values: PathStyleAccess Values can be combined with a semicolon. Example: MaxConnections Integer Defines the maximal number of opened connections. ConnectionTimeout Integer Timeout for connections and read requests in seconds. ContrepInPath Boolean TRUE: For every Contentrepository a directory will be created and documents and / or corresponding sub-directory-trees will be attached into this directory. FALSE: Leading Contentrepository-directory will not be created. FALSE DocumentMetaDataRepresentation Boolean FALSE: The metadata of an filed document will be stored as content of the file. TRUE: The metadata of an filed document will be stored as metadata of a 0-byte file. TRUE UseFlatStylePath Boolean TRUE: If this options is enabled KGS Store won't build a substructure tree, but save all files inside a single directory. FALSE: If this option is being disable KGS Store will build a structure of sub-directory which represent the DocumentID. In case of Hitachi Vantara HCP storage system we recommend to set this parameter to FALSE! TRUE HCPMode Boolean Changes the behavior, how the content type is being commited. Please note: HCPMode is not related to HCPRetentionMode! TRUE: Content type is being committed as a user-meta-data-field. FALSE: Content type is committed as a normal content type. FALSE HCPRetentionMode Boolean Enables or disables hardware-based retention on HCP. Please note: In order to use HCP retention, the following has to be done ( depends on the version of your HCP and whether it’s on-premise or within the cloud! ): The HCP-bucket has to has file locking enabled The parameter “LockFiles” has to be true Retention has to be set! TRUE: Enables hardware-based retention on HCP. FALSE: Disables hardware-based retention on HCP. FALSE ServerSideEncryption Boolean Enables or disables the server-side encryption with the 256-bit Advanced Encryption Standard (AES-256). FALSE: Disable Serverside Encryption (SSE) TRUE: Enables the Serverside Encryption with Default AES_256 In order to use server-side encryption, on Bucket-Level, the “Default encryption” must be enabled (See: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html ) FALSE CleanVersions Boolean true: Deletes all previous versions on update and delete operations in buckets with versioning. false: All versions remain. HCP is only supporting false (HCP Version 9.20) TRUE Achtung: In einigen Kundenprojekten kam es in den vergangenen Monaten zu Problemen mit der neuen NetApp Version 11.5. StorageGrid (S3). Seitens kgs werden S3-Methoden des SDK´s verwendet, welche in der NetApp Version 11.5. bisher nicht unterstützt werden. Nachfolgend findet Ihr alle genutzten Methoden, welche bei der Fehleranalyse seitens NetApp hilfreich sein können: S3Client TransferManagerBuilder:ClientOptions = PathStyleAccess:true;Parameter2:false
doesBucketExistV2
createBucket
deleteBucket
doesObjectExist
getObject
deleteObject
putObject
listObjectsV2
getObjectMetadata
copyObject (withObjectLockMode(ObjectLockMode.COMPLIANCE)
withObjectLockRetainUntilDate()
withMetadataDirective(MetadataDirective.REPLACE))
listVersions
deleteVersion
upload()
ArchiveLink - S3 Managed Buckets (13)
The S3ManagedBuckets will distribute new S3-Objects/Documents among a configured amount of Buckets. This Configuration is useful for huge data-masses that should distributed equally among S3-Buckets. Its highly recommended to set AllowBucketCreate to true. The KGS Store will hash incoming DocIDs/Identifier-Names in order to determine in which Bucket the Document needs to be created. If the Bucket does not exist and the Parameter “AllowCreateBuckets= TRUE” is set, a new Bucket with the given Name (and if applicable: prefix) will be created. The Range of Buckets where the Document may be created in is determine by the Parameter “BucketsPerGroup”. Find attach a Statistic about the distribution algorithm. There are a few things to keep in mind: Bucket Names often needs to follow specific guidelines. For AWS for example: AWS Bucket Names Rules .Please ensure you follow these rules (for prefix) There are often Limits when i comes to Amount of Buckets or BucketSizes. AWS for example only allows to create 100 Buckets per Default / Account. BucketSize is in AWS not specified. Nevertheless, ensure you dont hit any restrictions for your S3- BackendSystem. Especially when Prefixes for different Repositories are defined, the amount of created Buckets might grow very fast. Max = [BucketGroups * BucketsPerGroup * Prefix per Repository] [COMMON SETTINGS] In order to use S3 ManagedBuckets, please set in [COMMON SETTINGS] section the parameter StorageType = 13. [STORAGE_S3_MANAGEDBUCKETS] Parameter DataType Description Default ConnectionUser String Depends on the used S3 endpoint. Examples: Amazon AWS → Access key ID ConnectionPass String Depends on the used S3 endpoint. This parameter value will be encoded during the first startup. Examples: Amazon AWS → Secret access key Region String Used for Amazon AWS. Specify your AWS region here. In Case you use a S3 Endpoint, the Region will be used as SignerRegion. Protocol String http or https https AllowCreateBuckets Boolean Should be set to true, otherwise the Bucketnames that are determined by the incoming ObjectID/DocID cant be created automatically. TRUE RequestSigner Possible values: NoOpSignerType QueryStringSignerType AWS3SignerType AWS4SignerType AWS4UnsignedPayloadSignerType (for using Signature Version 2 (SigV2), please use the QueryStringSignerType. This enables per default SigV2 as SignerType). AWS4UnsignedPayloadSignerType HashCheck Boolean Enables or disables the hash-key check during document checkout (get). Can be specified per contentrepository by adding a trailing "_<ContentRepository>". Example: HashCheck_FI = FALSE FALSE RetentionPeriod Integer Defines the amount of time (in months) from creation date until the documents should be protected from modification. Can be specified per contentrepository by adding a trailing "_<ContentRepository>". Example: RetentionPeriod_FI = 12 LockFiles Boolean If enabled locks all objects in compliance mode during the create process. BucketName String Defines the name of the bucket in which files will be archived. Every bucket name has to be unique throughout all Amazon regions! EndPoint String URL for your S3 endpoint. Should not be used in case of Amazon AWS. Use the Region parameter instead. ClientOptions String Possible values: PathStyleAccess Values can be combined with a semicolon. Example: MaxConnections Integer Defines the maximal number of opened connections. ConnectionTimeout Integer Timeout for connections and read requests in seconds. ContrepInPath Boolean TRUE: For every Contentrepository a directory will be created and documents and / or corresponding sub-directory-trees will be attached into this directory. FALSE: Leading Contentrepository-directory will not be created. FALSE DocumentMetaDataRepresentation Boolean FALSE: The metadata of an filed document will be stored as content of the file. TRUE: The metadata of an filed document will be stored as metadata of a 0-byte file. TRUE UseFlatStylePath Boolean TRUE: If this options is enabled KGS Store won't build a substructure tree, but save all files inside a single directory, the repository. FALSE: If this option is being disable KGS Store will build a structure of sub-directory which represent the DocumentID. In case of Hitachi Vantara HCP storage system we recommend to set this parameter to FALSE! TRUE BucketGroups Integer Amount of Groups. Should always start with 1. In the later Process when a new fresh Group of Empty Buckets are needed (e.g. the old Group has a huge amount of objects etc.), the Parameter should incremented by one (so 2,3,4 …). 1 BucketsPerGroup Integer Amount of Buckets per Group. Thats the amount of Buckets that are created depending on the ObjectID/DocID. Example: With BucketGroups = 1 and BucketsPerGroup = 5, the Store will distribute all incoming S3Objects among these five Buckets. It is important to keep the amount of BucketsPerGroup on a fixed value. Even when the BucketGroups-Parameter is incremented. 5 BucketPrefix String Determine the Prefix of the automatically created Bucket. The prefix needs to follow the S3 guidlines regarding BucketNaming. Can be specified per ContentRepository by adding a trailing _ Example: BucketPrefix_FI = FI Be aware: multiple BucketPrefix will create the amount of Buckets needed depending on the BucketsPerGroup amount. So the total amount of created Buckets are BucketPrefix * BucketPerGroup * BucketGroups BucketNameFormat String specify Rules for BucketName Format. It follows the Java String.format() rules. https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html Caution: in Case the BucketName format inherit a percentage ( % ) Symbol, the String must end with an percentage-Symbol as well. Example: BucketNameFormat = %6.6s% This will lead to a BucketName with minLength of 6 and a maxLength of 6. OnBucketCreate String UserExit for calling dynamically a script whenever a new Bucket is created. Java ProcessBuilder is used. https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html Syntax: comma-separated values. $bucketName is a variable that get replaced by the actutal bucketName that is created. $repository is a variable that get replaced by the actual (content)repository. Windows e.g. cmd.exe,/c,C:/myScripts/testScript.bat,$bucketName,$repository Linux: sh,-c, script.sh,$bucketName,$repository path to script can be either absolute or relative (relative: in combination with “OnBucketCreateWorkingDir”). Can be specified per ContentRepository by adding a trailing _ OnBucketCreate_FI = cmd.exe,/c,script.bat,$bucketName OnBucketCreateWorkingDir String Folder (from) where the script from “OnBucketCreate” will be executed. If empty, the Script will be called at the actual script location. May also be defined for specific repsoitory / repositories. Example: OnBucketCreateWorkingDir_FI = Z:\WorkingDirectories\Create_FI OnBucketCreateWorkingDir_FI = /mnt/working_directories/create_fi/ HCPMode Boolean Changes the behavior, how the content type is being commited. Please note: HCPMode is not related to HCPRetentionMode! TRUE: Content type is being committed as a user-meta-data-field. FALSE: Content type is committed as a normal content type. FALSE HCPRetentionMode Boolean Enables or disables hardware-based retention on HCP. Please note: In order to use HCP retention, the following has to be done ( depends on the version of your HCP and whether it’s on-premise or within the cloud! ): The HCP-bucket has to has file locking enabled The parameter “LockFiles” has to be true Retention has to be set! TRUE: Enables hardware-based retention on HCP. FALSE: Disables hardware-based retention on HCP. FALSE CleanVersions Boolean true: Deletes all previous versions on update and delete operations in buckets with versioning. false: All versions remain. TRUEClientOptions = PathStyleAccess:true;Parameter2:false
ILM - Common Settings
[ILM-Common Settings] Parameter Value Description Default Debuglevel 0 = output stdout - off 1 = output stdout - on 0 Log-File Defines the absolute path of the log file. (including filename) Log-Mode 1 = log errors 2 = log warnings 4 = log debug information. 8 = log performance information Defines which kind of information shall be loged. A combination of these values is possible. Examples: Errors + Warnings → Log-Mode = 3 Errors + Warnings + Debug → Log-Mode = 7 0 Log-FlushInterval Integer Defines after how many lines the log entries are written to the log file. 10 Log-FileCloseTime Integer Defines after how many seconds the log file writer should be closed automatically (it will be reopened with the next log entry) 5 StorageType Filing mode 0 = native filesystem 1 = Centera 2 = NetApp 3 = filesystem with DB 4 = Centera with DB 5 = ICAS 6 = ICAS Filesystem For more detailed information please see subsection 0 = [ILM-StorageFS] 1 = [ILM-EMC Centera] (not released - currently in beta) 2 = [ILM-NetApp] 3 = reserved for StorageFSDB 4 = [ILM-EMCDB] 5 = [ILM-ICAS] 6 = [ILM-ICASFS] 0 TempPath Working directory EnableCheckRetentionDate true / false Enables the retention check by the software (if being enabled). TRUE
ILM - StorageFS (0)
[ILM-COMMON SETTINGS]In order to use StorageFS please set in [ILM-COMMON SETTINGS] section the parameter StorageType = 0.
[ILM-StorageFS]
Parameter
Value
Description
Defaults
ContRepInPath
Repository ID in document filing structure on/off
TRUE
ReadOnly
true / false
If set to true, all write, update, and delete requests will be rejected
FALSE
ArchPath
Defines the path, where documents will be stored.
Can be specified per ContentRepository by adding a trailing "_<ContentRepository>"
Example: ArchPath_H8 = /opt/storage
Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification.
Example:
ArchPath#1_T1 = /opt/storage1/T1
ArchPath#2_T1 = /opt/storage2/T1
PropertyPath
PurgePath
Temporary path (used if EnableRMECollection = true)
EnableMove
true / false
File move instead of Copy to ArchPath. TRUE increases performance if CS working directory and ArchPath are on the same hard disk
FALSE
EnableRMECollection
true / false
Allows removing entire collection in one request.
TRUE
Parameter | Value | Description | Defaults |
---|---|---|---|
ContRepInPath | Repository ID in document filing structure on/off | TRUE | |
ReadOnly | true / false | If set to true, all write, update, and delete requests will be rejected | FALSE |
ArchPath | Defines the path, where documents will be stored. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: ArchPath_H8 = /opt/storage Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification. Example: ArchPath#1_T1 = /opt/storage1/T1 ArchPath#2_T1 = /opt/storage2/T1 | ||
PropertyPath | |||
PurgePath | Temporary path (used if EnableRMECollection = true) | ||
EnableMove | true / false | File move instead of Copy to ArchPath. TRUE increases performance if CS working directory and ArchPath are on the same hard disk | FALSE |
EnableRMECollection | true / false | Allows removing entire collection in one request. | TRUE |
ILM - EMC CENTERA (1)
[ILM-COMMON SETTINGS]In order to use EMC Centera please set in [ILM-COMMON SETTINGS] section the parameter StorageType = 1.
[ILM-EMC CENTERA]
Parameter
Value
Description
ArchPath
Please see: Configuration (Store) - EMC CENTERA (1)
CenteraPoolAddress
List of Centera-IP-Addresses
Please see: Configuration (Store) - EMC CENTERA (1)
ContRepInPath
Please see: Configuration (Store) - EMC CENTERA (1)
EmbeddedDataThreshold
Integer
Please see: Configuration (Store) - EMC CENTERA (1)
ReadOnly
Please see: Configuration (Store) - EMC CENTERA DB (4)
ILM - NetApp (2)
Parameter | Value | Description |
---|---|---|
ArchPath | Please see: Configuration (Store) - EMC CENTERA (1) | |
CenteraPoolAddress | List of Centera-IP-Addresses | Please see: Configuration (Store) - EMC CENTERA (1) |
ContRepInPath | Please see: Configuration (Store) - EMC CENTERA (1) | |
EmbeddedDataThreshold | Integer | Please see: Configuration (Store) - EMC CENTERA (1) |
ReadOnly | Please see: Configuration (Store) - EMC CENTERA DB (4) |
[ILM-COMMON SETTINGS]In order to use NetApp please set in [ILM-COMMON SETTINGS] section the parameter StorageType = 2.
[ILM-NetApp]
Parameter
Value
Description
ContRepInPath
Repository ID in document filing structure on/off
Recommendation TRUE
ReadOnly
true / false
If set to true, all write, update, and delete requests will be rejected
ArchPath
Defines the path, where documents will be stored.
Can be specified per ContentRepository by adding a trailing "_<ContentRepository>"
Example: ArchPath_H8 = /opt/storage
Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification.
Example: ArchPath#1_T1 = /opt/storage
ArchPath#2_T1 = /home/temp/storage_T1
PurgePath
Temporary path (used isEnableRMECollection = true)
EnableMove
true / false
File move instead of Copy to ArchPath. TRUE increases performance if CS working directory and ArchPath are on the same hard disk
EnableRMECollection
true / false
Allows removing entire collection in one request.
ILM - EMCDB (4)
Parameter | Value | Description |
---|---|---|
ContRepInPath | Repository ID in document filing structure on/off
| |
ReadOnly | true / false | If set to true, all write, update, and delete requests will be rejected |
ArchPath | Defines the path, where documents will be stored. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: ArchPath_H8 = /opt/storage Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification. Example: ArchPath#1_T1 = /opt/storage ArchPath#2_T1 = /home/temp/storage_T1 | |
PurgePath | Temporary path (used isEnableRMECollection = true) | |
EnableMove | true / false | File move instead of Copy to ArchPath. TRUE increases performance if CS working directory and ArchPath are on the same hard disk |
EnableRMECollection | true / false | Allows removing entire collection in one request. |
[ILM-COMMON SETTINGS]In order to use EMCDB please set in [ILM-COMMON SETTINGS] section the parameter StorageType = 4.
[ILM-EMCD]
Parameter
Value
Description
Default
EmbeddedDataThreshold
Integer
The maximum data size in bytes for data to be embedded in the CDF instead of being stored as separate blobs.
Max. value: 102400
102400
CenteraPoolAddress
List of Centera-IP-Addresses
The pool addresses can be a comma-separated string of IP-addresses or DNS names ov available Centera-nodes.
This example specifies a connection string with multiple IP-addresses which is a best practice that protects against the unavailability of one or more nodes within the cluster.
10.1.1.1,21.17.3.12,16.123.121.90
This example opens a pool using the specified PEA-file.
10.62.153?C:\EMC\RWE.pea
(Please confirm Centera documentation for details)
DB-Driver
JDBC driver name.
(If DB-URL is not being set.)
DB-Vendor
see [EMC CENTERA DB]
DB-Server
IP address / DNS name of the database server.
(If DB-URL is not being set.)
DB-Port
Port database listener.
(If DB-URL is not being set.)
DB-SID
Database system ID.
(If DB-URL is not being set.)
DB-USER
Username of the database user.
DB-PASSWORD
Password of the database user.
The password will be encrypted after the first start.
Repositories
List of RepositoryIDs
Defines a list of Repositories for which KGS Store may automatically created tables on the database.
Example: Repositories = T1,FB,H8,C2
ReadOnly
List of RepositoryIDs
List of comma-separated ContentRepository/-ies that should be handled as read only.
If set to true, all write requests will be rejected.
EnableRMECollection
true / false
Allows removing entire collection in one request.
TRUE
DB-TableNamePrefix
String / Char
Prefix Table Document, Component xx (CRID) default Prefix ContentRepID
ILM - ICASFS (6)
Parameter | Value | Description | Default |
---|---|---|---|
EmbeddedDataThreshold | Integer | The maximum data size in bytes for data to be embedded in the CDF instead of being stored as separate blobs. Max. value: 102400 | 102400 |
CenteraPoolAddress | List of Centera-IP-Addresses | The pool addresses can be a comma-separated string of IP-addresses or DNS names ov available Centera-nodes. This example specifies a connection string with multiple IP-addresses which is a best practice that protects against the unavailability of one or more nodes within the cluster. 10.1.1.1,21.17.3.12,16.123.121.90 This example opens a pool using the specified PEA-file. 10.62.153?C:\EMC\RWE.pea (Please confirm Centera documentation for details) | |
DB-Driver | JDBC driver name. (If DB-URL is not being set.) | ||
DB-Vendor | see [EMC CENTERA DB] | ||
DB-Server | IP address / DNS name of the database server. (If DB-URL is not being set.) | ||
DB-Port | Port database listener. (If DB-URL is not being set.) | ||
DB-SID | Database system ID. (If DB-URL is not being set.) | ||
DB-USER | Username of the database user. | ||
DB-PASSWORD | Password of the database user. The password will be encrypted after the first start. | ||
Repositories | List of RepositoryIDs | Defines a list of Repositories for which KGS Store may automatically created tables on the database. Example: Repositories = T1,FB,H8,C2 | |
ReadOnly | List of RepositoryIDs | List of comma-separated ContentRepository/-ies that should be handled as read only. If set to true, all write requests will be rejected. | |
EnableRMECollection | true / false | Allows removing entire collection in one request. | TRUE |
DB-TableNamePrefix | String / Char | Prefix Table Document, Component xx (CRID) default Prefix ContentRepID |
[ILM-COMMON SETTINGS]In order to use ICASFS please set in [ILM-COMMON SETTINGS] section the parameter StorageType = 6.
[ILM-ICASFS]
Parameter
Value
Description
ContRepInPath
Repository ID in document filing structure on/off
Recommendation TRUE
ReadOnly
true / false
If set to true, all write, update, and delete requests will be rejected
ArchPath
Defines the path, where documents will be stored.
Can be specified per ContentRepository by adding a trailing "_<ContentRepository>"
Example: ArchPath_H8 = /opt/storage
Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification.
Example: ArchPath#1_T1 = /opt/storage
ArchPath#2_T1 = /home/temp/storage_T1
PurgePath
Temporary path (used isEnableRMECollection = true)
EnableMove
true / false
File move instead of Copy to ArchPath. TRUE increases performance if CS working directory and ArchPath are on the same hard disk
EnableRMECollection
true / false
Allows removing entire collection in one request.
MimeTypeFileExtensions
In some case it is needed to add a fileextention to file before archiving (e.x. for Oracle). The fileextention is related to the mimetype of the component and the KGSStore aus a map of default values (e.x. application/pdf = .pdf …). If these default map not fits to the requirement’s it is possible to overwrite these map, The following example shows override the default for mimetype video/x-fli to the fileextention .XYZ instead of .fli
Example: MimeTypeFileExtensions = video/x-fli
Sample Configuration - ArchiveLink - Storage FS
Parameter | Value | Description |
---|---|---|
ContRepInPath | Repository ID in document filing structure on/off
| |
ReadOnly | true / false | If set to true, all write, update, and delete requests will be rejected |
ArchPath | Defines the path, where documents will be stored. Can be specified per ContentRepository by adding a trailing "_<ContentRepository>" Example: ArchPath_H8 = /opt/storage Multiple path configurations are possible by adding a "#<number>" between ArchPath and potential trailing repository specification. Example: ArchPath#1_T1 = /opt/storage ArchPath#2_T1 = /home/temp/storage_T1 | |
PurgePath | Temporary path (used isEnableRMECollection = true) | |
EnableMove | true / false | File move instead of Copy to ArchPath. TRUE increases performance if CS working directory and ArchPath are on the same hard disk |
EnableRMECollection | true / false | Allows removing entire collection in one request. |
MimeTypeFileExtensions | In some case it is needed to add a fileextention to file before archiving (e.x. for Oracle). The fileextention is related to the mimetype of the component and the KGSStore aus a map of default values (e.x. application/pdf = .pdf …). If these default map not fits to the requirement’s it is possible to overwrite these map, The following example shows override the default for mimetype video/x-fli to the fileextention .XYZ instead of .fli Example: MimeTypeFileExtensions = video/x-fli | |
[COMMON SETTINGS]
DebugLevel = 0
StorageType = 0
Log-File = /opt/tomcat/logs/Storage.log
Log-Mode = 7
EnableComponentRead = TRUE
EnableComponentWrite = TRUE
KeyExportPath = /opt/tomcat/storage/keyexport/
KeyExportMode = 0
TempPath = /opt/tomcat/storage/tmp/
EnableCheckRetentionDate = TRUE
DataConversion = FALSE
OpCode = 0
[STORAGEFS]
ContRepInPath = TRUE
ReadOnly =
RetriesFolderCreate = 5
EnableComponentMove = FALSE
FreeDiscSpaceArchPAth = 0
ArchPath = /opt/tomcat/storage/archpath/
ArchPath_FI = /mnt/rsv1/archpath/FI/
FreeDiscSpaceDuplicatePath = 0
DuplicatePath =
RetentionPeriod = 0
HashAlg = MD5
HashCheck = FALSE
DataEncoding = 0
MaxFileNameLength
Logging
To enable the KGSStore Log set the parameters Log-Mode and Logfile in the Common section inside the configuration file. See: Configuration (Store) - Common Settings / Configuration (Store) - ILM - Common Settings There is no log rotation from our product. Keep sure to have sufficient disk space for the logfile and use high Log-Mode settings only for Troubleshooting.