The OpenText Documentum REST API? – A field report from the developer’s point of view

The OpenText Documentum REST API? – A field report from the developer’s point of view

What is the “Documentum Rest API”?

In principle, the term Documentum REST API refers to a web interface introduced with Documentum 7 that allows access to objects and functions of OpenText Documentum. This is based on Spring-Boot, is delivered as a WAR file and must be installed on an application server – e.g. Apache Tomcat. This interface can be used to write customized clients, apps, or plug-ins of other systems.

Before the Documentum Rest API, the APIs DFS and DFC had to be used as an interface for business applications in order to interact with Documentum. DFS is based on SOAP and is therefore also a web interface, while DFC is based on Java.

The REST API consists of several residual web services that interact with OpenText Documentum. It is “hypertext-driven, server-side stateless, and content negotiable, which provides you with high efficiency, simplicity, and makes all services easy to consume” [Source: https://community.emc.com/docs/DOC-32266, date of collection: 29.11.2016 – 11:51]
Introduction to REST Services

To understand how the Documentum REST API works, the first step is to explain the basic operation of a general REST service. REST stands for Representational State Transfer and is based on a stateless, client-server and cache capable communication protocol. In almost all cases the http protocol is used. REST is additionally hypertext controlled, i.e. REST clients must have all the information they need at any given moment to decide where to forward them. Hypermedia connects resources and describes their capabilities in a machine-readable way. For this reason, a REST client only needs to know one thing to communicate with the REST server – the understanding of hypermedia.

REST itself is an architecture style for network services (web services), where complex mechanisms should be avoided as far as possible by using simple http calls.
This means that a REST web service and its functions can be called without much effort from a simple http client. A call via the browser – which is also based on an http client – is also possible if the web service has implemented a GET call for the specified service URL. It is because of the http protocol that the functions and accessibility of the REST services can be easily tested and used, for example, for the in-house development of a client whose code base can be determined by the user.

In addition, the REST API can be accessed from any client, provided that this client is on the same network and can authenticate and authorize itself. An installation of local software is not necessary for the accessibility – for the use of the functions only an http-Client must exist (e.g. browser or self-developed client).

Compared to SOAP, REST also offers a small performance advantage..

Functions of the services

The Documentum REST API is delivered with some REST services that allow you to call basic functions of Documentum. Here is a brief list of what I think are the most interesting services:
Object Service
This service allows interaction with Documentum objects inheriting from dm_sysobject, such as cabinets, folders and documents. You can use the service to display objects, create and change new objects (for example, check-out/check-in, new rendition,…) or delete objects.
Objects that do not inherit from dm_sysobject must be implemented through an extension of the REST API. Read more about this in the section Extensibility.

User Service
This service can be used to manage users, groups and ACLs. This means that user administration can also be accessed from an external source and easily adapted to your own processes and requirements.

DQL Service
The DQL web service is a service that allows you to execute DQL queries and report their results back to the client. By default, the DQL service only supports select queries for security reasons. Also for security reasons, changes to objects via DQL should be implemented using your own, secure services.

Example Call of the Object Service
Once the REST API has been successfully installed on an application server, provided the firewall rules have been set up correctly, it can be called by any client from the local network under the link “/dctm-rest” (example: http://vm-documentum-app-test:8080/dctm-rest for default Tomcat configuration). When calling up this URL, e.g. via the browser, you should then be able to see the following:

If the above link, adapted to local conditions, cannot be called either via the network or locally from the application server, the log files must be inspected. Most likely something failed during the installation of the REST API.

Clicking on the “Services” button would call “/dctm-rest/services” (example: http://vm-documentum-app-test:8080/dctm-rest/services).
The result, when the page is called up, should look something like this:

If you now call the first URL, for example, all Documentum repositories would be displayed:
The URLs contained in the entries could now be used to connect to the repositories using valid logon data, for example to execute a DQL query, check out a document, or similar.
Induction
With the appropriate knowledge of the architecture and function of REST services, training is relatively quick, since the Documentum REST API corresponds to a REST-compliant interface. In addition, OpenText provides many helpful tutorials and code examples that can be found on the Internet. OpenTexts code libraries, which are available in almost all common programming languages (Java, C#, Pyton, Swift, Ruby, Objective-C, AngularJS,…) on GitHub, complete the simple introduction.
Nevertheless, these GitHub libraries should be chosen with care, since you depend on the written code and the libraries can be adapted by the manufacturer at any time. Features could be different with a new patch and not work as before, which can lead to errors.
The other option would be to create a custom written code library that accesses the API. This ensures independence from the code libraries provided by OpenText and gives you more control over what happens in the foreground during development.

Extensibility
As already indicated in the point of the individual functions of Documentum REST Services, not every function of Documentum is enabled via the web interface described here in the standard system.
However, if functions that are urgently required for business logic are missing in the standard delivery of the REST API, they can be implemented using enhancements to the REST services. It should be noted that the familiarization is not quite as simple as, for example, for the initial entry of the creation of a document management client. However, thanks to the documentation of the REST API and good examples on the OpenText community page, most of the initial problems can be handled easily. It is implemented in Java and using the build management tool Apache Maven.

Docker Support
Since version 7.3, Documentum REST web services can officially be executed as a finished docker image in a Docker container. The support of Docker is in my opinion the right step to place the REST API as the primary web interface. Docker makes it easy to scale and migrate to other servers without much effort. For this reason, the finished REST API can be quickly integrated into the internal network and used, of course under the circumstances that the necessary Documentum infrastructure already exists.

Summary
Documentum REST web services offer a good and beginner-friendly way to interact with OpenText Documentum from self-implemented systems or clients. In my opinion, the quick training in the functionality and use of the API is especially positive. But you should be careful with special cases, because the implementation of an extension of the standard API is a time-consuming process and requires some training. The possibility of using the services from all possible programming languages and thus also with any operating system is also very nice.

20 Years Partnership Anniversary Documentum and fme – And still going strong!

20 Years Partnership Anniversary Documentum and fme – And still going strong!

At fme we are proud that this year marks the 20th anniversary of our partnership with Documentum, now part of OpenText. It is a success story with countless successful client projects, a world-renowned product that has been certified for more than 10 years, extensive platform and industry-specific process know-how and a great team of highly specialized employees.

When we started our first Documentum project in 1998 together with an automotive client, Enterprise Content Management was just one flourishing plant in fme’s portfolio at that time. Today, 20 years later, this area of our portfolio builds a solid cornerstone of our corporate strategy and is one of the reasons why the small team of around 15 employees at that time has grown into an international group of companies with more than 230 employees and locations in Germany, Romania and the USA. Our clients trust in Documentum: We still work with the client from back then and the installation we support has grown to be one of the largest with more than 70 thousand users and is the client’s only platform approved for confidential and secret documents. Of course we have gained many more since then, some of which we are supporting in projects around the globe with the help of fme SRL (founded in 2005) and fme US, LLC founded in 2010.

Long-term Solutions Based on OpenText Documentum

One of the most told anecdotes around our ECM Business is the following, and it somehow fits perfectly to our anniversary, although the client decided to go with a different platform in the end:

Way back we were having a Document Management workshop with one of our earliest clients, a regional church nearby. We talked about storage media reliability:
Consultant: “Well, hard disc storage has to be reorganized every 3-5 years to avoid data loss caused by hardware failure. You better use CD-ROM storage which will keep your data safe for some 15 years.”
Client: “At our church we do not store for 10-15 years… WE ARCHIVE FOR ETERNITY!”

Our expertise in long-term archiving has grown since then and one of our most reused solutions is the historical company archive based on Documentum which we have set up for large corporations like Volkswagen, Telekom, and the Deutsche Post DHL. More and more clients also trust in our Documentum Application Management Services (AMS) and work together with our skilled Team in Cluj, Romania.


Memorabilia of one of our consultants looking back to 20 years software development with Documentum

Supporting Documentum, EMC’s Enterprise Content Division, DELL EMC and now OpenText

In the past 20 years Documentum was subject to some mergers and acquisitions but the community is still alive. OpenText acquired the Enterprise Content Division of EMC in 2016. Many clients initially seemed to be uneasy about the future of Documentum but we were and are sure that OpenText Documentum is here to stay. Please see Dirk Bode’s blog post “Keep calm and love Documentum (at least quite a bit longer)” and the interview from OpenText Enterprise World 2017: OpenText Live Presents Dirk Bode, fme AG on consulting – YouTube if you are interested to learn why. The messages from OpenText during the last two years are clear: they are committed to further developing Documentum as it has proven to be a reliable and scalable platform that continuously adapts to an increasing number of requirements and the clients have resumed their projects. We are excited to learn more about the latest news at OpenText Enterprise World in Toronto in July.

Growing Documentum Expertise

We are happy that continously training our experts on the latest trends and requirements of our clients has proven to be the right decision. Over time we have added industry-specific process expertise which means our industry experts are both Documentum experts AND for instance Certified Regulatory Document Management Compliance Professionals. To fulfill the high demand for certified Documentum experts we are also regularly hiring additional team members. Should you be expanding or reorganizing the strategy for your OpenText Documentum platform majorly please talk to us so we can align our services and resorces even better to your requirements. Last year we set up a showcase with OpenText Documentum and Amazon Alexa to demonstrate how Documentum can be managed via voice control. Such innovative solutions are of course based on our team’s deep core knowledge with Documentum. Fun fact: did you know that we are using Documentum internally at fme group? One of the most useful customizations we did is the document number – our corporate presentation is probably the best known document number: everybody knows the #6120 😉 Combined with the extended search you can find documents very fast and easily using #… when searching for numbers, *… for document names, and +… for folder names.

Constant Active Member of the Documentum Community Since 1998

Our commitment to the Documentum platform is obvious: numerous client projects, annual exhibition appearances at all OpenText events, a longterm membership in the Documentum Partner Advisory Board and many marketing campaigns prove this. With the organization of the OpenText Documentum User Group in Germany and in the United State we help our clients connect and benefit from the OpenText Documentum community. Last but not least many awards over the last years demonstrate our commitment. This year we have been nominated as one of three candidates for the OpenText PARTNER of the Year Award in FY 2018. The winner will be announced during the Enterprise World Partner Session on July 9th. Keep your fingers crossed for us!

 

fme and OpenText Documentum History 

Important milestones in 20 years partnership between Documentum and fme

We believe in Documentum and look forward to continuing this story with you, as our clients and partners and of course with you, our employees! Cheers to the next successful 20 years with OpenText Documentum!

Landingpage 20 Years Anniversary Documentum & fme with videos

Digitalization? I can’t hear it anymore!?!

Digitalization? I can’t hear it anymore!?!

A spokesperson for the association even apologizes for addressing the subject of digitalization at all. Of course, there is often not much fundamentally new knowledge about digitalization in general to gain in lectures and seminars when you have already attended numerous lectures, visited Silicon Valley, admire Israeli startups and experience Asian digital power. I even believe that in many cases the top level management has largely understood the topic – it is most certainly high time for that.

However, digitalizationis not a phenomenon that is solved at boardrooms with an army of assistants and “SWAT teams”. The general consensus is that the challenge can only be met successfully if all of a company’s talents are gradually taken on a journey into the digital future. The corporate culture – here too there is agreement – is the key to success in the digital world. Companies need more speed, agility, creativity, innovation, experimentation and networking in order to successfully face the digital “> VUCA world“.

It is in fact unfavorable if the entrepreneurial leadership is already annoyed as soon as the subject of digitalization is discussed here and there.

The digital experience of revival or “when the penny drops”

Even the most experienced digitizer had his personal awakening experience at some point – the moment when the penny dropped, when everything came together; the moment when it became clear: Something really big is happening and I know where it is coming from, why it is happening, what effects it has and how we can react to it. Exactly this experience is what every employee in the company needs – of course this is also possible without a trip to Silicon Valley, Israel or China – we are happy to help you 😉

Only if all forces in the company understand the risks and the incredible opportunities of digitalization can they pull together in the long term. Even today, stories of UBER, Netflix, Airbnb and Amazon or pictures of the papal election in the past and today still help.

So the next time the topic of digitalization comes up, or one of the well-known examples is attempted, then just remember that perhaps the person next to you is having his or her personal digital revival experience and refrain from the usual sayings like “do I already know, can I already, I was there already”. Even with many entrepreneurs the penny has not yet fallen – do not spoil the moment for them, but rather help them to understand the topic by new examples and pictures. Or use the time when things repeat themselves to develop concrete ideas and measures on how you will take your entire company on the digital journey.

Become a patient digitalization ambassador

Don’t let digitalization get on your nerves, but become a patient ambassador who constantly explains and explains why digitalization is at the same time the greatest challenge and opportunity for every company since the industrial revolution. Of course, concrete implementation is a prerequisite for success in the end, but without employees who have understood what it is all about and who have understood the opportunities that lie dormant in the topic, implementation will not succeed.

The Extremely Efficient Efficiency Hold – Special use cases based on the OpenText Documentum Life Sciences Solution Suite (Part 1)

The Extremely Efficient Efficiency Hold – Special use cases based on the OpenText Documentum Life Sciences Solution Suite (Part 1)

Case Study

A manufacturing life sciences company is installing a new centrifuge for a production plant producing drug substances. In order to avoid operating errors, every employee who will operate the device in the future must undergo compulsory training tailored to the device. Within the training course, among other things, the work instructions created for the device are explained.

The work instruction passes through the obligatory document management processes prior to the training. Within the company’s own electronic document management system (DMS), those responsible for production operations approve the work instructions digitally. The approval takes place on 15 January. A document coordinator specifies February 1 as the effective date for the document. The device is to be used as of this date. The DMS ensures that the working instructions receive a corresponding electronic watermark automatically on February 1. Furthermore, the DMS automatically copies the watermarked document into the company’s own intranet (publishing).

Due to regulatory requirements, the work instruction may only be effective after all relevant employees have been trained by the DMS.

Two employees cannot attend the training due to illness. Since the training took place only a few days before the effective date and not all employees were able to complete the training, a responsible document coordinator must ensure that the document will not be effective from 1 February. Only when the remaining employees have completed the training, the work instructions may be effective. To do this, the coordinator sets a lock on the document: An Effectivity Hold. After the employees have been trained, the document coordinator removes the lock from the document. As soon as the lock is removed, the DMS transfers the work instruction to the effectivity status including the above-mentioned publishing.

Solution from the user’s point of view (excerpt)

The document coordinator sets an Effectivity Hold to an approved work instruction.

A reason must be given that is recorded in the audit trail of the document:

The attribute page of the document displays the Effectivity Hold information read-only:

Technical implementation (excerpt)

The outlined business process is implemented on the basis of the OpenTextDocumentum Life Sciences Solution Suite. Customer-specific adaptations at D2 level ensure that the Effectivity Hold functionality is seamlessly integrated into the Life Sciences Suite.

A D2 Property Page provides the input fields for the document coordinator:

A D2 uniqueness condition within the D2 lifecycle blocks the effective setting:

Do you have any questions or wish further information?
Simply fill in our > contact form or visit our > OpenText Documentum Life Sciences Solution Suite landing page.

Here you can find the second part of my blogpost series »Special use cases based on OpenText Documentum for Life Sciences«: > The Mysterious Case of TDC

Synchronizing OpenText Documentum Metadata with SAP

Synchronizing OpenText Documentum Metadata with SAP

OpenText Documentum Archive Services for SAP

The main purpose of the OpenText Documentum Archive Services for SAP (ASSAP) is to accept content (e.g. the printable bill) delivered by SAP. For this, the ASSAP exposes as ArchiveLink server. With the ArchiveLink protocol, SAP is not only able to archive content but also able to retrieve that content for display purposes. Such content can be for example billing documents. So the active part is SAP. OpenText Documentum is the passive part. The ASSAP will create the link information with SAP archive maintenance data.

OpenText Documentum Content Services for SAP

In short, if you want to interact with SAP in another way than using the ArchiveLink protocol, you need the OpenText Documentum Content Services for SAP (CSSAP).
The mapping is defined by the Document configuration objects, which are text based.
Configurations can be e.g. a mapping of a SAP attribute to an OpenText Documentum attribute or a query executed either against OpenText Documentum or SAP.

Scenario 1:
If you have the content first in OpenText Documentum and want it to link with SAP, a barcode link is a possible way to archive this. The available barcodes inside OpenText Documentum have to be published to SAP. With this, the user can link e.g. a SAP billing document with an available (external) barcode. After this, the Document object (and its content) is linked to the appropriate SAP object and the content can be retrieved via the ArchiveLink interface (exposed by the ASSAP).

Scenario 2:
You want to pull metadata e.g. from a billing document from SAP to OpenText Documentum. For this, suitable search criteria are needed (the receipt number, the ArchiveLink ID, etc.) to build a query against SAP. All matching SAP objects are then mapped to OpenText Documentum objects and all configured attributes are copied from the SAP object into the corresponding OpenText Documentum object. Mapping of attributes might not need necessarily to be linked to the same OpenText Documentum object holding the content. It is up to you how you want to define the mapping rules.

Scenario 3:
You can also modify SAP data based on OpenText Documentum objects’ values. However pulling data from SAP can be performed with standard RFC calls. For pushing data to SAP, the best way is to utilize a custom BAPI created especially for that purpose.

Delta Synchronizations

The CSSAP works best for one-time synchronizations based e.g. on missing data or on specific lifecycle status names.

However with some tweaks you can get the best value of CSSAP and enable delta synchronization abilities:

  • Perform a query against SAP to determine all modified SAP data. For this, weave into the SAP query conditions (query parameters) conditions for querying e.g. a modification date.
    For example a regular query parameter inside ASSAP looks like this:
    • Modification Date=20170401

    Change this line e.g. to

      Modification Date=‘00000000’ OR AEDAT GE ‘$modified’ OR ERDAT GE ‘$created’
      $DQL=select max(any_tracking_creation_date) as created, max(any_tracking_modification_date) as modified from your_object_type

    With this change all creations (field ERDAT) and modifications (field AEDAT) can be identified.

    • Based on the result of the above query mark all OpenText Documentum objects subject to synchronization (to be more fault tolerant).
    • Now perform a query against SAP to match all objects in scope of the synchronization. Inject e.g. the receipt no into the SAP query of all pending OpenText Documentum objects. Consider to limit the amount of injected parameters (e.g. the amount of receipt numbers and by this the amount of retrieved receipts) to avoid a synchronization process which will span over a too long time period. Due to the split into a mark and a synchronization step, postponing object synchronization to subsequent synchronization runs is no problem. Either abort of the synchronization step is no problem. The next run will synchronize missed objects. The limitation of the amount of objects can be done e.g. by the DQL hint “return_top N”.
    • Consider increasing the amount of objects within a single transaction (CSSAP configuration) from 1 (default) to a huge amount of objects. By this, the mark step will get fault tolerant and nevertheless the amount of objects processed by ASSAP is limited by the above mentioned object limitation (enforced by the hint “return_top N”).

    All taken together, you can achieve a delta metadata synchronization from SAP into OpenText Documentum.

    Don’t hesitate to get in touch with me or to share your thoughts and ideas with me!