ICN
ICN
Navigator
Development & Customization
ICN Architecture
Development Architecture
Layered Approach
• Specific implementations
• Interfaces to repositories
• Services can be developed to access new
sources of data
• External Data Service (EDS) implemented as
plug-in
Communication flows
(Widget to model communication)
Communication flows
(Model to mid-tier communication)
Programming Interfaces
• URL API - Used at the presentation layer to integrate ICN
into custom web application
• External Data Services (EDS) - REST interface allows you to
change the presentation layer
• Java API
– Plug-in API - Java interface that contains set of abstract and utility
classes for building custom plug-ins
– Configuration API - Used by midtier services layer to access or
update configuration of ICN and user configuration.
• JavaScript API
– Modelling - set of JavaScript classes used by presentation layer to
access the data from the server
– Widgets - Used at presentation layer to create new or extend
existing widget catalog of IBM Content Navigator
URL API
• Integrate document management solution
into custom applications via URL link
• Desktops, features, documents, search
templates and folders can be directly
embedded into custom applications using URL
Link
• hide the banner across the top of the screen
or hide the Features sidebar by appending the
sideChrome parameter to the URL
EDS (External Data Services)
• EDS is a plug-in that is provided by IBM Content
Navigator for external data access
• Useful for:
– Create a choice list for attributes based on a data
source lookup
– Prefill attributes with default values
– Create choice list dependencies
– Define regular expressions for the validation of user
input
• Communication between IBM Content Navigator
and the EDS Service is based on the REST protocol
EDS (External Data Services)
Plug-in API
• Using Plug-in API, it is possible to add functionality into
ICN UI
• Required to implement a set of abstract Java classes.
Additionally JavaScript classes are required too
• Plug-in must implement the abstract Plugin class
• This provides basic info to ICN about the Name, Id and
which extension points are implemented
• Override methods in the Plugin class to specify
additional resources that are used by the plug-in
• All resources used by the plug-in has to be in the
WebContent subfolder created in the Java package
folder of the plug-in class
Custom Plug-in
Actions
Plug-in Service
• Many plug-ins need to run on the server side in
order to provide new capabilities in ICN
• Services can be written to implement these
capabilities
• These services could be consumed by the custom
actions or widgets
• Service implementation should extend the
abstract PluginService class and implement the
methods
• The execute method contains the business logic
of the service