Skip to content

Latest commit

 

History

History
151 lines (105 loc) · 5.17 KB

introduction.rst

File metadata and controls

151 lines (105 loc) · 5.17 KB

Introduction

Django Basic CMS enable you to create and administrate hierarchical pages in a simple and powerful way.

Django Basic CMS is based around a placeholders concept. A placeholder is special template tag that you use in your page templates. Every time you add a placeholder in your template a field dynamically appears in the page admin.

The project code repository is found at this address: http://github.com/YD-Technology/django-basic-cms

admin-screenshot1.png

This admin interface is no up to date, but could give you an idea of what the software is doing:

Here is the list of features you can enable/disable:

  • Revisions,
  • Image placeholder,
  • File browser with django-filebrowser,
  • Support for future publication start/end date,
  • Page redirection to another page,
  • Page tagging,
  • User input sanitizer (to avoid XSS),
  • Sites framework

Note

For install instruction go to the :doc:`Installation section </installation>`

I recommend to create a clone on github and make your modifications in your branch. There is a things that is nice to do:

  • Follow the pep08, and the 79 characters rules.
  • Add new features in the doc/changelog.rst file.
  • Document how the user might use a new feature.
  • It's better if a new feature is not activated by default but with a new setting.
  • Be careful of performance regresssion.
  • Write tests so the test coverage stay over 90%.
  • Every new CMS setting should start with PAGE_<something>
  • Every new template_tag should start with pages_<something>

Django Basic CMS Github

Test it

To test this CMS checkout the code with git:

$ git clone git://github.com/YD-Technology/django-basic-cms.git django-basic-cms

Install the dependencies:

$ sudo easy_install pip
$ wget -c http://github.com/YD-Technology/django-basic-cms/raw/master/requirements/external_apps.txt
$ sudo pip install -r external_apps.txt

And then, run the development server:

$ cd example/
$ python manage.py syncdb
$ python manage.py build_static
$ python manage.py manage.py runserver

YD-Technology CMS try to keep the code base stable. The test coverage is higher than 80% and we try to keep it this way. To run the test suite:

python setup.py test

Note

If you are not admin you have to create the appropriate permissions to modify pages. After that you will be able to create pages.

Handling images and files

YD-Technology include a image placeholder for basic needs. For a more advanced files browser you could use django-filebrowser:

Once the application installed try to register the FileBrowseInput widget to make it available to your placeholders.

Translations

This application is available in English, German, French, Spanish, Danish, Russian and Hebrew.