It's a generic platform for topical discussions, with some unique characteristics:
- Arbitrary content types: You can sculpt your discussion system to use more than just your typical "messages". See the example app for just a smidgen of what's possible.
- Arbitrary participants: Your discussions can include any Django model object as a participant, not just User. For example, you could add an object representing a team of users. Or, you could add a Site object to represent discussions generated by a bot.
- Fluid participants: You can sculpt your discussion system to allow your participants to come and go from discussions as they please. For example, Alice could initiate a discussion with Bob, who then adds Clara for further discussion; Bob, merely playing the "connector" role between Alice and Clara, could then leave or archive the discussion.
It's named after the Olympic goddess of messaging and rainbows.
It looks great with ponies.
In a virtualenv:
$ pip install -e 'git+https://github.com/snswa/django-iris.git@master#egg=django-iris'
From the root of your new django-iris repository clone:
$ pip install -r requirements.txt
From the root of your django-iris repository clone:
$ iris/tests/manage.py test iris
From the root of your django-iris repository clone:
$ pip install -r iris/example/requirements.txt
Note
This will install pyquery, which in turn relies on lxml. Please visit http://codespeak.net/lxml/ if you run into problems installing it.
$ iris/example/manage.py syncdb --migrate --noinput $ iris/example/manage.py runserver
Now visit URLs for users in separate browser tabs or windows to experiment.
Visit http://localhost:8000/iris/ to view the anonymous user experience.
Visit http://localhost:8000/iris/?u=alice to simulate signing in as the user "alice". Other users include "bob", "carla", and "doug".
Be sure to look at iris.example.backends.ContrivedBackend to see an example of restricting the viewing of individual topics by users based on arbitrary criteria.