-
Notifications
You must be signed in to change notification settings - Fork 235
Description
The documentation for installation instructions and configuration (http://readthedocs.org/docs/feincms-django-cms/en/latest/installation.html) is not obvious and well documentet on how to get a simple basic FeinCMS to work.
My steps and thoughts (that could discourage some users) when reading the page and installing were:
- pip install django or easy_install django is not explicitly mentioned in the example, so it seems I must read all the boring text
- then a prerequisite is django, lets install it
- then install feincms
- hm, django-mptt seems like another prerequisite, but why isn't it listed next to django (and also why isn't it automatically installed as a dependent Python module when using pip)
- then here is a list of optional packages to install
- lets prepare a django project: django-admin.py startproject test
- edit settings.py and add feincms and feincms.modules.page to INSTALLED_APPS and configure static directories
- ./manage.py syncdb
- ./manage.py runserver gives error about mptt
- add mptt to settings.py (weird they didn't explicitly mention it)
- ./manage.py runserver
- open browser and see a "Error: 'PageAdmin.fieldsets[0][1]['fields']' refers to field 'template_key' that is missing from the form" error (https://groups.google.com/group/django-feincms/browse_thread/thread/263ea8c72e737b5a)
- oh, lets check FAQ (http://readthedocs.org/docs/feincms-django-cms/en/latest/faq.html), but it isn't there, google also doesn't find much
- lets see if there are better instructions in the source repository and checking out quickstart.sh, testing it and figuring out what needs to be done
- after some time figuring out that the Page.register_templates and similar are the essential to making it work, finding instructions this on the page module documentation
- now there are some Image related errors, lets install PIL although it is mentioned as required
- finally it works with some deprecation warnings
- wondering how many people just gave up because of the incomplete and too complicated installation instructions
Therefore my suggestion would be to include it in QUICKSTART.rst and on http://readthedocs.org/docs/feincms-django-cms/en/latest/installation.html examples of instructions to getting a simple basic most common FeinCMS installation up. This means in Installation chapter things like:
# optionally prepare an isolated virtual environment:
virtualenv --no-site-packages mycms
cd mycms
source bin/activate
# install dependencies:
pip install django django-mptt pil
# other optional dependencies:
pip install lxml django-tagging feedparser
# install feincms
pip install feincms
And later in the Configuration chapter:
Create file modules.py directly in the project directory or in an app and put in it Page.register_templates() like on http://readthedocs.org/docs/feincms-django-cms/en/latest/page.html .
In settings.py configure static files and add apps:
INSTALLED_APPS = (
...
'feincms',
'feincms.module.page',
#'feincms.module.blog',
#'feincms.module.medialibrary',
'mptt',
'name-of-your-project-or-app-with-register_templates',
...
)
To initialize:
./manage.py syncdb
./manage.py collectstatic
This instructions should also be same in QUICKSTART.rst.
The error "Error: 'PageAdmin.fieldsets[0][1]['fields']' refers to field 'template_key' that is missing from the form" and the exception on missing PIL module should be explicitly mentioned on the FAQ page (http://readthedocs.org/docs/feincms-django-cms/en/latest/faq.html).
In my opinion this would have a very positive effect on the user experience of new potential users that want to configure their Django installations from scratch.