Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


...

Page Properties
hiddentrue
idDONE

Product Version
Report Note
Assignee

Resources & Remarks

Modification History

NameDateProduct VersionAction
Antje08 FEB 20212.4New page properties macro.



Excerpt
This tutorial shows how we can use a Java application to make a request to the Core API of the yuuvis® API system to retrieve the history entries of a DMS document. In addition, it briefly describes which history entries are generated for a document.


Requirements

To work through this tutorial, the following is required:

  • Set-up yuuvis® API system (see minikube setup, for example)
  • A user with at least read permissions on a document type in the system (see tutorial for permissions)
  • Simple Maven project
    Section
    Column
    bordertrue


    Column

    Table of Contents

    Table of Contents
    exclude(Table of Contents|More Tutorials|Importing Documents|Retrieving Documents|Deleting Documents)


    Introduction

    The history of a DMS document is used to trace what happened to the document from the creation of the document in the system, meaning the import, to the disappearance of the document from the system, the deletion. This also includes events such as updating or retrieving the document.

    Requirements

    To work through this tutorial, the following is required:

    The History Entry

    An entry in the history looks like this:

    Section


    Column
    width50%


    Code Block
    titleStructure of a History Entry
    linenumberstrue
    {
        "properties": {
            "system:objectId": {
                "value": 223439898
            },
            "system:objectTypeId": {
                "value": "system:audit"
            },
            "system:baseTypeId": {
                "value": "item"
            },
            "system:createdBy": {
                "value": "353c631e-6a61-4e89-9512-8d275c826ce5"
            },
            "system:tenant": {
                "value": "default"
            },
            "system:creationDate": {
                "value": "2018-12-21T12:23:34.510Z"
            },
            "description": {
                "value": ""
            },
            "action": {
                "value": 101
            },
            "detail": {
                "value": "CREATE_METADATA_WITH_CONTENT"
            },
            "referredObjectId": {
                "value": "d3241d76-0652-4ac8-ba6d-892d719a2a6d"
            },
            "traceIdtraceid": {
                "value": "b279402aa9a2073b"
            },
            "system:versionNumber": {
                "value": 1
            }
        }
    }



    Column
    width50%


    Panel

    A history entry is structured like a map, i.e. the entry consists of key-value pairs, whereby a value can also be a key-value pair.

    Each history entry has an objectId and a referencedObjectId. The referredObjectId is the object ID of the document for which the entry was written and the objectId is the object ID of the entry itself.

    Furthermore there are properties like createdBy, detail or versionNumber, which indicate in which user context the entry was created, what happened and which version number the corresponding DMS document has after the protocolled action.

    The time of the action (creationDate) and the associated trace ID (traceIdtraceid) are also saved to ensure traceability.



    The Client Application

    We use a Java client to send a GET request to the Core API.

    Maven Configuration

    This example uses the OkHttpClient by Square, Inc. Therefore we add the following dependency to the file pom.xml:

    Code Block
    titlepom.xml
    linenumberstrue
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>3.12.0</version>
    </dependency>

    Client Configuration

    To interact with the yuuvis® API system via the Core API, we use an OkHttp3 client to send HTTP requests and read their responses.

    ...

    For more information on setting up the OkHttp3 client with cookie handling, please refer to this Login Tutorial.

    Retrieve History Entries of a Document

    With a GET request to the URL /api/dms/objects/{objectId}/history we can retrieve the history of the DMS document with the object ID objectId.  The objectId serves as the unique identification number of an object and can be retrieved from the API response during import, for example (see tutorial on updating documents).

    ...

    The returned history for a DMS document is a list of all history entries.

    Which History Entries Are There?

    For the various actions, such as import, retrieve, update, and deletion of a DMS document, there are the following history entries:

    Import:

    • CREATE_METADATA
    • CREATE_METADATA_WITH_CONTENT

    The difference between these two types of import is that the first type imports only metadata and the second type imports metadata and content simultaneously.

    Retrieve:

    • GET_CONTENT
    • GET_METADATA
    • GET_PDF_RENDITION

    Each of these types distinguishes between retrieving only metadata, content, or the PDF rendition of the content of a document.

    Update:

    • UPDATE_METADATA
    • UPDATE_CONTENT

    Here, a distinction is made between updating the metadata and the content of a document.

    Delete:

    • DELETE
    • MARKED_FOR_DELETION

    ...

    All history codes available in yuuvis® Momentum are listed and explained in the concept article on the Audit Trail.

    Summary

    In this article, we used theOkHttpClient to retrieve the history of a DMS document and output the result to the command line. If you want to use a client to send several requests to the system in the same user context, we recommend a session handling, such as described here.

    The full implementation of this example can be found in this git repository.

    Info
    iconfalse

    More Tutorials

    Section


    Column
    width25%

    Importing Documents

    This tutorial uses code examples to show how to import documents via Core API into a yuuvis® API system using a Java client. 

    Insert excerpt
    Importing Documents via Core API
    Importing Documents via Core API
    nopaneltrue
    Keep reading


    Column
    width25%

    Retrieving Documents

    A tutorial that exemplifies the different ways to retrieve documents from the yuuvis® system via Core API.

    Insert excerpt
    Retrieving Documents via Core API
    Retrieving Documents via Core API
    nopaneltrue
     Keep reading


    Column
    width25%

    Deleting Documents

    Insert excerpt
    Deleting Documents

    A short tutorial that shows how to delete a DMS document in the yuuvis® system via Core API using the example of a Java client.

    via Core API
    Deleting Documents via Core API
    nopaneltrue
     Keep reading