APIs & custom development

Before version 6.x, the only way of accessing information from CONTENTdm® programmatically was via its PHP API. This is a simple procedural API consisting of a few dozen PHP functions. The CONTENTdm® PHP API is enabled by a proprietary PHP extension, which bridges the PHP environment with the CONTENTdm® system which is distributed as a number of compiled binaries. The dmBridge PHP API is, in part, an abstraction of this API.

Version 6.x of CONTENTdm® delivered a new web-based API. This is an RPC-style API that essentially maps PHP API functions to HTTP calls. dmBridge does not use this API as it already provides its own HTTP API.


CONTENTdm® PHP API documentation is available to CONTENTdm® customers by request from OCLC.

CONTENTdm® does not have a provision for modules, extensions, or any other way of altering its functionality. Any customization must therefore be implemented outside it, and if it needs to persist data, it must do so externally from CONTENTdm®. This imposes certain limitations; for example, custom persistent data in a relational database like MySQL cannot be searched in conjunction with CONTENTdm® metadata because the CONTENTdm® search engine cannot "see" it, and vice versa.