Technical Blog Post
How to build a plug-in with custom search for IBM Content Navigator
BodyJie Zhang (Calvin) is a developer for IBM Content Navigator in China Development Lab. He joined IBM in 2005 and has more than 10 years of software development experience. Calvin has over 6 years experience on IBM Content Manager and FileNet products including quality assurance and development. Calvin holds a Master Degree in Computer Science from Tsinghua University.
I just finished 2 chapters for the new IBM Redbooks publication, Customizing and Extending IBM Content Navigator. Both chapters talk about how to build a plug-in with custom search.
IBM Content Navigator (ICN) currently already provides the SearchTemplate model API for developers to build their own search. If you are really interested in how to make a plug-in for ICN, I guess you may try the sample plug-in provided by ICN. In ICN 2.0.2, the sample plug-in sample feature contains a custom search sample. It does not use the SearchTemplate, but uses query string directly.
Why ICN contains that kind of sample? There are at least 2 reasons:
- For developers working with IBM Content Manager or IBM FileNet Content Manager, the query string is the most simple and direct way to get everything they want. The query string provides everything that the repository provides.
- With this mode, developers can also build their custom search against other repositories, databases, or even file systems (It’s another kind of repository anyway).
To build a custom search for ICN, we need to handle 2 things:
- Build a service to do the search. ICN sample plug-in gives a sample for IBM Content Manager and IBM FileNet Content Manager.
- Show the result set. The ContentList widget provided by ICN is based on gridx and very powerful for this purpose. ICN also provides several modules to be configured and customized.
So how to build it exactly?
Speaking of making models, it is a little bit like making ICN plug-in with ICN “models”. You can make something with many pieces. You can also customize the pieces and decide how it should be looked like. A difference is that one is using keyboard and mouse, the other is using hands and brushes. And my favorite brand is Tamiya.
Wait, this topic is about IT? OK, let’s get back to custom search.
With custom search, we can build a lot of custom functions. For example, browse documents with a custom tree instead of the folder tree provided by ICN. Based on my experience, there are generally two kinds of the content management repository users. One is browse users and the other is search users. For browse users, the well-designed folder structure is the important thing. But for search users, how to design and manage the searches is the most important thing. Then there is a way to combine these two methods together. If we build a custom tree by developers or end users (if the configuration can be saved for each user), and manage the fixed search criteria as the tree nodes, then users can browse documents with a custom tree using custom search. For example, if users want to browse documents by document classes, then developers can build a tree with document classes as nodes. In this scenario, when users click on the node of the tree, there will be search triggered to search documents belong to this class.
OK. I still have not talk about how to build a plug-in for a custom search yet. As I mentioned earlier, I wrote two chapters on that in the IBM Content Navigator Redbooks publication. Check it out.
For IBM Content Navigator related blog posts, see:
- ONE UI - IBM Content Navigator as an application framework
- Getting started with the new Eclipse Plug-in for IBM Content Navigator
- How to build a plug-in with custom search for IBM Content Navigator
- Developing Custom Step Processors with IBM Content Navigator
- Implementing a Dossier Management Solution with IBM Content Navigator
For IBM Content Navigator Redbooks publication, see: