Template Engine


The dmBridge templating engine attempts to strike a balance between ease of use, advanced customization potential, and upgrade-safety (meaning that underlying implementation changes in either dmBridge or CONTENTdm® won't break your page templates). The macro-scale HTML layout is left entirely up to the designer, while some smaller bits - rendered by the Draw methods - return HTML in a fixed structure that can be styled, but not customized. This is the price to pay for the ease of being able to use "one-liners" to call up sophisticated functionality. The default functionality of any of the Draw methods can be overridden by extensions, but this is generally a job for a programmer.

In practice, even without custom extensions, the template development process is a whole lot easier and more flexible than that for the CONTENTdm® templates. (This was actually the #1 design priority for dmBridge.) However, it is also totally different, so there is a necessary-but-modest learning curve.

Template-to-collection mapping

A single set of dmBridge templates can be used with a single collection, multiple collections, or all collections. Conventionally, a "single collection" set of templates would be customized for that collection, and an "all-collections" set of templates would be styled to harmonize with the digital collections department or organization. That's just an idea, and you are free to do whatever you want. It is easy to reassign which collections appear in which set of templates at any time via the Control Panel.

Coexistence with the CONTENTdm® default templates

dmBridge templates can coexist peacefully with CONTENTdm® default templates. If you are just starting out with dmBridge, it wouldn't be a bad idea to dip your toes in the water with just one template set at first. You should never delete your default templates, as they are required by the CONTENTdm® administration module.


The dmBridge template engine is separate from the core system and can reside on any web server, as long as it can communicate with your CONTENTdm® server. No extra steps are necessary to run it on another server; just move the dm/objects folder as well as any template folders you may have to another server, and they should just work.