Last month, there was some mention of putting together a knowledge
base for the mod_perl 2.0 documentation.  I'm getting to the point at
work that I can start throwing some time to it.  Here are some
thoughts I'm having regarding the design (programming target).

I am able to provide hosting at least during development.  I'll put
out a URL when we get something together.

I think the first thing we need to do is figure out what we want the
knowledge base to do.  I would like to see this be a general purpose
application that happens to do the job well enough for our use with
mod_perl docs as well as other unrealted areas.  It is because of the
general use of the application that I may able to devote time at work
to the project.

So... in general, my take on a KB is that it provides the following:

  o Easy access to the right document at the right time
      This is for customers and customer support
  o Easy management of documents
      This is for the developers and writers

These two items could easily be built as two independent interfaces
around a common backend.  I'd like to take this fall semester and
develop the backend so we can work on front ends in the spring.

The backend will need to support the following operations:

  o Indices of documents - keywords, title, author, etc.
  o Management of documents - insert, delete, modify, classify
    (setting keywords, ...)
  o Ranking of documents for search results

  o probably other things I'm not thinking about at the moment

Documents will need to be understood in a variety of formats such as
docbook and pod.  Probably use pod as the initial format since that is
what the mod_perl 2.0 docs will be written in.

We can use AI::Categorize to form the initial keywords for a document.
The system can learn as documents are added.

We might want to include revision control someday -- perhaps use CVS,
which might allow for an easy CLI.  Otherwise, we can create an
XML-RPC interface and design some CLI tools around it.  Or both.
This would be in addition to any web-based interface we might have.

I'll try to spit out some more thoughts as they come.  Please feel
free to contribute.  Now's the time to get the wish list put together.

--jim

Reply via email to