A wiki system written for the Django framework.
Last update: 2012-08-22
Demo here, sign up for an account to see the notification system.
Currently, the whole API is subject to change. That means, if you use the wiki, you should use it as it is and not access internals or override templates or write plugins... yet! But the games will soon begin, and Django South migrations are available.
Please refer to the TODO for a detailed status or the Issue list.
This is where it all begins. In less than 1 week we should have a wiki system appealing to any kind of Django developer out there. Here is the manifest (so far):
Install directly from Github, since there is no release yet:
pip install git+git://github.com/benjaoming/django-wiki.git
settings.INSTALLED_APPS
Make sure that the following is present:
'wiki',
'wiki.plugins.attachments',
'wiki.plugins.notifications',
'wiki.plugins.images',
'south',
'django_notify',
'mptt',
'sekizai',
'django.contrib.humanize',
To sync and create tables, do:
python manage.py syncdb
python manage.py migrate
settings.TEMPLATE_CONTEXT_PROCESSORS
Add 'sekizai.context_processors.sekizai'
to settings.TEMPLATE_CONTEXT_PROCESSORS
.
To integrate the wiki to your existing application, you shoud add the following lines at the end of your project's urls.py
.
from wiki.urls import get_pattern as get_wiki_pattern
from django_notify.urls import get_pattern as get_notify_pattern
urlpatterns += patterns('',
(r'^notify/', get_notify_pattern()),
(r'', get_wiki_pattern())
)
Please use these function calls rather than writing your own include() call - the url namespaces aren't supposed to be customized.
The above line puts the wiki in / so it's important to put it at the end of your urlconf. You can also put it in /wiki by putting '^wiki/'
as the pattern.
For now, look in wiki/conf/settings.py to see a list of available settings.
Add/remove the following to your settings.INSTALLED_APPS
to enable/disable the core plugins:
'wiki.plugins.attachments'
'wiki.plugins.images'
'wiki.plugins.notifications'
The notifications plugin is mandatory for an out-of-the-box installation. You can safely remove it from INSTALLED_APPS if you also override the wiki/base.html template.
Django-wiki is a rewrite of django-simplewiki, a project from 2009 that aimed to be a base system for a wiki. It proposed that the user should customize the wiki by overwriting templates, but soon learned that the only customization that really took place was that people forked the entire project. We don't want that for django-wiki, we want it to be modular and extendable.
As of now, Django has existed for too long without a proper wiki application. The dream of django-wiki is to become a contestant alongside Mediawiki, so that Django developers can stick to the Django platform even when facing tough challenges such as implementing a wiki.
This project will be very open for enrolling anyone with a good idea. As of now, however, it's a bit closed while we get the foundation laid out.
So far the dependencies are:
In a your Git fork, run pip install -r requirements.txt
to install the requirements.
The folder testproject/ contains a pre-configured django project and an sqlite database. Login for django admin is admin:admin. This project should always be maintained, although the sqlite database will be deleted very soon to avoid unnecessary conflicts.