skip to navigation
skip to content

django-wakawaka 1.0

django-wakawka is a super simple wiki system written in Python using the Django framework.

django-wakawaka

django-wakawka is a super simple wiki system written in Python using the Django framework.

  • Links between Wiki pages are automatically resolved by their CamelCase naming scheme.
  • It automatically keeps track of revision changes of a Page, while providing the ability to revert to earlier states.
  • It also has a quite comprehensive permission integration, taking care of Django’s default create/edit/delete permissions.
  • Wakawaka is an application and indented to be placed in an existing project.

Some screenshots from the Example Project:

Installation:

  1. Put wakawaka to your INSTALLED_APPS in your settings.py within your django project.
  2. Add (r'^wiki/', include('wakawaka.urls')), to your urls.py.

That’s all. Wakawaka has no other dependencies than Django 1.0 (or Django 1.1, currently known as trunk)

Private wiki: If you want to deploy a private wiki so that every page needs an login simply add this line (r'^wiki/', include('wakawaka.urls.authenticated')), to your urls.py instead of the above.

Configuration:

Wakawaka takes care of Django’s permission system. Grant your users always a pair of wikipage and revision permissions either what they should do. (Adding, changing or deleting WikiPages)

Optional Settings:

The name of your first wiki page is defined as WikiIndex. You can change this by adding a setting WAKAWAKA_DEFAULT_INDEX to your settings.py. Example:

WAKAWAKA_DEFAULT_INDEX = 'Home'

Words that are written in CamelCase (a pair of one upper letter followed by n lower letters) are automatically treated as internal wiki links. You can change this behaviour by adding a setting WAKAWAKA_SLUG_REGEX to your settings.py. This holds a regular expression of the wiki name format. Default:

WAKAWAKA_SLUG_REGEX = r'((([A-Z]+[a-z]+){2,})(/([A-Z]+[a-z]+){2,})*)'

Attachments:

Wakawaka does not provide the ability to store file attachments to wiki pages. To do so, have a look on the side project django-attachments which provides a unobstrusive way to add attachments to models.

Testing and Development:

The project comes with a (not so) comprehensive test library which can be simply invoked by Tox, which tests the project under all current Python and Djanog versions:

$ pip install tox
$ tox

To run the testsuite manually in your development environment, install the project in a separate virtualenv. I’m using virtualenvwrapper here:

$ mkvirtualenv --python=`which python3` wakawaka-env
$ pip install -e .
$ ./runtests.py

Example Project:

The application comes with a sample project. This gives you a brief overview about the Wiki features, and can help you with the integration of the application into an existing project. It’s alo used for the test suite:

$ mkvirtualenv --python=`which python3` wakawaka-env
$ pip install -e .
$ ./runtestproject.py migrate
$ ./runtestproject.py createsuperuser
$ ./runtestproject.py runserver

Note

runtestproject.py is the pendant to a regular manage.py file in a Django project..

Changelog:

v1.0 (master):

  • Django 1.10 compatibility and total cleanup.
  • Full Python 3 compatibility.
  • Removed Pinax Group support.
  • Tests.

v0.3: (2009-08-06):

  • If a wikipage was not found, the view now raises a proper Http404 instead of a (silent) HttpResponseNotFound. This gives you the ability to display a proper 404 page.
  • All templates are now translatable using gettext.

v0.2 (2009-07-22):

  • Edit-forms are now replaceable
 
File Type Py Version Uploaded on Size
django-wakawaka-1.0.tar.gz (md5, pgp) Source 2016-11-26 302KB