Statistics
| Branch: | Tag: | Revision:

root / docs / source / index.rst @ a9a446ab

History | View | Annotate | Download (3.9 kB)

1
.. snf-cloudcms documentation master file, created by
2
   sphinx-quickstart on Wed Feb 22 18:07:30 2012.
3
   You can adapt this file completely to your liking, but it should at least
4
   contain the root `toctree` directive.
5

    
6
Welcome to snf-cloudcms's documentation!
7
========================================
8

    
9
Introduction
10
============
11

    
12
snf-cloudcms is a cms application based on `django`_ and `feincms`_.
13

    
14
The project created to power websites that provide information about the
15
`cloud services`_ deployed by `GRNET`_. 
16

    
17
Currentrly the application provides the following features:
18

    
19
* basic cms funcionality (adding/removing/editing hierarchical pages)
20
* blog application
21

    
22
in the near future the following additional features will get included 
23
within the application:
24

    
25
* Service resources management (presentations, technical papaer, white papers
26
  etc.)
27
* Service support (faq, userguide, service tickets etc.)
28

    
29
.. _django: http://www.djangoproject.com
30
.. _feincms: http://feinheit.ch/media/labs/feincms/
31
.. _cloud services: http://docs.dev.grnet.gr/
32
.. _GRNET: http://www.grnet.gr/
33

    
34

    
35
Installation
36
============
37

    
38
Using debian packages
39
---------------------
40

    
41
Although not required it is recommended to use `snf-webproject`_ to deploy the
42
cms application. If you want to deploy using your custom django project take
43
a look on `cloudcms/synnefo_settings.py`_ file which includes ``snf-webproject`` 
44
hooks to find which django settings are required for cms to work.
45

    
46
.. _snf-webproject: http://docs.dev.grnet.gr/snf-webproject
47

    
48
Install required packages::
49
    
50
    apt-get install snf-common snf-webproject
51
    apt-get install python-django-feincms python-django-pagination python-django
52

    
53
.. note::
54
    
55
    ``python-django-feincms`` and ``python-django-pagination`` are not provided
56
    currently on debian stable but can be backported from sid.
57

    
58
then, install ``snf-cloudcms`` package::
59

    
60
    apt-get install snf-cloudcms
61

    
62
Change settings in ``/etc/synnefo/20-snf-cloudcms-*.conf`` to match your
63
deployment needs.
64

    
65

    
66
Deployment
67
==========
68

    
69
For information on how to configure and initialize database and serve 
70
``snf-cloudcms`` static files please refer to `snf-webproject`_ documentation.
71

    
72
.. note::
73

    
74
    ``snf-cloudcms`` won't work with ``snf-webproject < 0.9.0``
75

    
76

    
77
``snf-cloudcms`` uses the django sites framework so that multiple cms sites
78
can be deployed from the same django project and share common content. For each
79
service site you want to deploy you should set the appropriate
80
``CLOUDCMS_SITE_ID`` environmental variable to match the site id added in your
81
cms databse.
82

    
83
A quick way to initialize the sites you want to deploy is to create a simple
84
fixtures file ``mysites.json`` containing the following::
85

    
86
    [ 
87
        {
88
            "pk": 1, 
89
            "model": "sites.site", 
90
            "fields": {
91
                "domain": "okeanos.grnet.gr", 
92
                "name": "okeanos.grnet.gr"
93
            }
94
        }, 
95
    ]
96

    
97
and load the fixtures in your db using:: 
98
    
99
    snf-manage loaddata ./mysites.json
100

    
101
After that you can deploy each of the sites you included in the above fixtures
102
file using your prefered deployment method (fcgi, gunicorn etc.). 
103

    
104
e.g. using django internal http server::
105
    
106
    export CLOUDCMS_SITE_ID=1
107
    snf-manage runserver
108
        
109
If you skipped superuser creation as prompted on your database initialization
110
step, you should create one now::
111

    
112
    snf-manage createsuperuser
113

    
114
Now you will be able to login using the superuser credentials you provided on
115
the above command on ``http://<deployment-domain>/cmsmanage/`` url and start
116
editing the content of your cms.
117

    
118
.. note::
119
    If you want snf-webproject to server django admin files set 
120
    ``ADMIN_MEDIA_PREFIX=/static/admin_media`` in your settings and link
121
    django admin media directory (/usr/share/pyshared/django/contrib/admin/media/) 
122
    as /usr/share/synnefo/static/admin_media.
123

    
124

    
125
Indices and tables
126
==================
127

    
128
* :ref:`genindex`
129
* :ref:`modindex`
130
* :ref:`search`
131