Revision 5a0dde9e snf-webproject/docs/index.rst

b/snf-webproject/docs/index.rst
3 3
Component snf-webproject
4 4
========================
5 5

  
6
synnefo component :ref:`snf-webproject <snf-webproject>` defines a Django 
7
project in which the various other synnefo components
6
Synnefo component :ref:`snf-webproject <snf-webproject>` defines a Django 
7
project in which the various other Synnefo components
8 8
(:ref:`snf-cyclades-app <snf-cyclades-app>`,
9 9
:ref:`snf-pithos-app <snf-pithos-app>`, etc.) may run.
10 10

  
11
It provides a standard mechanism for every synnefo software component to modify
11
It provides a standard mechanism for every Synnefo software component to modify
12 12
the list of Django apps to be executed inside the project (``INSTALLED_APPS``),
13 13
modify the list of middleware classes (``MIDDLEWARE_CLASSES``) and add its own
14 14
URL patterns.
15 15

  
16
In other words, wraps a Django project which extends itself (URLs,
17
default_settings, installed_apps, middleware_classes) based on the Synnefo
18
components/packages installed on the system.
19

  
20
The extending mechanism is based on the python setuptools `entry_points`. So if
21
an application (Synnefo component) wants to plug additional configuration to
22
the Django project, it should define within its setup.py file the 'synnefo'
23
appropriate entry_points.
24

  
25
For usage example please take a look how snf-cyclades-app package defines its entry
26
points in:
27

  
28
    - snf-cyclades-app/setup.py
29
    - snf-cyclades-app/app_settings/__init__.py
30

  
16 31
.. todo:: Document snf-webproject facilities for developers
17 32

  
18 33
Package installation

Also available in: Unified diff