Jaap has asked for the wisdom of the Perl Monks concerning the following question:

I've been hired by a small company (that makes processor designs) to make a web-based application to do documentation in. Let's call this a Documentation Management System, or DMS.
I am now in the stage of looking around at what already exists. The basis of the DMS might be a wiki (with history) so that everyone in the company can add/edit/correct pages, which is good. But we need to store some meta-data to the pages, including info about read/write rights for owner/company/customers/world. The customers are divided into subgroups depending on how much money they give us.

I am not sure whether i should adapt a wiki or start from scratch on this. Does anyone have any experience/ideas on this?

Replies are listed 'Best First'.
Re: Documentation App
by Corion (Patriarch) on Jul 14, 2004 at 08:49 UTC

    If you care to invest the time, there are some content management systems available apart from Wikis, for example the Everything Engine and Slashcode. Both have their own problems and advantages, and you also need to understand how technical your users will be. Wiki syntax has the advantage that "normal text" as typed on a typewriter will already magically render "well enough". If your customers prefer to enter text in a LaTeX style notation or HTML or whatever else, you might want to use some engine that already has plugins, like CGI::Wiki.

    There are other considerations, for example, the Everything Engine runs all code from the database, which has been discussed here, and which has a set of advantages and problems all of its own.

    There is also Bricolage and ??? the content management of perl.org, both of which I have absolutely no experience with.

      Most colleagues prefer to use wiki-markup language because it is so damn fast to write in, (untill you want to do something it can't) but for the die hards it might be good to use pure html too. Customers will not write our documentation unfortunately, they will just read it (unless you mean MY customers, which are my colleagues ;-). I am a bit worried about using a full CMS like the everything engine or one of the 3000 other ones. THey might be too heavy-weight for this.
Re: Documentation App
by rjbs (Pilgrim) on Jul 14, 2004 at 10:38 UTC

    Large web forums and content management systems might do more keen things, but I predict they'll seem like overkill for your purposes. It sounds like you want to do something wikiish, but you need to add some kind of ACL system. The Kwiki wiki system is very extensible, and while writing an access control plugin wouldn't be trivial, it would be possible.

    Take some time to write a little story that answers the question "How will people use this?" Once you've written down a good use case or two you'll be able to see whether it looks like a wiki or like something else.

    rjbs
Re: Documentation App
by roju (Friar) on Jul 14, 2004 at 14:55 UTC

    This is a problem that a lot of people are working on - I doubt it's worth it to roll your own. That said, rolling your own in perl might be as easy as use CMS;, but I doubt it.

    Here's a list of existing CMS frameworks and platforms. Not on that list, but written in perl, is twiki, which seems less ... uh ... industrial than some of the solutions, and since its perl, you'd be able to customize it to fix your needs.

Re: Documentation App
by neniro (Priest) on Jul 14, 2004 at 10:51 UTC
    It's not in perl, but worth to take a look at it: Zope.
    Update: Now it is possible to use perl within Zope: Zope-Perl.