Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: reorder sections


Page Properties
hiddentrue
idDONE

Product Version2021 Autumn
Report Note
AssigneeAntje

Resources & Remarks

Modification History

NameDateProduct VersionAction
Antje26 JAN 20222022 Springcreated


...

Each tenant can have a single ILM repository and several ArchiveLink repositories (if needed), since ArchiveLink model includes the ContentRepository field.

ArchiveLink retention propagation

If an ILM-Object contains a link to an ArchiveLink object, the REPOSITORYMANAGER service ensures following rules:

  • If a legal hold or an retention date is apecified for the ILM-object, these metadata are propagated to the linked ArchiveLink object itself.
  • Same behavior in case of lifting the legal hold.

An ArchiveLink object with an legal hold and/or with an retention date lying in the future are prevented from deletion by ArchiveLink directly.

Inserting a Document in yuuvis® Momentum by Barcode Upload

The Document and its Data

...

Inserting a Document in yuuvis® Momentum by Barcode Upload

The Document and its Data

If a document is inserted into the yuuvis® Momentum system, the corresponding document will be given a barcode and an ArchiveLink version (AL version) is created. The barcode is specified during the capture process (e.g., a barcode label is applied to a document).

...

Receipts (documents), print lists, and reorg data (data backups) may be stored. In this case, the document ID is transferred to the yuuvis® Momentum system. Barcodes are not transferred here.

Requirements

ArchiveLink retention propagation

If an ILM-Object contains a link to an ArchiveLink object, the REPOSITORYMANAGER service ensures following rules:

  • If a legal hold or an retention date is apecified for the ILM-object, these metadata are propagated to the linked ArchiveLink object itself.
  • Same behavior in case of lifting the legal hold.

An ArchiveLink object with an legal hold and/or with an retention date lying in the future are prevented from deletion by ArchiveLink directly.

Requirements

The REPOSITORYMANAGER service requires the yuuvis® Momentum core services (version 2021 Autumn or later) and the corresponding infrastructure.
>> yuuvis® Momentum Requirements

...

  • ActiveMQ
  • Space for PersistentVolumeClaim, 10 GB recommended

Installation

Deployment

The service is delivered as docker container image. For the deployment to the yuuvis® Momentum cluster, you need a deployment and a service script as shown in the example code blocks below. The parameters have to be adjusted according to your own cluster. However, please use the /working-dir path for the PersistentVolumeClaim.

...

Code Block
languageyml
titleExample 'rm_deployment.yml'
linenumberstrue
collapsetrue
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data-repositorymanager
  namespace: $NAMESPACE
spec:
  storageClassName: local-path
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: $NAMESPACE
  labels:
    app: yuuvis
    name: repositorymanager
  name: repositorymanager
spec:
  replicas: 1
  selector:
    matchLabels:
      name: repositorymanager
  template:
    metadata:
      labels:
        name: repositorymanager
    spec:
      containers:
        - name: repositorymanager
          image: docker.optimal-systems.org/team-kookaburra/$CI_PROJECT_NAME:commit-$CI_COMMIT_SHORT_SHA
          imagePullPolicy: Always
          env:
            - name: JAVA_OPTS
              value: -Xmx128m
            - name: SPRING_CLOUD_CONFIG_URI
              value: "http://configservice/config"
            - name: SPRING_PROFILES_ACTIVE
              value: prod,docker,kubernetes
          ports:
            - containerPort: 8010
          volumeMounts:
            - name: storage
              mountPath: /working-dir
      volumes:
        - name: storage
          persistentVolumeClaim:
            claimName: data-repositorymanager
      restartPolicy: Always
      imagePullSecrets:
        - name: osgitlab

Configuration

Configure Kubernetes Cluster

...

PropertyTypeDescriptionExample valueDefault value
repository-manager.barcode.default-docTypeString

Default SAP document type, if there is no barcode mapping for the yuuvis® Momentum content type (see repository-manager.barcode.cntType2docType).

TIFTIF
repository-manager.barcode.cntType2docTypeString

List of entries for mapping the barcode document type, separated by pipe characters. Entries consist of yuuvis® Momentum content type, equals sign, SAP document type.

For each yuuvis® Momentum content type missing in the mapping list, the SAP document type repository-manager.barcode.cntType2docType will be used.

Image/TIFF=FAX|application/pdf=PDFImage/TIFF=FAX|application/pdf=PDF
core.api.urlStringIP address and port of the pod within the cluster used by the API gateway.http://127.0.0.1:7301/http://127.0.0.1:7301/
core.api.usernameString

Username of the technical user for the REPOSITORYMANAGER service's access to yuuvis® Momentum.

Note: The technical user requires full access rights to the objects.

saproot
core.api.passwordStringPassword of the technical user for the REPOSITORYMANAGER service's access to yuuvis® Momentum.optimal1optimal
core.api.tenantStringTenant of the technical user for the REPOSITORYMANAGER service's access to yuuvis® Momentum.defaultdefault
spring.activemq.broker-urlString

IP address and port used by ActiveMQ.

tcp://127.0.0.1:61616

tcp://127.0.0.1:61616
spring.activemq.userStringUsername for ActiveMQ access.adminadmin
spring.activemq.passwordStringPassword for ActiveMQ access.adminadmin

...

Code Block
languageyml
titleExample 'repositorymanager-prod.yml' configuration file
linenumberstrue
collapsetrue
repository-manager:
  barcode:
    cntType2docType: Image/TIFF=FAX|application/pdf=PDF
    default-docType: TIF
    
core:
  api:
    url: https://client.con.yuuvis.org
    username: root
    password: optimal
    tenant: default

spring:
  activemq:
    broker-url: tcp://repositorymanager-mq:61616
    user: admin
    password: admin

Configure the App Schema

The REPOSITORYMANAGER service requires the repositorymanager app schema shown in the code block below. It is imported to yuuvis® Momentum via the endpoint POST /api/system/apps/{app}/schema.

The app schema contains the document object type definitions archiveLinkComponent and ilmObject.

Properties of 'archiveLinkComponent'

Objects of type archiveLinkComponent will be used both for documents (logical placeholders) and components (actual documents with content). It contains metadata related to ArchiveLink documents and ArchiveLink components.

...

Description

...

ArchiveLinkversion

...

ArchiveLink log version number (e.g., 0046)

...

Specifies that the document has to be retained due to legal reasons (legal hold), thus preventing the document or its components from being deleted.

This property was introduced with component version 7.0. It is enabled for specific scenarios only.

...

Retention period for the document and its components.

This property was introduced with component version 7.0. It is enabled for specific scenarios only.

...

Compression with gzip is performed by the content server for components with a size that exceeds the adjustable threshold value CompressionSize. This offers advantages for storing, especially for storing print lists that have an uncompressed size bigger than 2 GB. With previous compression they are usually reduced to 10% of the original size.

With this administrative information, the content server is able to determine the uncompressed size of the component and which compression parameters have been used.

Properties of 'ilmObject'

The objects of type ilmObject have the common ILM properties (URL and properties table), as well as a content length property and a type property.

...

Specifies the ILM object type. Available values:

  • collection (set 0 for contentlength)
  • resource

...

Content size in Bytes

0 for ILM collections

...

Combination with Library-based Client

If a client application for yuuvis® Momentum is used that is based on our developer libraries, the IDs of properties and object types should be localized.
>> Localization for Clients

An example key-value mapping is shown in the following code block.

Code Block
languageyml
titleExample localization for library-based clients
linenumberstrue
collapsetrue
{
	"appRepositorymanager:Contentrepository_label": "Content Repository",
	"appRepositorymanager:ArchiveLinkversion_label": "Archive Link Version",
	"appRepositorymanager:Documentprotection_label": "Document Protection",
	"appRepositorymanager:DocID_label": "Document ID",
	"appRepositorymanager:Creationdate_label": "Creation Date",
	"appRepositorymanager:Creationtime_label": "Creation Time",
	"appRepositorymanager:Datelastmodification_label": "Last Modified Date",
	"appRepositorymanager:Timelastmodification_label": "Last Modified Time",
	"appRepositorymanager:Legalholdlock_label": "Legal Hold Lock",
	"appRepositorymanager:Expirationdate_label": "Expiration Date",
	"appRepositorymanager:Barcode_label": "Barcode",
	"appRepositorymanager:BarcodesenttoR3_label": "Barcode Sent to R3",
	"appRepositorymanager:CompID_label": "Component ID",
	"appRepositorymanager:Contenttype_label": "Content Type",
	"appRepositorymanager:Filename_label": "File Name",
	"appRepositorymanager:Applicationversion_label": "Application Version",
	"appRepositorymanager:Charset_label": "Chartset",
	"appRepositorymanager:Compressionstring_label": "Compression String",
	"appRepositorymanager:archiveLinkComponent_label": "ArchiveLink object type",
	"appRepositorymanager:archiveLinkComponent_description": "Type used for ArchiveLink documents and components",
	"appRepositorymanager:timestampProperties_label": "Timestamp properties",
	"appRepositorymanager:componentProperties_label": "Component properties",
	"appRepositorymanager:documentProperties_label": "Document properties",
	"appRepositorymanager:type_label": "Type",
	"appRepositorymanager:url_label": "URL",
	"appRepositorymanager:properties_label": "Properties",
	"appRepositorymanager:contentlength_label": "Content Length",
	"appRepositorymanager:ilmObject_label": "ILM object type",
	"appRepositorymanager:ilmObject_description": "Type used for ILM collections and resources"
}

Configuration of the SAP System

To connect the SAP system with the HTTP content server and make all necessary settings, we recommend following the SAP guidelines using the SPRO transaction under Netware > Application Server > Basis Services > ArchiveLink.

For customizing the interface for print lists and outbound documents, we recommend attending the SAP course BIT615.

For filing reorg data, we recommend attending the SAP course BIT660.

The main transactions required to establish a connection are listed below:

Transaction OAC0 defines one or several repositories.

This and all further activities within the SAP system have to be undertaken by the SAP system administrator or another authorized user of the customer.

These activities include:

  • For the first time:

    • Creation of a communication user (SU01) with the corresponding authorizations (SAP_BC_ENDUSER, SAP_BC_SRV_ARL_ADMIN, SAP_BC_SRV_ARL_USER, SAP_BC_SRV_COM_ADMIN)

    • ArchiveLink: maintenance of basic settings (OAG1)

    • Creation of number range intervals (OANR) for print lists

    • Create log (OAA3) or import prepared transports from OPTIMAL SYSTEMS with the log.

    • Creation of an archive device (name ARCH) as output device (SPAD), assignment of the SAP ArchiveLink archiver, hostspool access method (I: archiver)

  • One or several times; depending on how many content repositories have to be defined:

    • Creation of a content repository (OAC0)
      DocArea – ArchiveLink
      Filing method – HTTP content server
      Log – OPTIMALA
      Version no. – 0046 or 0047
      http script – cs/contentserver
      Output device – ARCH
      HTTP server – name or IP address of the server on which yuuvis® Momentum REPOSITORYMANAGER is running
      Port number – The port used to access yuuvis® Momentum REPOSITORYMANAGER (default: 8010).

    • After successful configuration of yuuvis® Momentum REPOSITORYMANAGER, the certificate (OAC0/CSADMIN) has to be sent and activated for each repository.

Image Removed

Multiple Instances of REPOSITORYMANAGER Service

To achieve multi-tenancy, an independent instance of the REPOSITORYMANAGER service needs to be deployed for each individual tenant. The same service artifact can be used. In general, the following principles apply:

  • Each instance should have its own ActiveMQ pod, distributed as separate image.
  • Each pair of REPOSITORYMANAGER service and ActiveMQ instances should be deployed into its own namespace, have own ports and profile configuration (default is prod).
  • Each pair of REPOSITORYMANAGER service and ActiveMQ must have its own tenant.

Namespaces, services ports and profiles should be specified in the deployment script. The following sections describe the required configuration steps. All scripts are applied via the command:

Code Block
languagebash
kubectl apply - f <filename>

Preparation

Decide on the namespace to be used, ports to be used (one port by the REPOSITORYMANAGER service and two ports by the repositorymanager-mq service) as well as the profile in which the application will be run (this determines the naming of the configuration file). For this example, the namespace will be repositorymanager-1, the ports are 10000 for the REPOSITORYMANAGER service, 10001 and 10002 for the ActiveMQ and the profile will be instance1. The cluster should have the repositorymanager app schema and the tenant that is going to be used by the REPOSITORYMANAGER service should be created and configured to use it as described above for the configuration of a single instance.

Namespace

Create the namespace using the following YML script:

Code Block
languageyml
titlenamespace script
linenumberstrue
collapsetrue
apiVersion: v1
kind: Namespace
metadata:
  name: repositorymanager-1

ActiveMQ service

Deploy the repositorymanager-mq pod for ActiveMQ using the following two YML scripts:

Code Block
languageyml
titleMQ deployment script
linenumberstrue
collapsetrue
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: repositorymanager-1
  name: repositorymanager-mq
  labels:
    app: yuuvis
    name: repositorymanager-mq
spec:
  replicas: 1
  selector:
    matchLabels:
      name: repositorymanager-mq
  template:
    metadata:
      labels:
        name: repositorymanager-mq
    spec:
      containers

Multiple Instances of REPOSITORYMANAGER Service

To achieve multi-tenancy, an independent instance of the REPOSITORYMANAGER service needs to be deployed for each individual tenant. The same service artifact can be used. In general, the following principles apply:

  • Each instance should have its own ActiveMQ pod, distributed as separate image.
  • Each pair of REPOSITORYMANAGER service and ActiveMQ instances should be deployed into its own namespace, have own ports and profile configuration (default is prod).
  • Each pair of REPOSITORYMANAGER service and ActiveMQ must have its own tenant.

Namespaces, services ports and profiles should be specified in the deployment script. The following sections describe the required configuration steps. All scripts are applied via the command:

Code Block
languagebash
kubectl apply - f <filename>

Preparation

Decide on the namespace to be used, ports to be used (one port by the REPOSITORYMANAGER service and two ports by the repositorymanager-mq service) as well as the profile in which the application will be run (this determines the naming of the configuration file). For this example, the namespace will be repositorymanager-1, the ports are 10000 for the REPOSITORYMANAGER service, 10001 and 10002 for the ActiveMQ and the profile will be instance1. The cluster should have the repositorymanager app schema and the tenant that is going to be used by the REPOSITORYMANAGER service should be created and configured to use it as described above for the configuration of a single instance.

Namespace

Create the namespace using the following YML script:

Code Block
languageyml
titlenamespace script
linenumberstrue
collapsetrue
apiVersion: v1
kind: Namespace
metadata:
  name: repositorymanager-1

ActiveMQ service

Deploy the repositorymanager-mq pod for ActiveMQ using the following two YML scripts:

Code Block
languageyml
titleMQ deployment script
linenumberstrue
collapsetrue
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: repositorymanager-1
  name: repositorymanager-mq
  labels:
    app: yuuvis
    name: repositorymanager-mq
spec:
  replicas: 1
  selector:
    matchLabels:
      name: repositorymanager-mq
  template:
    metadata:
      labels:
        name: repositorymanager-mq
    spec:
      containers:
        - image: docker.optimal-systems.org/team-kookaburra/repositorymanager-momentum-mq:commit-b63206e4
          name: repositorymanager-mq
          imagePullPolicy: Always
      restartPolicy: Always
      imagePullSecrets:
        - name: osgitlab

Note: This script uses the image from OS GitLab which requires the osgitlab secret to be present in the same namespace. Different clusters might require some changes


Code Block
languageyml
titleMQ service script
linenumberstrue
collapsetrue
apiVersion: v1
kind: Service
metadata:
  namespace: repositorymanager-1
  name: repositorymanager-mq
  labels:
    app: yuuvis
    name: repositorymanager-mq
spec:
  selector:
    name: repositorymanager-mq
  ports:
    - name: dashboard
      port: 8161
      nodePort: 10001
    - name: openwire
      port: 61616
      nodePort: 10002
  type: NodePort

Note: The ActiveMQ service exposes two ports, one to access the web admin page, internally on port 8161 and externally on 10001, the other to access the ActiveMQ itself, internally on port 61616 and externally on 10002

Repositorymanager service

Deploy the repositorymanager service using the following two YML scripts

Code Block
languageyml
titleService deployment script
linenumberstrue
collapsetrue
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data-repositorymanager
  namespace: repositorymanager-1
spec:
  storageClassName: local-path
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: repositorymanager-1
  labels:
    app: yuuvis
    name: repositorymanager
  name: repositorymanager
spec:
  replicas: 1
  selector:
    matchLabels:
      name: repositorymanager
  template:
    metadata:
      labels:
        name: repositorymanager
    spec:
      containers:
        - name: repositorymanager
          image: docker.optimal-systems.org/team-kookaburra/repositorymanager-momentum:commit-2d346b0e
          imagePullPolicy: Always
          env:
            - name: JAVA_OPTS
              value: -Xmx128m
            - name: SPRING_CLOUD_CONFIG_URI
              value: "http://configservice.yuuvis/config"
            - name: SPRING_PROFILES_ACTIVE
              value: instance1,docker,kubernetes
          ports:
            - containerPort: 8010
          volumeMounts:
            - name: storage
              mountPath: /working-dir
      volumes:
        - imagename: docker.optimal-systems.org/team-kookaburra/repositorymanager-momentum-mq:commit-b63206e4storage
          namepersistentVolumeClaim:
repositorymanager-mq            imagePullPolicyclaimName: Alwaysdata-repositorymanager
      restartPolicy: Always
      imagePullSecrets:
        - name: osgitlab

Note: This script uses the image from OS GitLab which requires the osgitlab secret to be present in the same namespace. Different clusters might require some changes

...

. Additionally, the environment parameter SPRING_CLOUD_CONFIG_URI should point to the CONFIGSERVICE of the specific cluster. The SPRING_PROFILES_ACTIVE should contain the docker and kubernetes profiles as well as the service profile dedicated to that instance, in this case instance1.

Code Block
languageyml
titleMQ service script
linenumberstrue
collapsetrue
apiVersion: v1
kind: Service
metadata:
  namespace: repositorymanager-1
  name: repositorymanager-mq
  labels:
    app: yuuvis
    name: repositorymanager-mq
spec:    selectoryuuvis:  "true"
  name: repositorymanager-mq
spec:
  ports:
    - name: dashboard"http"
      port: 816180
      nodePorttargetPort: 100018010
    -  namenodePort: openwire10000
      porttype: 61616NodePort
   selector:
  nodePort: 10002
  typename: NodePortrepositorymanager

Note: The ActiveMQ the REPOSITORYMANAGER service exposes two ports, one to access the web admin page, internally on port 8161 and externally on 10001, the other to access the ActiveMQ itself, internally on port 61616 and externally on 10002

Repositorymanager service

Deploy the repositorymanager service using the following two YML scriptsport to allow internal access via port 8010 and external access via port 10000.

Configuration

Using the CONFIGSERVICE of the cluster to create the repositorymanager-instance1.yml file. This file will contain the configuration for the service instance running with the profile instance1.

The configuration be similar to the following code block:

Code Block
languageyml
titleService deployment scriptrepositorymanager-instance1.yml
linenumberstrue
collapsetrue
apiVersioncore:
v1  kindapi:
PersistentVolumeClaim    metadataurl:   name: data-repositorymanagerhttp://client.yuuvis
    namespaceusername: repositorymanager-1
spec:root
    storageClassNamepassword: local-pathoptimal
  volumeMode: Filesystem
  accessModestenant:  instance1tenant
 
-spring:
ReadWriteOnce
  resourcesactivemq:
    requestsbroker-url:       storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: repositorymanager-1
  labels:
    app: yuuvis
    name: repositorymanager
  name: repositorymanager
spec:
  replicas: 1
  selector:
    matchLabels:
      name: repositorymanager
  template:
    metadata:
      labels:
        name: repositorymanager
    spec:
      containers:
        - name: repositorymanager
          image: docker.optimal-systems.org/team-kookaburra/repositorymanager-momentum:commit-2d346b0e
          imagePullPolicy: Always
          env:
            - name: JAVA_OPTS
              value: -Xmx128m
            - name: SPRING_CLOUD_CONFIG_URI
              value: "http://configservice.yuuvis/config"
            - name: SPRING_PROFILES_ACTIVE
              value: instance1,docker,kubernetes
          ports:
            - containerPort: 8010
          volumeMounts:
            - name: storage
              mountPath: /working-dir
      volumes:
        - name: storage
          persistentVolumeClaim:
            claimName: data-repositorymanager
      restartPolicy: Always
      imagePullSecrets:
        - name: osgitlab

Note: This script uses the image from OS GitLab which requires the osgitlab secret to be present in the same namespace. Different clusters might require some changes. Additionally, the environment parameter SPRING_CLOUD_CONFIG_URI should point to the CONFIGSERVICE of the specific cluster. The SPRING_PROFILES_ACTIVE should contain the docker and kubernetes profiles as well as the service profile dedicated to that instance, in this case instance1.

Code Block
languageyml
titleservice script
linenumberstrue
collapsetrue
apiVersion: v1
kind: Service
metadata:
  namespace: repositorymanager-1
  labels:
    app: yuuvis
    name: repositorymanager
    yuuvis: "true"
  name: repositorymanager
spec:
  ports:
    - name: "http"
      port: 80
      targetPort: 8010
      nodePort: 10000
  type: NodePort
  selector:
    name: repositorymanager

Note: the REPOSITORYMANAGER service exposes one port to allow internal access via port 8010 and external access via port 10000.

Configuration

Using the CONFIGSERVICE of the cluster to create the repositorymanager-instance1.yml file. This file will contain the configuration for the service instance running with the profile instance1.

The configuration be similar to the following code block:

Code Block
languageyml
titlerepositorymanager-instance1.yml
linenumberstrue
collapsetrue
core:
  api:
    url: http://client.yuuvis
    username: root
    password: optimal
    tenant: instance1tenant

spring:
  activemq:
    broker-url: tcp://repositorymanager-mq:61616

The tenant name as well as credentials to access the yuuvis® Momentum system are provided as well as the URLs to access the system and ActiveMQ.

Once the configuration is created, the REPOSITORYMANAGER service should be restarted to apply the changes.

Access

...

tcp://repositorymanager-mq:61616

The tenant name as well as credentials to access the yuuvis® Momentum system are provided as well as the URLs to access the system and ActiveMQ.

Once the configuration is created, the REPOSITORYMANAGER service should be restarted to apply the changes.

Access

Once the service is deployed and configured, a reverse proxy should be created to allow two-way communication between the RM4yM service and SAP. This will also allow access to the KGS admin panel for service configuration.

Configuration

Configure the App Schema

The REPOSITORYMANAGER service requires the repositorymanager app schema shown in the code block below. It is imported to yuuvis® Momentum via the endpoint POST /api/system/apps/{app}/schema.

The app schema contains the document object type definitions archiveLinkComponent and ilmObject.

Properties of 'archiveLinkComponent'

Objects of type archiveLinkComponent will be used both for documents (logical placeholders) and components (actual documents with content). It contains metadata related to ArchiveLink documents and ArchiveLink components.

PropertyType

Description

CreationdateStringDate of creation
CreationtimeStringTime of creation
DatelastmodificationStringDate of the last modification
TimelastmodificationStringTime of the last modification
ContentrepositoryStringName of the content repository

ArchiveLinkversion

String

ArchiveLink log version number (e.g., 0046)

DocumentprotectionStringDocument protection: user-defined combination of the r (read), c (create), u (update), and d (delete) operations defined in the ArchiveLink ACL (AccessControlList). If SAP does not provide information when a document is created, the default value as defined in the KGS configuration interface will be valid (normally rcud: i.e., the document is protected from all operations).
DocIDStringDocument ID that unambiguously identifies the SAP document.
LegalholdlockString

Specifies that the document has to be retained due to legal reasons (legal hold), thus preventing the document or its components from being deleted.

This property was introduced with component version 7.0. It is enabled for specific scenarios only.

ExpirationdateString

Retention period for the document and its components.

This property was introduced with component version 7.0. It is enabled for specific scenarios only.

BarcodeStringTemporary unique ID that can be used to assign a document object located in yuuvis® Momentum to a business transaction in the SAP system.
BarcodesenttoR3BooleanThis document flag indicates whether the barcode and thus the document have already been reported to SAP.
CompIDStringComponent ID (data for multi-page TIFF files or data, data1, data2, etc. for single-page TIFF files)
ContenttypeStringMIME type (image/tiff or application/pdf, for example)
FilenameStringFile name of the source file. As this name is always filed through Apache Tomcat's working directory, the name is always a temporary file name.
ApplicationversionStringVersion number of the application (e.g., 1.0)
CharsetStringCharacter set
CompressionstringString

Compression with gzip is performed by the content server for components with a size that exceeds the adjustable threshold value CompressionSize. This offers advantages for storing, especially for storing print lists that have an uncompressed size bigger than 2 GB. With previous compression they are usually reduced to 10% of the original size.

With this administrative information, the content server is able to determine the uncompressed size of the component and which compression parameters have been used.

Properties of 'ilmObject'

The objects of type ilmObject have the common ILM properties (URL and properties table), as well as a content length property and a type property.

PropertyTypeDescription
typestring

Specifies the ILM object type. Available values:

  • collection (set 0 for contentlength)
  • resource
contentlengthinteger

Content size in Bytes

0 for ILM collections

propertiestableTable with name and value columns of type string
urlstringURL of the ILM object

Combination with Library-based Client

If a client application for yuuvis® Momentum is used that is based on our developer libraries, the IDs of properties and object types should be localized.
>> Localization for Clients

An example key-value mapping is shown in the following code block.

Code Block
languageyml
titleExample localization for library-based clients
linenumberstrue
collapsetrue
{
	"appRepositorymanager:Contentrepository_label": "Content Repository",
	"appRepositorymanager:ArchiveLinkversion_label": "Archive Link Version",
	"appRepositorymanager:Documentprotection_label": "Document Protection",
	"appRepositorymanager:DocID_label": "Document ID",
	"appRepositorymanager:Creationdate_label": "Creation Date",
	"appRepositorymanager:Creationtime_label": "Creation Time",
	"appRepositorymanager:Datelastmodification_label": "Last Modified Date",
	"appRepositorymanager:Timelastmodification_label": "Last Modified Time",
	"appRepositorymanager:Legalholdlock_label": "Legal Hold Lock",
	"appRepositorymanager:Expirationdate_label": "Expiration Date",
	"appRepositorymanager:Barcode_label": "Barcode",
	"appRepositorymanager:BarcodesenttoR3_label": "Barcode Sent to R3",
	"appRepositorymanager:CompID_label": "Component ID",
	"appRepositorymanager:Contenttype_label": "Content Type",
	"appRepositorymanager:Filename_label": "File Name",
	"appRepositorymanager:Applicationversion_label": "Application Version",
	"appRepositorymanager:Charset_label": "Chartset",
	"appRepositorymanager:Compressionstring_label": "Compression String",
	"appRepositorymanager:archiveLinkComponent_label": "ArchiveLink object type",
	"appRepositorymanager:archiveLinkComponent_description": "Type used for ArchiveLink documents and components",
	"appRepositorymanager:timestampProperties_label": "Timestamp properties",
	"appRepositorymanager:componentProperties_label": "Component properties",
	"appRepositorymanager:documentProperties_label": "Document properties",
	"appRepositorymanager:type_label": "Type",
	"appRepositorymanager:url_label": "URL",
	"appRepositorymanager:properties_label": "Properties",
	"appRepositorymanager:contentlength_label": "Content Length",
	"appRepositorymanager:ilmObject_label": "ILM object type",
	"appRepositorymanager:ilmObject_description": "Type used for ILM collections and resources"
}


Configuration of the SAP System

To connect the SAP system with the HTTP content server and make all necessary settings, we recommend following the SAP guidelines using the SPRO transaction under Netware > Application Server > Basis Services > ArchiveLink.

For customizing the interface for print lists and outbound documents, we recommend attending the SAP course BIT615.

For filing reorg data, we recommend attending the SAP course BIT660.

The main transactions required to establish a connection are listed below:

Transaction OAC0 defines one or several repositories.

This and all further activities within the SAP system have to be undertaken by the SAP system administrator or another authorized user of the customer.

These activities include:

  • For the first time:

    • Creation of a communication user (SU01) with the corresponding authorizations (SAP_BC_ENDUSER, SAP_BC_SRV_ARL_ADMIN, SAP_BC_SRV_ARL_USER, SAP_BC_SRV_COM_ADMIN)

    • ArchiveLink: maintenance of basic settings (OAG1)

    • Creation of number range intervals (OANR) for print lists

    • Create log (OAA3) or import prepared transports from OPTIMAL SYSTEMS with the log.

    • Creation of an archive device (name ARCH) as output device (SPAD), assignment of the SAP ArchiveLink archiver, hostspool access method (I: archiver)

  • One or several times; depending on how many content repositories have to be defined:

    • Creation of a content repository (OAC0)
      DocArea – ArchiveLink
      Filing method – HTTP content server
      Log – OPTIMALA
      Version no. – 0046 or 0047
      http script – cs/contentserver
      Output device – ARCH
      HTTP server – name or IP address of the server on which yuuvis® Momentum REPOSITORYMANAGER is running
      Port number – The port used to access yuuvis® Momentum REPOSITORYMANAGER (default: 8010).

    • After successful configuration of yuuvis® Momentum REPOSITORYMANAGER, the certificate (OAC0/CSADMIN) has to be sent and activated for each repository.

Image Added

Info
iconfalse

Read on

Section


Column
width25%

Schema - Defining Object Types

Insert excerpt
Schema - Defining Object Types
Schema - Defining Object Types
nopaneltrue
 Keep reading


Column
width25%

Custom Client Build with Libraries

Insert excerpt
Custom Client Build with Libraries
Custom Client Build with Libraries
nopaneltrue
 Keep reading


Column
width25%

REPOSITORY Service

Insert excerpt
REPOSITORY Service
REPOSITORY Service
nopaneltrue
 Keep reading



...