Archive for the ‘Content Management System (CMS)’ Category

Adobe CQ5 – OpenCalais Integration [Drupal too!]

Tuesday, November 27th, 2012

Adobe CQ5 – OpenCalais Integration by Mateusz Kula.

From the post:

In the massive amount of information available on the Internet it is getting more and more difficult to find relevant and valuable content and categorize it in one way or another. No doubt tagging this overwhelming amount of data is becoming more and more crucial from the SEO and digital marketing point of view as it plays important role in site positioning and allows end users a keyword search. Problems appear when editors are not scrupulous enough to add tags for new pages, press releases, blogs and tweets and to update them when content significantly changes. The worst case scenario is when there is a CMS filled with a whole bunch of untagged content. Then it may take too much time and resources to catch up with tagging. OpenCalais turns out to be a great solutions to such problems and what is more it allows for auto-tagging and can be easily integrated with other services.

An interesting take on integrating OpenCalais with Adobe’s enterprise content management system, CQ5.

Suspect there are topic map authoring lessons here as well.

Rather than seeing topic map editing as always a separate activity, integrating it into content management workflow, automated to the degree possible, could be a move in the right direction.

BTW, there is an OpenCalais module for Drupal, in case you are interested.

“IBM® Compatible” On The Outside?

Thursday, October 11th, 2012

I ran across Customizing and Extending IBM Content Navigator today.


IBM® Content Navigator is a ready-to-use, modern, standards-based user interface that supports Enterprise Content Management (ECM) use cases, including collaborative document management, production imaging, and report management. It is also a flexible and powerful user platform for building custom ECM applications using open web-based standards.

This IBM Redbooks® publication has an overview of the functions and features that IBM Content Navigator offers, and describes how you can configure and customize the user interface with the administration tools that are provided. This book also describes the extension points and customization options of IBM Content Navigator and how you can customize and extend it with sample code. Specifically, the book shows you how to set up a development environment, and develop plug-ins that add new actions and provide special production imaging layout to the user interface. Other customization topics include working with external data services, using IBM Content Navigator widgets externally in other applications, and wrapping the widgets as iWidgets to be used in other applications. In addition, this book describes how to reuse IBM Content Navigator components in mobile development, and how to work with existing viewer or incorporate third-party viewer into IBM Content Navigator.

This book is intended for IT architects, and application designers and developers. It offers both a high-level description of how to extend and customize IBM Content Navigator and also more technical details of how to do implementation with sample code.

IBM Content Navigator has all the hooks and features you expect in a content navigation system.

Except for explicit subject identity and merging out of the box. Like you would have with a topic map based solution.

Skimming through the table of contents, it occurred to me that IBM has done most of the work necessary for a topic map based content management system.

Subject identity and merging doctrines are domain specific so entirely appropriate to handle as extensions to the IBM Content Navigator.

Think about it. Given IBM’s marketing budget and name recognition, is saying:

“IBM® Compatible” on the outside of your product a bad thing?.


Sunday, March 4th, 2012


A hosted “content management system,” aka, a hosted website solution. Based on Scala and Neo4j.

I suspect that Scala and Neo4j make it easier for the system developers to offer a hosted website solution.

I am not sure that in a hosted solution the average web developer will notice the difference.

Still, unless you want a “custom” domain name, the service is “free” with some restrictions.

Would be interested if you can tell that it is Scala and Neo4j powering the usual services?

From “Under the hood” is a next-generation content management system. In this post we will look how this system works and how this setup can benefit our users.

Unlike most other content management systems, is entirely built in the programming language Scala, which means it runs on the rock-solid and highly performant Java Virtual Machine.

Scala offers us a highly powerful programming model, greatly cutting back the amount of software we had to write, while its powerful type system reduces the number of potential coding errors.

Another unique feature of is the use of the Neo4j database engine.

Nearly all content management systems in use today, store their information in a Relational Database Management System (RDBMS), a proven technology ubiquitous around the ICT spectrum.

Relational Database Management Systems are very useful and have become extremely robust through decades of improvements, but they are not very well suited for highly connected data.

The world-wide-web is highly connected and in our search for the right technology for our software, we decided a different approach towards storage of data was needed.

Neo4j ended up to be the prefered solution for our storage needs. This database engine is based upon the model of the property-graph. Where a RDBMS stores information in tables, Neo4j stores information as nodes and relationships, where both can contain properties.

The data model of the property-graph is extremely simple, so it’s easy to reason about.

There were two main advantages to a graph-database for us. First of all, relationships are explicitly stored in the database. This makes navigating over complex networked data possible while maintaining a reasonable performance. Secondly, a graph database does not require a schema.