IBM Content Navigator, Version 2.0.3         

IBM Content Navigator development architecture

IBM® Content Navigator uses a model-view-controller (MVC) architecture.

As the following diagram shows, the components of IBM Content Navigator are separated functionally according to the MVC design:
Web client
The web client acts as a controller that provides the communication between the view and the model. Users interact with the widgets that are contained in the web client. The web client translates these interactions into the actions that are performed by instances of the model classes.
Visual widget library
This library of JavaScript classes defines widgets that are used to build the view for IBM Content Navigator.
Modeling library
This library of JavaScript classes defines the model for IBM Content Navigator. The modeling classes provide the data, server interaction and caching. These classes define communication with the midtier services to provide access to the content repositories and their respective application programming interfaces (APIs).

You can use the modeling classes to customize the communication and data exchange between the web client and the repositories.

Begin alt text.
This image is described in the surrounding text. End alt text IBM Content Navigator visual widget catalog IBM Content Navigator modeling library structure IBM Content Navigator midtier services

You can customize IBM Content Navigator at each level of the architecture by using custom plug-ins. You can create plug-ins to implement custom widgets, services, and other components. By creating custom plug-ins, you can integrate information and content from external sources and augment or modify the behavior of IBM Content Navigator.

IBM Content Navigator uses plug-ins to implement various features. For example, IBM Watson Content Analytics is integrated as a plug-in to IBM Content Navigator. The external data service plug-in augments the behavior of many IBM Content Navigator widgets to support the integration of data from sources other than the content repositories. You can use this feature to add such features as choice lists, choice list dependencies, and validation to the web client.