Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Current »

General Information

System Requirements


For the system requirements and prerequisites regarding tia® Store please refer to Prerequisites for tia® and kgs Software Components

Storage types


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.

Sample (STORAGEFS)


ContentRepositoryID: T1

DocumentID:             0F24D05D46A6CC478CB48EA4734AFE8 

Components:            1 Component


Unsupported characters in DocumentID


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.

Unsupported characters in ComponentID


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.

Filenames exceeding the allowed filename length


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.

Installation

KGS Store is part of the software package (WAR-file) you received from KGS and is bundled within the KGS Generic SAPALink Provider.

Additional requirements for different storage backends

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.

Additional modules for S3

See KGS Generic SAPALink Provider Changelog (Generic)

Additional modules for EMC Centera

In order to connect to EMC Centera Storage system the following additional components are required:

  • FPLibrary.jar
  • PAI_module.dll
  • FPLibrary.dll
  • FPParser.dll

Additional modules for DELL DX

In order to use DELL DX Storage system the following additional components are required:

  • CAStorSDK.jar
  • commons-code-1.3.jar
  • commons-httpclient-3.0.1.jar
  • commons-logging-1.1.jar
  • jmdns-2.1.jar
  • log4j-1.2.14.jar

Additional modules for database support

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.

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.


[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

[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

[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

Additional Information

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.

CFG File

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

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

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.

CDF File

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

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

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>

[Common Settings]

In order to use NetApp, please set in [COMMON SETTINGS] section the parameter StorageType = 2.


[NETAPP]

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

[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.


Filesystem structure

KGS Store will create a directory tree which depends on the parameter FolderDepth. In the lowest subfolder the document data file will be saved.

Database structure

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 DocumentID

[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 sendStringParametersAsUnicode=false , when experience high CPU utilisation in MS SQL Database.



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.


Default: 102400

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 rejected



[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

[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

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

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


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:

ClientOptions = PathStyleAccess:true;Parameter2:false


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
doesBucketExistV2
createBucket
deleteBucket
doesObjectExist
getObject
deleteObject
putObject
listObjectsV2
getObjectMetadata
copyObject (withObjectLockMode(ObjectLockMode.COMPLIANCE)
withObjectLockRetainUntilDate()
withMetadataDirective(MetadataDirective.REPLACE))
listVersions
deleteVersion

TransferManagerBuilder:
upload()

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:

ClientOptions = PathStyleAccess:true;Parameter2:false



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 (warning) 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.

TRUE


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

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)

[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)

[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)

[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 SettingsConfiguration (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.

  • No labels