Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A portion of my job is to maintain technical documentation for a rapidly expanding manufacturing company. Because it is only a portion of my job and the company's product line is expanding so quickly, I can't stay on top of the documentation. As a result, I've been yearning for an information management system with a handful of specific features. I've found many products that have a subset, but none that have all the features I'm looking for.

I'm at the point of picking an existing product and expanding it to cover my desired feature set, however, this will be a pet project and I will be learning the underlying language as I go. So, the main question is which existing product will be the easiest to expand to cover the full feature set and has a relatively easy to learn language? Alternatively, have I missed another existing program that will cover the feature set or should be in my list of "close, but not quite there"?

Feature Set

  • web interface
  • based on a distributed version control system (e.g., git)
  • easy to edit by logged in novices (e.g. wiki, multimarkdown)
  • outputs in more traditional formats (e.g., doc, odt, pdf)
  • edits held in queue until editor/engineer/manager approves them (e.g., MS Word editing) [this is the really big elephant in list - suggestions on where to start appreciated]
  • edits held in queue specifically for engineer approval [extra limb of the elephant in the list]
  • well-supported in the open source community

Closest, but not quite there

ikiwiki - http://ikiwiki.info (php)
  • lots of awesome functionality and extensions, including easy to edit and based on DVCS
  • lacks a review/forward for review queue
  • appears to be well-supported within the OSS community
gitit - http://gitit.net/ (haskell)
  • easy to edit and based on DVCS
  • lots of outputs in traditional formats
  • a great web-based gui diff interface
  • lacks a review/forward for review queue
  • appears to be primarily maintained by one individual
share|improve this question

closed as not constructive by MichaelT, Mike Brown, Martijn Pieters, Karl Bielefeldt, ChrisF Feb 27 '13 at 23:53

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I don't share your critizism for gitit, you can just review changes while merging. The history is also accessible. And John Mac Farlane does an awesome job with all the fabulous, high-quality software he provides us with. –  Benjamin Bannier Nov 18 '12 at 23:32
@honk - I apologize if what I wrote about gitit came across as criticism, it certainly wasn't meant to be. We're planning on one central, web-based version and most users will access and make edit suggestions through that interface, so reviewing changes during a merge isn't a practical solution. John MacFarlane has certainly done an awesome job with gitit and pandoc! My concern is that there is only one, very critical maintainer. From a business perspective, that's a big concern. –  A Lion Nov 29 '12 at 8:02
Consider Perforce Chronicle. –  MichaelT Feb 27 '13 at 17:45
@ALion welcome to P.SE. This question doesn't quite fit into the concept of the community as it's asking for a list of suggestions. On top of that, you're asking for a very niche category of products which limits the likelihood that you'll get enough people with experience across multiple offerings to get quality answers. We would love to have you join us and discuss some of the other topics at hand. On another note, it looks like you have two good candidates. Don't over-analyze, pick one, and go for it. –  Mike Brown Feb 27 '13 at 19:05
add comment

1 Answer

You may be able to handle this with Github's built-in Wiki feature. What's nice about the Github Wiki is that it is tracked as a separate Git repository. A developer more comfortable with Git and a Markdown editor like Mou can just clone the repository and work locally while less technical users can use the Github web interface.

As far as a feature-by-feature breakdown, here's some more information

web interface

The Github Wiki interface has a web interface that lends itself to use by non-technical writers.

based on a distributed version control system (e.g., git)

Github is using Git under the hood.

easy to edit by logged in novices (e.g. wiki, multimarkdown)

See the first answer. The format of the Github wiki is markdown... (edit: and I think they expanded the available formats since I wrote this? You can author is one of ten lightweight text syntax choices)

outputs in more traditional formats (e.g., doc, odt, pdf)

There is no web-based option to export as a DOC, ODT, or PDF, but there are a number of tools out there that support Markdown conversion to these formats. Just search for Markdown editors. Couple this with the fact that you can just clone the source of a Github Wiki and I think you could do this easily.

edits held in queue until editor/engineer/manager approves them (e.g., MS Word editing)

Nope, but you could get creative here. Imagine to Github Wikis - take one of them and make them the "draft" wiki. Commits to this wiki could be tracked and maybe you could use something like Gerrit to review and push changes to another repository. (http://code.google.com/p/gerrit/)

well-supported in the open source community

Github is the open source community.

share|improve this answer
I definitely considered Gollum. It's biggest downfall is that it won't run on Windows (github.com/rtomayko/posix-spawn/issues/9) and the handful of users that need to be able to run distributed versions are die-hard Windows users. As far as a "draft" wiki, I seriously considered something along those lines. Unfortunately many of our users aren't particularly computer-proficient (and at least one is a die-hard technophobe) that are going to have enough of a learning curve with markdown. If we're going to get buy-in, I need to minimize any technical challenges... –  A Lion Nov 29 '12 at 8:02
I see two ways to implement a "draft" wiki, both of which have problems. (A) the user would have to intentionally move from the "official" wiki to the "draft" wiki, which will lead to users just using the "draft" - thus defeating the point of having the "official" wiki. (B) When the users choose to edit an official page, they are "magically" whisked to the parallel page's edit view on the "draft" wiki, which at first blush sounds like a great solution. –  A Lion Nov 29 '12 at 8:03
The problem is that occasionally edit suggestions may accumulate over a week to two week period, which means that when the user accesses the edit page, they may see a page that has other pending edits, but no clear indication why, and with no easy (relative to most of the users) way to compare the queued edits version with the official version. This may seem small, but for the average user in this shop, that would cause too much confusion. –  A Lion Nov 29 '12 at 8:03
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.