I'm looking for something like a content management system (CMS) or wiki that I can use to build a repository of knowledge that is shared.
- Self-hosted. The database must be text files or MySQL. PHP is the easiest to run, but Perl, Python, and Ruby can also be run.
- Controlled editing. Must be designed to be run/managed by one person or a small number of people who edit the primary content without plugins or extensive configuration. Should support commenting by the public.
- Public revision history of content. Support for editing unpublished drafts is a nice to have.
- Support for rich text via WYSIWYG or markdown-like syntax. Must support text formatting, tables, hyperlinks, etc. Must also support uploading and attaching images to pages. Support for uploading and attaching documents/files is a nice to have.
- Ability to categorize content. I would prefer both tag-based and hierarchy support, but tagging pages and finding related pages by tag is required.
- Support for technical content - mathematics, source code.
I've looked at:
- Wordpress. It can likely work, but would need a few plugins. If Wordpress is the way to go, please recommend stable and maintained plugins. It appears to be lacking the revision control out of the box, but the Pages functionality would likely work for me. I'm hesitant to use something where I'd be adding plugins, though.
- Mediawiki. Very heavy weight. Designed for collaborative editing, and would need configuration. Since it's maintained for Wikipedia and similar projects that favor public management and editing, I'm not sure it's the right fit.
Soon, I'll be looking at Jooma and Drupal. They've come up, but I haven't had the chance to look at them yet.