The 'Community' application is the root concept of Sphene Community Tools - Itself does not have any (useful) views on it's own, it just defines a few utility methods and models.
- User Profiles - Including individual settings for board and wiki with an extensible architecture which can also be used by 3rd party applications !
- Registration and Forgot Username / Password facilities.
- Provides tagging supported - used by the Wiki and Board)
- Provides advanced permissions by using Roles
It requires the following applications:
and the following middleware (these are actually the default in django)
and... template processors (also a django default):
It provides the following middleware:
They are further described in the following sections:
This is basically the same as: http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser
It provides the request object, currently logged in user, request parameters, etc. in thread local variables which can be accessed by template filters, template tags, models, etc.
It should be one of the first middlewares.
If there is a view argument called 'group' it is set by this GroupMiddleware. Either by looking into the arguments for 'groupName' and retrieving it from the database, or by using the ThreadLocals middleware.
TODO describe me :(
This middleware is responsible for setting cache related HTTP headers. If the request object has an attribute called 'sph_lastmodified' (containing either 'True' or a datetime object) it will set Last-Modified and other cache related http headers.
This template processor will put two variables into the template context:
- navigation_left: The navigation items for the "left" navigation.
- group: The current group.