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):
|
properties | A JSON object that you can use to set the following properties:
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.
For multi-values, you must also set the row number:
|
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 objectdefinitionids, fulltext 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.
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.
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 objectdefinitionids, fulltext 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):
|
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:
You can define at least one value for each property. Examples (not encoded):
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):
You can also use several properties as search restrictions simultaneously. Examples (not encoded):
|
Note
Specific values for the properties parameter related to the various options for restricting the result in a targeted way:
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.
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.
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"]}