Open Documentation Menu

Calling the web interface with a URL (DMSApp)

In this section, you can learn how to reach the HTML user interfaces of the DMSApp using URLs. You can also use these URLs to integrate the HTML user interfaces into your own application.

Displaying the storage dialog

Released: HTML page 

The storage dialog for the Storage feature allows you to save and update DMS objects.

After you open the storage dialog in the browser and enter values, you are shown the link for calling the displayed dialog, including your entered values, in the URL. You can use this link as a bookmark in the browser, for example, so that you can always display the storage dialog with the entered values. This chapter explains how this link is structured.

If you want to connect an external system, you can find more information about storing new DMS objects using the storage dialog in Storing new DMS objects with user interaction. For information on how to prepare and display the storage dialog for updating from an external system, see chapter Updating DMS objects with user interaction.

Determining the link relation for displaying the storage dialog 

If you call the root resource /dms, you receive in response a JSON object with the link relation new, which you can use to display the storage dialog, as the response. 

The request for the root resource /dms:

Request 

GET /dms
Accept: application/hal+json

The JSON object of the root resource contains the link relation new:

Response 

{
        _links: {
                new: {
                        href: "/dms/new/"
                }
        }
}

Specifying response control parameters 

You control the behavior of the storage dialog using the following parameters. You must encode the URL parameters (e.g. spaces in %20). The length of the encoded query parameter is limited to 2000 characters.

Parameter

Description

type 

Specifies the category (storage type) in the storage dialog. The only possible value is dossier. type opens the storage dialog for creating dossiers.

repositoryid 

Defines the repository ID.

objectdefinitionid 

Specifies the category to be selected in the storage dialog. Specify the ID of a category. If you do not make a specification, no category is selected.

Examples (not encoded):

  • objectdefinitionid=RECH: Selects the category "Invoice" ("RECH") for storage.

properties 

A JSON object that you can use to set the following properties:

  • Document number: property_document_number 

  • Variant number: property_variant_number 

  • Document status: property_state (the possible values are Be for Processing (Bearbeitung), Pr for Verification (Prüfung), Fr for Release (Freigabe) and AR for Archive (Archiv).

  • Editor: property_editor (d.3 user ID)

  • Remark 1: property_remark1 

  • Remark 2: property_remark2 

  • Remark 3: property_remark3 

  • Remark 4: property_remark4 

  • Color code: property_colorcode (is an integer value between 1 and 24 that corresponds to the number of the color code you want to assign).

You can also set values for advanced properties. The ID of the property corresponds to the identifier (RID) of the property. You can find the ID in the URL in the address bar of your browser. After you open the storage dialog in the browser and enter values, you are shown the link for calling the displayed dialog, including your entered values, in the URL.

You can set values for advanced properties as follows.

  • properties={"227"=["KND001"]} 

For multi-values, you must also set the row number:

  • properties={"232":{"1":"Name1@contoso.com", "2":"Name2@contoso.com"}} 

Opening the URL for the storage dialog 

You have generated a URL for the storage dialog. If you open the URL in the browser, the storage dialog is loaded with the transferred parameters.

Note

Use cases for various calls of the storage dialog:

  • Storage in a category: Add the part objectdefinitionid=<category ID> to the URL.

https://<Base address>/dms/new/?repositoryid=<RepositoryID>&objectdefinitionid=RECH 

  • Storage with an alphanumeric property: Add properties={"227":"KND001"} (not encoded) to the properties parameter in the URL to propose the property field with the RID 227 (customer number) and the value "KND001" as the customer number. 

https://<Base address>/dms/new/?repositoryid=<RepositoryID>&objectdefinitionid=RECH&properties=%7B%22227%22%3A%22KND001%22%7D

  • Storage with multiple properties: Add properties={"227":"KND001","231":"-100"} (not encoded) to the properties parameter in the URL to propose the property field with the RID 227 (customer number) with the value "KND001" and the property field with the RID 231 (invoice amount) with the value -100.

https://<Base address>/dms/new/?repositoryid=<RepositoryID>&objectdefinitionid=RECH&properties=%7B%22227%22%3A%22KND001%22%2C%22231%22%3A%22-100%22%7D

  • Storage with multi-values: Add properties={"232":{"1":"Name1@contoso.com", "2":"Name2@contoso.com"}} (not encoded) to the properties parameter in the URL to propose the property field with the RID 232 (e-mail) with the values "Name1@contoso.com" and "Name2@contoso.com".

https://<Base address>/dms/new/?repositoryid=<RepositoryID>&objectdefinitionid=RECH&properties=%7B%22227%22%3A%22KND001%22%2C%22231%22%3A%22-100%22%2C%22232%22%3A%7B%221%22%3A%22Name1%40contoso.com%22%2C%20%222%22%3A%22Name2%40contoso.com%22%7D%7D

Viewing the details of a DMS object

Released: HTML page

The detail view offers you a number of different perspectives for the requested item, such as Properties, View and Notes.

To find our how to view the detail view for an item, see the Retrieving and viewing the details of a DMS object chapter.

Displaying the preview of a DMS object

Released: HTML page

The View perspective offers you a preview for the selected item. You can use the content of the perspective for an item directly without loading the other perspectives.

To display only the preview of a DMS object, you must perform the following steps:

  • Determining the URL for a repository

  • Determine the link relation for displaying the preview

  • Open the URL for displaying the preview

Determining the URL for a repository

In the chapter Determining a repository, you can learn how to determine the URL for a repository.

Determine the link relation for displaying the preview

You open the URL for a repository as follows:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

The JSON object for a repository contains the link relation dmsobjectpreview with the placeholder dmsobjectid.

Response

{
        _links: {
                dmsobjectpreview: {
                        href: "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/{dmsobjectid}/preview{?isReadonly}",
                        templated: true
                }
        },
        id: "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Replace the {dmsobjectid} placeholder with the ID of the DMS object that you want to view directly in the preview.

Specifying response control parameters

Parameter

Description

isReadonly

Specifies whether the preview is displayed in read mode (default value: false). In read mode, it is also not possible to apply visual annotations to PDF documents, for example.

Use the parameter isReadonly=true if the preview is displayed in the inner supply (InnerSupply) of the operating concept.

Open the URL for displaying the preview

You open the preview as follows:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2/P0123456789/preview
Accept: text/html

The preview of the DMS object is then loaded as a result.

Searching for DMS objects

You can integrate the HTML pages of the Search feature in your own HTML user interface to simplify tasks that recur frequently for users, for example.

You can integrate the following tasks:

Parameters that you can use both for search operations and to display the result list are explained for you in the chapter Defining the parameters for a search operation and a result list.

Defining search operations

Released: HTML page

You can use the Search feature to find saved items in the repository, provided that you have the appropriate authorizations. Based on their area of responsibility, users frequently search for the same items, which they can find quickly by using selected properties and categories. You can simplify the search process by providing users with a predefined search operation. In the search operation, you have already defined the values that your users otherwise have to enter repeatedly.

To make a predefined search operation available, transfer the parameters of the URL.

You can call the search operation in two ways:

  • Call the search operation without specifying a specific repository. In this case, the last selected repository is used for the search operation. However, the user can change the repository at any time.

  • You call the search operation for a specific repository, which means that the user can no longer change the repository.

Searching without specifying a repository

If you want to define the search operation without specifying a repository, proceed as follows:

When you open the URL /dms, you are notified of the URL for the search operation, including the available parameters, with the following HTTP response:

Request

GET /dms
Accept: application/hal+json

The JSON object for the root resource contains the search link relation with placeholders for the values used to perform the search for DMS objects.

Response

{
        _links: {
                search: {
                        href: "/dms/s/{?objectdefinitionids,fulltext,properties,showresultlist,repositoryid}"
                        templated: true
                }
        }
}

Searching in a predefined repository

If you want to define a search operation for a specific repository, you must first determine the URL for the repository. In the chapter Determining a repository, you can learn how to determine the URL for a repository.

Once you have determined the URL for the repository (for example: /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27) and called the URL using HTTP GET, you receive the following result, which contains the repository-specific URL for the search operation:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

The JSON object for the repository contains the search link relation with placeholders for the values used to perform the search for DMS objects.

Response

{
        _links: {
                search: {
                        href: "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/s/{?objectdefinitionids,fulltext,properties,showresultlist}"
                        templated: true
                }
        },
        id: "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Specifying response control parameters

You control the system response for searching and displaying using the following parameters:

Parameter

Description

showresultlist

If values are available for a search operation, this specifies whether the search operation is executed directly and the results of the search query are displayed (default value: false).

repositoryid

Defines the repository ID.

For descriptions of the objectdefinitionidsfulltext and properties parameters, see the Defining the parameters for a search operation chapter.

Note

You can also define multiple values for a parameter, provided that facets are displayed for the corresponding property. If no facets for viewing have been defined for the property, the last value is always adopted for the search operation.

Opening the URL for the search operation

Once you have created a URL for the search operation, you can then call the results using the corresponding requests.

Request without a repository ID:

Request

GET /dms/s/?objectdefinitionids=["RECH"]&fulltext=Mustermann&properties={"227":["KND001"]}&repoid=dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: text/html

Request with a repository ID:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/s/?objectdefinitionids=["RECH"]&fulltext=Mustermann&properties={"227":["KND001"]}
Accept: text/html

The search operation in the Search feature is then loaded with the transferred parameters as a result.

Note

You must encode the URL parameters (e.g. spaces in %20). The length of the encoded query parameter is limited to 2000 characters.

Use cases for various search queries (not encoded):

  • Searching across a category: Add the part objectdefinitionids=["<category ID>"] to the URL.

https://<Base address>/dms/r/<RepositoryID>/s/?fulltext=5353&objectdefinitionids=["RECH"]

  • Searching across several categories: Add the part objectdefinitionids=["<category ID>","<category ID>"] to the URL.

https://<base address>/dms/r/<RepositoryID>/s/?fulltext=5353&objectdefinitionids=["RECH","AUFT"]

  • Searching for PDF documents restricted to the file type: Add the part properties={"property_filetype":["<File type>"]} to the URL.

https://<base address>/dms/r/<RepositoryID>/s/?fulltext=test&properties={"property_filetype":["pdf"]}

  • Searching for an alphanumeric property: Add properties={"227":["KND001"]} (not encoded) to the properties parameter in the URL to find the property field with the RID 227 (customer number) and the value "KND001" as the customer number.

https://<base address>/dms/r/<RepositoryID>/s/?objectdefinitionids=["RECH"]&fulltext=&properties={"227":["KND001"]}

  • Searching for multiple properties: Add properties={"227":["KND001"],"231":["|-100"]} (not encoded) to the properties parameter in the URL to find the property field with the RID 227 (customer number) with the value "KND001" and the property field with the RID 231 (invoice amount) with a value lower than or equal to 100.

https://<base address>/dms/r/<RepositoryID>/s/?objectdefinitionids=["RECH"]&fulltext=&properties={"227":["KND001"],"231":["|-100"]}

Viewing the results of a search operation

Released: HTML page

When defining search operations, you can specify that only the result list is to be displayed. Your users can then view the results of a search directly and no longer have to specify the individual properties. The result list makes it easy for your users to continue their work. However, the users can no longer change the search criteria that led to the result.

To display only the results of a search operation, you must perform the following steps:

  • Determining the URL for a repository

  • Determine the link relation for retrieving the results of a search operation

  • Specify response control parameters

  • Open the URL for the results

Once you have created a mapping for a source, you can also display the results of a search operation in other ways. For additional information see chapter Retrieving and viewing the results of a search operation.

Determining the URL for a repository

In the chapter Determining a repository, you can learn how to determine the URL for a repository.

Determining the link relation for retrieving the results of a search operation

You open the URL for a repository as follows:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27
Accept: application/hal+json

The JSON object for the repository contains the searchresult link relation with placeholders for the values used to perform the search for DMS objects.

Response

{
        _links: {
                searchresult: {
                        href: "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/sr/{?objectdefinitionids,fulltext,properties,propertysort,ascending,showdetails}"
                        templated: true
                }
        },
        id: "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27"
}

Specifying response control parameters

Use the following parameters to control the system response when viewing the results:

Parameter

Description

showdetails

If the search operation finds a single document, this parameter specifies whether this document is displayed directly in the detail view (default value: false).

propertysort

Specifies the ID of the property that is used to sort the result. If no sort property is specified, the default sort order using the Last modified sort criterion is applied.

  • Caption/Title: property_caption

  • Owner: property_owner

  • File type: property_filetype

  • Remark: property_remark

  • Last access: property_access_date

  • Editor: property_editor

  • Document ID: property_document_id

  • Document number: property_document_number

  • File size: property_size

  • Document status: property_state

  • Last modified: property_last_modified_date

  • Last file update: property_last_alteration_date

  • Color code: property_colorcode

  • Category: property_category

  • Created on: property_creation_date

  • Last access: property_access_date

You can also sort the result list based on an advanced property. The ID of the property corresponds to the ID (RID) of a property that you can determine for each advanced property in d.3 admin.

ascending

Specifies the direction of the sort order.

  • ascending=true: results in an ascending sort order (from small to large (A-Z) and from old to young).

  • ascending=false: results in an descending sort order (from large to small (Z-A) and from young to old).

If the ascending parameter is not explicitly specified, the ascending sort order is applied. This is not true for the default sort order: If the Last modified criteria is used for sorting and the sort order is not specified, the sort order will be descending.

In addition to this, dossiers are displayed prior to documents in the result list. Within documents and dossiers, the items are sorted by the sorting criterion.

children_of

Specifies the document ID for which the linked direct child items are searched.

For descriptions of the objectdefinitionidsfulltext and properties parameters, see the Defining the parameters for a search operation chapter.

Opening the URL for the results

Once you have created a URL, you can then open the results as follows:

Request

GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/sr/?objectdefinitionids=["RECH"]&fulltext=Mustermann&properties={"227":["KND001"]}
Accept: text/html

The result of the search operation is then loaded.

Note

You must encode the URL parameters (e.g. spaces in %20). The length of the encoded query parameter is limited to 2000 characters.

Use cases for various result lists (not encoded):

  • Searching across a category: Add the part objectdefinitionids=["<category ID>"] to the URL.

https://<Base address>/dms/r/<RepositoryID>/sr/?fulltext=5353&objectdefinitionids=["RECH"]

  • Searching across several categories: Add the part objectdefinitionids=["<category ID>","<category ID>"] to the URL.

https://<base address>/dms/r/<RepositoryID>/sr/?fulltext=5353&objectdefinitionids=["RECH","AUFT"]

  • Searching for PDF documents restricted to the file type: Add the part properties={"property_filetype":["<File type>"]} to the URL.

https://<base address>/dms/r/<RepositoryID>/sr/?fulltext=test&properties={"property_filetype":["pdf"]}

  • Searching for an alphanumeric property: Add properties={"227":["KND001"]} (not encoded) to the properties parameter in the URL to find the property field with the RID 227 (customer number) and the value "KND001" as the customer number.

https://<base address>/dms/r/<RepositoryID>/sr/?objectdefinitionids=["RECH"]&fulltext=&properties={"227":["KND001"]}

  • Searching for multiple properties: Add properties={"227":["KND001"],"231":["|-100"]} (not encoded) to the properties parameter in the URL to find the property field with the RID 227 (customer number) with the value "KND001" and the property field with the RID 231 (invoice amount) with a value lower than or equal to 100.

https://<base address>/dms/r/<RepositoryID>/sr/?objectdefinitionids=["RECH"]&fulltext=&properties={"227":["KND001"],"231":["|-100"]}

  • Defining the sort order of the result list based on the title: Complete the URL by the part propertysort=property_caption.

https://<base address>/dms/r/<RepositoryID>/sr/?fulltext=&objectdefinitionids=["RECH"]&propertysort=property_caption

As response you will receive the HTML page with the result list. If there is an error, you will receive an HTML page that describes the error in more detail. If errors occur, you must correct the incorrect request.

Defining the parameters for a search operation and a result list

If, for example, you want to provide your users with a predefined search operation or result list, you can specify a variety of parameters. Usually, the full-text search in a d.3 repository is not specific enough. Therefore, you can restrict the search query by using query parameters.

You must encode the URL parameters (e.g. spaces in %20). The length of the encoded query parameter is limited to 2000 characters.

Parameter

Description

objectdefinitionids

Sets the categories used for searching items. You can define at least one category. Specify the ID of a category. If this value is not specified, the search is done across all categories in a d.3 repository.

Examples (not encoded):

  • objectdefinitionids=["RECH"]: for performing a search across the category "Invoice" ("RECH").

  • objectdefinitionids=["RECH","AUFT"]: for performing a search across the categories "Invoice" ("RECH") and "Orders" ("AUFT").

fulltext

Specifies a full-text keyword.

properties

Specifies the search restriction based on the properties of documents and dossiers. You can use the following criteria to restrict a search operation:

  • Document ID: property_document_id

  • File type: property_filetype

  • Document number: property_document_number

  • Document status: property_state (allowed values are Be for Processing (Bearbeitung), Pr for Verification (Prüfung), Fr for Release (Freigabe) and AR for the status Archive (Archiv).

  • Editor: property_editor (d.3 user ID)

  • File name: property_filename

  • Import date: property_creation_date

  • File size: property_size (when searching for the file size, the size must be specified in bytes and as an integer. A search within a specific range can be done using the separator pipe and minus character (|-): Search for documents whose document file is smaller than or equal to 1024 bytes with the expression {"property_size":["|-1024"]}.

  • Last modified: property_last_modified_date

  • Last file update: property_last_alteration_date

  • Access date: property_access_date

  • Remark: property_remark

  • Color code: property_colorcode (is an integer value between 1 and 24 that corresponds to the number of the color code you want to assign).

  • Variant number: property_variant_number

You can define at least one value for each property.

Examples (not encoded):

  • properties={"property_filetype":["docx"]}: for searching the file type "docx".

  • properties={"property_filetype":["docx","pdf"]}: for searching for items with the file type "docx" or "pdf".

Restriction in relation to the definition of a search operation: You can also define multiple values for a parameter, provided that facets have been configured for the corresponding property. If no facets for viewing have been configured for the property, the last value is always adopted for the search operation.

You can also limit the result list and search operation based on an advanced property. The ID of the property corresponds to the ID (RID) of a property that you can determine for each advanced property in d.3 admin.

Examples (not encoded):

  • properties={"227":["KND001"]}: for searching for items that have the advanced property with the ID "227" and this property has the value "KND001".

  • properties={"227":["KND001","KND002"]}: for searching for items that have the advanced property with the ID "227" and this property has the value "KND001" or "KND002".

You can also use several properties as search restrictions simultaneously.

Examples (not encoded):

  • properties={"227":["KND001"],"231":["|-100"]}: for searching for items with the customer number (advanced property with the ID "227") "KND001" and an invoice amount (advanced property with the ID "231") lower than or equal to 100.

  • properties={"227":["KND001"],"property_filetype":["pdf"]}: for searching for items with the customer number (advanced property with the ID "227") "KND001" and the file type “pdf”.

Note

Specific values for the properties parameter related to the various options for restricting the result in a targeted way:

  1. Search for a numeric value or a money value:

    Specify the value without using a thousand separator. The decimal separator is the period (.). Example: For the value 1,000.20 EUR specify 1000.20.

  2. Search for a date and time:

    Specify the date in the format YYYY-MM-DD. Example: Enter 2014-12-05 for the date 12/05/2014 (MM/DD/YYYY).

    Time is specified in the format YYYY-MM-DDTHH:mm:ss+01:00. You must encode the plus character (+) with %2b. Example: 2015-02-18T23:59:59%2b01:00 for 02/18/2015 at 11:59 p.m. and 59 seconds in the time zone UTC+1 for standard time in Germany.

  3. Search for items that are located in a specific range:

    To search in a range, use a combination of the pipe and minus character (|-) as separators. Examples for a numeric field with the ID "231":

  • Values greater than or equal to 100:  {"231":["100|-"]}

  • Values smaller than or equal to 100: {"231":["|-100"]}

  • Values between 100 and 200: {"231":["100|-200"]}