Skip to content
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ the details on how to install, extend and use the django CMS.
Tutorial
********

https://github.com/divio/django-cms-tutorial
http://docs.django-cms.org/en/latest/introduction/index.html

***********
Quick Start
Expand Down
2 changes: 2 additions & 0 deletions docs/contributing/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,8 @@ Inline markup
* use emphasis - ``*Home*`` around:
* the names of available options in the Admin
* values in or of fields
* use strong emphasis - ``**Add page**`` around:
* buttons that perform an action

References
----------
Expand Down
2 changes: 1 addition & 1 deletion docs/how_to/custom_plugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,7 @@ In your ``yourapp.cms_plugin_processors.py``::
return t.render(c)


.. _Django admin documentation: http://docs.djangoproject.com/en/1.2/ref/contrib/admin/
.. _Django admin documentation: http://docs.djangoproject.com/en/dev/ref/contrib/admin/
.. _django-sekizai: https://github.com/ojii/django-sekizai
.. _django-sekizai documentation: http://django-sekizai.readthedocs.org

Expand Down
209 changes: 26 additions & 183 deletions docs/how_to/integrate.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Requirements
************

* `Python`_ 2.6, 2.7, 3.3 or 3.4.
* `Django`_ 1.4.x, 1.5.x, 1.6.x or 1.7.x
* `South`_ 1.0
* `Django`_ 1.6.x or 1.7.x
* `South`_ 1.0.1 (Only required for Django 1.6.x)
* `django-classy-tags`_ 0.5 or higher
* `django-treebeard`_ 2.0
* `django-sekizai`_ 0.7 or higher
Expand All @@ -26,14 +26,6 @@ Requirements
.. note:: When installing the django CMS using pip, all of the dependencies
will be installed automatically.

.. note:: There is currently a bug in South 1.0 that is incompatible with Python 3.x.
If you are running Python 3.x, you will need to install South from version
control: ``pip install https://bitbucket.org/andrewgodwin/south/get/e2c9102ee033.zip#egg=South``

.. warning:: While django CMS is compatible with Django 1.5.x, this version of Django
is no longer supported by the Django team. Please upgrade to
Django 1.6.x or 1.7.x immediately.

.. _Python: https://www.python.org
.. _Django: https://www.djangoproject.com
.. _South: http://south.aeracode.org/
Expand Down Expand Up @@ -83,11 +75,8 @@ File and image handling
Revision management
-------------------

* `django-reversion`_ 1.6.6 (with Django 1.4.X), 1.7.X and 1.8 (exact) (with Django 1.5.X)
or 1.8.X (with Django 1.6.X and Django 1.7.X) to support versions of your content (If using
a different Django version it is a good idea to check the page
`Compatible-Django-Versions`_ in the django-reversion wiki in order
to make sure that the package versions are compatible.)
* `django-reversion`_ 1.8.X (with Django 1.6.X and Django 1.7.X) to support
versioning of your content.

.. note::

Expand Down Expand Up @@ -148,7 +137,7 @@ its dependencies:
# lock-in their version, specify them
Django>=1.7

South==1.0
South==1.0.1 # Only needed for Django < 1.7
django-treebeard==2.0
django-sekizai==0.7
django-classy-tags==0.5
Expand All @@ -157,10 +146,10 @@ its dependencies:
six==1.3.0

# Optional, recommended packages
Pillow==2.0.0
django-filer==0.9.5
cmsplugin-filer==0.9.5
django-reversion==1.7
Pillow>=2
django-filer==0.9.8
cmsplugin-filer==0.10.1
django-reversion==1.8

.. note::

Expand Down Expand Up @@ -321,7 +310,7 @@ other highly recommended applications/libraries::
'cms', # django CMS itself
'treebeard', # utilities for implementing a tree using materialised paths
'menus', # helper for model independent hierarchical website navigation
'south', # intelligent schema and data migrations
'south', # Only needed for Django < 1.7
'sekizai', # for javascript and css management
'djangocms_admin_style', # for the admin skin. You **must** add 'djangocms_admin_style' in the list **before** 'django.contrib.admin'.
'django.contrib.messages', # to enable messages framework (see :ref:`Enable messages <enable-messages>`)
Expand Down Expand Up @@ -614,10 +603,9 @@ HTML tag.
Initial database setup
======================

This command depends on whether you **upgrade** your installation or do a
**fresh install**. We recommend that you get familiar with the way `South`_ works,
as it is a very powerful, easy and convenient tool. django CMS uses it extensively.

django CMS uses Django 1.7's built-in support for database migrations to manage
creating and altering database tables. django CMS still offers South-style migrations
for users of Django 1.6.x but as noted above, strictly requires South==1.0.1.

Fresh install
-------------
Expand All @@ -627,28 +615,20 @@ If you are using Django 1.7 or later run::
python manage.py migrate
python manage.py createsuperuser

.. note:: You will need to add the following setting in order for Django to pick up the new style migrations for django CMS:

::

MIGRATION_MODULES = {
'cms': 'cms.migrations_django',
'menus': 'menus.migrations_django',
}

If you are using Django 1.6 or earlier supported versions run::
If you are using Django 1.6.x run::

python manage.py syncdb --all
python manage.py migrate --fake

The call to ``syncdb`` will prompt you to create a super user. Choose 'yes' and enter appropriate values.
The call to ``syncdb`` will prompt you to create a super user. Choose 'yes' and
enter appropriate values.

Upgrade
-------

Run::
If you are upgrading your installation of django CMS from a previous version run::

python manage.py syncdb
python manage.py syncdb # Django 1.6.x only
python manage.py migrate


Expand Down Expand Up @@ -680,151 +660,14 @@ as follows: `http://127.0.0.1:8000/?edit`. This will reveal a login form.

Log in with the user you created during the database setup.

To deploy your django CMS project on a production webserver, please refer to the
`Django documentation <http://docs.djangoproject.com/en/1.2/howto/deployment/>`_.


Creating your first CMS Page!
-----------------------------

That's it. Now the best part: you can start using the CMS! If you haven't
already, run your server with ``python manage.py runserver``, then point a web
browser to `127.0.0.1:8000/?edit <http://127.0.0.1:8000/?edit>`_ , and log
in using the super user credentials you defined when you ran ``syncdb``
earlier.

Once in the admin part of your site, you should see something like the following:

|logged-in|

.. |logged-in| image:: ../images/logged-in.png


Adding a page
-------------

Adding a page is as simple as clicking the "Pages..." menu-item in the
"example.com" (or similar) menu in the toolbar.

|pages-menu-item|

.. |pages-menu-item| image:: ../images/pages-menu-item.png

This will reveal the new side-frame for administration.

|no-pages|

.. |no-pages| image:: ../images/no-pages.png

Now, click the "add page" button at the top right-hand corner of the side-frame.

|basic-page-form|

.. |basic-page-form| image:: ../images/basic-page-form.png

This is a basic form where you complete the title of the new page. The slug
field is also required but a sensible value will be completed as you type the
page’s title.

Hitting the "Save" button, unsurprisingly, saves the page. It will now display in the list of
pages.

|my-first-page|

.. |my-first-page| image:: ../images/my-first-page.png

If this is your first django CMS project, read through the `tutorial`_ for a
walkthrough of the main features of django CMS.

You can click the page title in the "page tree" to navigate to the page in the main window.
For more information on using django CMS for managing web content, see
:doc:`/user/index`.

|empty-page|

.. |empty-page| image:: ../images/empty-page.png


Congratulations! You now have a fully functional django CMS installation!


Publishing a page
-----------------

There are multiple ways to publish a page including a blue "Publishe page now"
button on the right side of the toolbar if the page is not currently
published. Other ways include a "Publish page" menu item in the "Page" menu in
the toolbar and a publish link inside the "tool-tip" over the colored, round
icon in the language column of the page tree. The latter is useful for
publishing pages without first navigating to them.

Please review this image of the page-tree in the side-frame maximized with the
page menu invoked.

|page-options|

.. |page-options| image:: ../images/page-options.png


Menus
~~~~~

If you would like your page to appear in your menu (or note), you should
familiarize yourself with the option to include or exclude the page from
menus.

Reviewing the image in `publishing a page`_ above, you should also see the
"Hide in navigation" menu option. You can select this, or merely click on the
green checkbox icon beneath "Menu" in the page tree to exclude this page from
any menus.

Similarly, when the page is currently not shown in menus, you can use the
corresponding menu item "Show in navigation" or toggle the now red icon in the
page tree to again show the page in your menus.


Template
~~~~~~~~

Choosing a template for your page is as simple as selecting the desired
template from the "Templates" sub-menu (see image in `publishing a page`_
above). The list of available templates is determined by the CMS_TEMPLATES
list as defined in your project’s settings.


Adding content to a page
------------------------

So far, our page doesn't do much. Make sure it's marked as "published" (see
above), then click on the page's "edit" button.

To add content to your page, click the "structure" mode-button in the toolbar.
This will reveal all of the page’s available placeholders and allow you to add
CMS plugin instances to them.

On any placeholder, click the menu icon on the right side to reveal the list
of available plugins. In this case, we'll choose the Text plugin. Invoking the
Text plugin will display your installed WYSIWYG Text editor plugin. Type in
some text and press "Save". When you save the plugin, your plugin will now be
displayed "inside" the placeholder as shown in this progession of images.

|add-text-plugin|

.. |add-text-plugin| image:: ../images/add-text-plugin.png

To preview the page, click the "Content" mode button in the toolbar. You can
continue editing existing plugins in Content mode simply by double-clicking
the content they present. To add new plugins, or to re-arrange existing ones,
click back into Structure more. When you're ready to share your content with
the world, press the "Publish page now" button.

That's it!


Where to go from here
---------------------

Congratulations, you now have a fully functional CMS! Feel free to play around
with the different plugins provided out of the box and to build great websites!

Furthermore you can continue your introduction into django CMS on https://github.com/divio/django-cms-tutorial.
To deploy your django CMS project on a production webserver, please refer to the
`Django documentation <http://docs.djangoproject.com/en/dev/howto/deployment/>`_.

.. _TinyMCE: http://tinymce.moxiecode.com/
.. _official documentation: http://docs.djangoproject.com/en/1.5/topics/templates/
.. _mailinglist: https://groups.google.com/forum/#!forum/django-cms
.. _official documentation: http://docs.djangoproject.com/en/dev/topics/templates/
.. _tutorial: https://github.com/divio/django-cms-tutorial
5 changes: 3 additions & 2 deletions docs/how_to/placeholders.rst
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,9 @@ or has to have edit permission on that specific object of that model.

Model permissions are usually added through default django auth application
and its admin interface. On the other hand, object permission can be handled by
writing custom Auth Backend as described in
`django docs <https://docs.djangoproject.com/en/1.5/topics/auth/customizing/#handling-object-permissions>`_
writing a custom Auth Backend as described in
`django docs <https://docs.djangoproject.com/en/dev/topics/auth/customizing/#handling-object-permissions>`_

For example, if there is a ``UserProfile`` model that contains placeholder field
then custom backend can have following ``has_perm`` method that grants all rights
to current user only on his ``UserProfile`` object::
Expand Down
Binary file modified docs/images/add-text-plugin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/alphabetized-toolbar-app-menus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/basic-page-form.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/cmsapphook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/edit-banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/empty-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/frontend-placeholder-add-plugin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/hello-cms-world.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/initial-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/it-worked.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/it-works-cms.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/logged-in.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/login-form.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/my-first-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/no-pages.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/page-advanced-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/page-basic-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/page-list-basic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/page-list-expanded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/page-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/pages-menu-item.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/save-and-continue.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/side-frame-controls.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/toolbar-site-menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ from a CMS, but can also be easily customised and extended by developers to
create a site that is tailored to their precise needs.

**Web content editors** looking for documentation on how to use the editing
interface should refer to our :doc:`/user/editing_basics` section.
interface should refer to our :doc:`/user/index` section.

**Web content developers** who want to learn more about django CMS, as well as
how to install, configure and customize it for their own projects will can
Expand Down
31 changes: 0 additions & 31 deletions docs/user/editing_basics.rst

This file was deleted.

23 changes: 22 additions & 1 deletion docs/user/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,32 @@ Using django CMS
from you - join us on the #django-cms IRC channel on `freenode`_ or
the `django-cms-developers`_ email list.

The **Using django CMS** documentation is divided into two parts.

First, there's a :ref:`tutorial <user-tutorial>` that takes you step-by-step
through key processes. Once you've completed this you will be familiar with the
basics of content editing using the system.

The tutorial contains numerous links to items in the :ref:`reference section
<user-reference>`.

The documentation in these two sections focuses on the basics of content
creation and editing using django CMS's powerful front-end editing mode. It's
suitable for non-technical and technical audiences alike.

However, it can only cover the basics that are common to most sites built using
django CMS. Your own site will likely have many customisations and special
purpose plugins which we cannot cover here. Nevertheless, by the end of this
guide you should be comfortable with the content editing process using django
CMS. Many of the skills you'll learn will be transferable to any custom plugins
your site may have.

.. toctree::
:maxdepth: 2

editing_basics
tutorial/index
reference/index


.. _django-cms-developers: http://groups.google.com/group/django-cms-developers
.. _freenode : http://freenode.net/
Loading