- Store users using Django user/group/permission model
- Database is data/plinth.sqlite3 instead of data/user.sqlite3
- Use Django auth context processors in templates
This commit is big because anything small breaks the code.
- Django dispatcher is based on regular expressions and does not need a tree structure
- Reduces a lot of unnecessary dependencies among modules
- Use Django sessions middlewear instead of CherryPy sessions
- Introduce dependency based modules instead of numeric load order
- Remove PagePlugin and simply use Django views
- Eliminate page rendering wrappers in favor of Django context processors
- Use custom auth for now until replaced by Django auth middlewear
- Use Django templated 404 and 500 error pages
If a page needs to run javascript on load, it is easy to do so by attaching
onload handlers or by using corresponing jQuery utilities. There is no need
to mess with templating.
Compiled templates are an unnecessary pain in maintance and
packaging. If each module is to bring its own templates, compiling
them in the build process becomes unnecessarily more complex. The
current state of template mess can somewhat be attributed to this.
Cheetah only partially supports dynamic templates. It does not support
inheritence of dynamic templates. From its documentation: "There is no
support for extending from a class that is not imported; e.g., from a
template dynamically created from a string. Since the most practical
way to get a parent template into a module is to precompile it, all
parent templates essentially have to be precompiled."
It's inappropriate for the FreedomBox project to recommend Non-Free
Software. Therefore, we point users to the current version of FireFox
if their browser is too old.
Removed robots.txt (we have "noindex,nofollow" in the template meta tags, do we need this?)
Added meta noindex,nofollow,noarchive tags for specific robots (googlebot etc.)
Removed extraneous meta tags useful only for indexing
Removed HTML5-Reset "_" directory. Not sure why it's useful to add an ambiguous folder to the directory tree.
Made sure no Google-y code wasn't included (analytics, remote copy of JQuery, etc.)
Fixed symbolic link docs/style.css
New favicon and iOS "web clip" button