Browse Source

Manual merge branch 'feature/betterdocs'

Conflicts:
	docs/source/recipes.rst
master
Maik Hoepfel 13 years ago
parent
commit
4ded832f34
54 changed files with 170 additions and 503 deletions
  1. 25
    0
      CONTRIBUTING.rst
  2. 0
    101
      docs/source/_draft/contributing/installation.rst
  3. 0
    10
      docs/source/_draft/contributing/testing.rst
  4. 0
    35
      docs/source/_draft/draft.rst
  5. 0
    4
      docs/source/_draft/getting_started/create_product_catalogue.rst
  6. 0
    4
      docs/source/_draft/getting_started/customising_models.rst
  7. 0
    116
      docs/source/_draft/getting_started/installation.rst
  8. 0
    24
      docs/source/_draft/getting_started/overriding_core_classes.rst
  9. 0
    3
      docs/source/_draft/inventory_management.rst
  10. 0
    62
      docs/source/_draft/order_management.rst
  11. 0
    3
      docs/source/_draft/stock_management.rst
  12. 0
    12
      docs/source/_draft/web_services.rst
  13. 0
    0
      docs/source/_old/conventions.rst
  14. 0
    0
      docs/source/_old/my_model_customisations_arent_picked_up.rst
  15. 0
    0
      docs/source/_old/offers.rst
  16. 0
    0
      docs/source/_old/search.rst
  17. 0
    1
      docs/source/contributing.rst
  18. 0
    0
      docs/source/howto/enforcing_stock_rules.rst
  19. 0
    0
      docs/source/howto/how_do_i_translate_oscar.rst
  20. 0
    0
      docs/source/howto/how_to_apply_tax_exemptions.rst
  21. 0
    0
      docs/source/howto/how_to_change_a_url.rst
  22. 0
    0
      docs/source/howto/how_to_configure_shipping.rst
  23. 0
    0
      docs/source/howto/how_to_configure_stock_messaging.rst
  24. 0
    0
      docs/source/howto/how_to_configure_the_dashboard_navigation.rst
  25. 0
    0
      docs/source/howto/how_to_create_a_custom_condition.rst
  26. 0
    0
      docs/source/howto/how_to_create_a_custom_range.rst
  27. 0
    0
      docs/source/howto/how_to_create_categories.rst
  28. 0
    0
      docs/source/howto/how_to_customise_an_app.rst
  29. 0
    0
      docs/source/howto/how_to_customise_models.rst
  30. 0
    0
      docs/source/howto/how_to_customise_templates.rst
  31. 0
    0
      docs/source/howto/how_to_disable_an_app.rst
  32. 0
    0
      docs/source/howto/how_to_handle_statics.rst
  33. 0
    0
      docs/source/howto/how_to_integrate_payment.rst
  34. 0
    0
      docs/source/howto/how_to_model_your_catalogue.rst
  35. 0
    0
      docs/source/howto/how_to_override_a_core_class.rst
  36. 0
    0
      docs/source/howto/importing_a_catalogue.rst
  37. 81
    0
      docs/source/howto/index.rst
  38. 29
    18
      docs/source/index.rst
  39. 1
    0
      docs/source/internals/contributing.rst
  40. 0
    0
      docs/source/internals/design_decisions.rst
  41. 0
    8
      docs/source/internals/getting_help.rst
  42. 0
    0
      docs/source/internals/getting_started.rst
  43. 0
    0
      docs/source/internals/take_a_peek.rst
  44. 0
    81
      docs/source/recipes.rst
  45. 0
    0
      docs/source/ref/apps/analytics.rst
  46. 0
    0
      docs/source/ref/apps/checkout.rst
  47. 24
    0
      docs/source/ref/apps/index.rst
  48. 0
    0
      docs/source/ref/apps/offer.rst
  49. 0
    0
      docs/source/ref/apps/promotions.rst
  50. 0
    0
      docs/source/ref/apps/shipping.rst
  51. 0
    0
      docs/source/ref/settings.rst
  52. 0
    0
      docs/source/ref/signals.rst
  53. 0
    11
      docs/source/reference.rst
  54. 10
    10
      docs/source/topics/key_questions.rst

+ 25
- 0
CONTRIBUTING.rst View File

@@ -180,6 +180,31 @@ There's a helper script for building the docs locally::
180 180
     cd docs
181 181
     ./test_docs.sh
182 182
 
183
+The actual docs are in ``/docs/source``. This directory structure is a
184
+simplified version of what Django does.
185
+
186
+* ``internals/`` contains everything related to Oscar itself, e.g. contributing
187
+  guidelines or design philosophies.
188
+* ``ref/`` is the reference documentation, esp. consisting of
189
+* ``ref/apps/`` which should be a guide to each Oscar core app, explaining it's
190
+  function, the main models, how it relates to the other apps, etc.
191
+* ``topics/`` will contain "meta" articles, explaining how things tie together
192
+  over several apps, or how Oscar can be combined with other solutions.
193
+* ``howto/`` contains tutorial-style descriptions on how to solve a certain
194
+  problem. Ideally, those will be kept to a minimum; as the other docs should
195
+  be understandable enough that necessary steps to achieve a certain goal are
196
+  obvious.
197
+* ``_old/`` contains legacy documents that have not been moved into the new
198
+  structure. Please help get rid of those!
199
+
200
+``/index.rst`` is designed as the entry point, and diverges from above
201
+structure to make the documentation more approachable. Other ``index.rst``
202
+files should only be created if there's too many files to list them all.
203
+E.g. ``/index.rst`` directly links to all files in ``topics/`` and
204
+``internals/``, but there's an ``index.rst`` both for the files in ``howto/``
205
+and ``ref/apps/``.
206
+
207
+
183 208
 Conventions
184 209
 ===========
185 210
 

+ 0
- 101
docs/source/_draft/contributing/installation.rst View File

@@ -1,101 +0,0 @@
1
-================================
2
-Installing Oscar for development
3
-================================
4
-
5
-Note that these instructions assume you are developing on Ubuntu.
6
-
7
-Virtual environment
8
--------------------
9
-
10
-Set up ``pip`` and ``virtualenv`` if you haven't already done so::
11
-
12
-    sudo apt-get install python-setuptools
13
-    sudo easy_install pip
14
-    sudo pip install virtualenv virtualenvwrapper
15
-    echo "source `which virtualenvwrapper`" >> ~/.bashrc
16
-
17
-Reload bash to add the virtualenvwrapper commands to your path::
18
-
19
-    . ~/.bashrc
20
-
21
-Create a virtualenv for development::
22
-
23
-    mkvirtualenv --no-site-packages oscar
24
-    workon oscar
25
-
26
-Forking Oscar
27
--------------
28
-
29
-Sign in to GitHub, navigate to https://github.com/tangentlabs/django-oscar and click "Fork".  This will create a 
30
-copy of the repository in your account.
31
-
32
-Now clone the remote repository to your machine::
33
-
34
-    cd workspace
35
-    git clone git@github.com:username/django-oscar.git
36
-    
37
-See the GitHub guide to forking for more details (http://help.github.com/fork-a-repo/).      
38
-
39
-Install Oscar and dependencies
40
-------------------------------
41
-
42
-Install Django and the packages from the requirements file, which aren't essential but are useful
43
-for testing and development::
44
-
45
-    pip install Django
46
-    pip install -r requirements-dev.txt
47
-
48
-Install Oscar in development mode within your virtualenv::
49
-
50
-    cd django-oscar
51
-    python setup.py develop
52
-
53
-Note: In case of gcc crashing and complaining in-between installation process,
54
-make sure you have appropriate ``-devel`` packages installed (i.e., ``mysql-devel``) in
55
-your system.
56
-
57
-Now create a ``settings_local.py`` file which contains details of your local database
58
-that you want to use for development.  At a minimum, this needs to define the ``DATABASES`` tuple.
59
-
60
-Developing
61
-----------
62
-
63
-Developing Oscar normally involves working on a Django project which uses Oscar
64
-as a installed app.  There are several such projects within the ``examples`` folder:
65
-
66
-* The ``vanilla`` project does not customise Oscar at all and uses everything in its 
67
-  default format.  It represents a blank canvas for an e-commerce shop.
68
-* The ``demo`` project does customise Oscar, and is intended to demonstrate the range 
69
-  of features in Oscar.   
70
-
71
-Each example shop has its own ``manage.py`` executable which you can use to create 
72
-your database::
73
-
74
-    ./manage.py syncdb
75
- 
76
-Install sample data
77
--------------------
78
-
79
-Oscar ships with sample data for a simple bookshop.  Load the product data and images using the
80
-following commands::
81
-
82
-    cd examples/vanilla
83
-    ./manage.py import_catalogue ../sample-data/books.csv
84
-    ./manage.py import_images ../sample-data/book-images/
85
-    ./manage.py update_index 
86
- 
87
- 
88
-Helper scripts
89
--------------- 
90
-    
91
-There is a shortcut script for dropping all of a projects's apps and rerunning ``syncdb`` in
92
-the `examples` folder - you need to specify which project to act on::
93
-
94
-    ./recreate_project_tables.sh vanilla
95
-    
96
-There is a similar script for running tests::
97
-
98
-    ./run_tests.sh vanilla
99
-    
100
-This specifies a sqlite3 database to use for testing and filters out the useless output.
101
-

+ 0
- 10
docs/source/_draft/contributing/testing.rst View File

@@ -1,10 +0,0 @@
1
-=======
2
-Testing
3
-=======
4
-
5
-There is a similar script for running tests::
6
-
7
-    cd examples
8
-    ./run_tests.sh vanilla
9
-    
10
-This specifies a sqlite3 database to use for testing and filters out the useless output.

+ 0
- 35
docs/source/_draft/draft.rst View File

@@ -1,35 +0,0 @@
1
-Quick start
2
-===========
3
-
4
-We can do this quickly.  Create a virtualenv using virtualenvwrapper and
5
-install Django and django-oscar::
6
-
7
-    mkvirtualenv --no-site-packages vanilla
8
-    pip install Django django-oscar
9
-
10
-Take a copy of the sample settings file, found at::
11
-
12
-    https://github.com/tangentlabs/django-oscar/blob/master/examples/vanilla/settings_quickstart.py
13
-
14
-Import the sample products and images::
15
-
16
-    wget https://github.com/tangentlabs/django-oscar/blob/master/examples/sample-data/books-catalogue.csv
17
-    python manage.py import_catalogue books-catalogue.csv
18
-
19
-    wget https://github.com/tangentlabs/django-oscar/blob/master/examples/sample-data/book-images.tar.gz
20
-    python manage.py import_images book-images.tar.gz
21
-
22
-And there you have it: a fully functional e-commerce site with a product range of 100 popular books.
23
-
24
-
25
-
26
-
27
-
28
-For
29
-instance, if every product in your shop has an associated video, then
30
-Oscar lets you add such a field to your core product model.  You don't
31
-have to model your domain logic using the `Entity-Attribute-Value`_ pattern or
32
-other such meta-nastiness - your core models should reflect the specifics of
33
-your domain.
34
-
35
-.. _`Entity-Attribute-Value`: http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model

+ 0
- 4
docs/source/_draft/getting_started/create_product_catalogue.rst View File

@@ -1,4 +0,0 @@
1
-Create product catalogue
2
-========================
3
-
4
-...

+ 0
- 4
docs/source/_draft/getting_started/customising_models.rst View File

@@ -1,4 +0,0 @@
1
-Customising models
2
-==================
3
-
4
-...

+ 0
- 116
docs/source/_draft/getting_started/installation.rst View File

@@ -1,116 +0,0 @@
1
-================
2
-Installing Oscar
3
-================
4
-
5
-Environment
6
------------
7
-
8
-This section is optional but recommended.
9
-
10
-Install pip and virtualenv (if you haven't already)::
11
-
12
-    sudo apt-get install python-setuptools
13
-    sudo easy_install pip
14
-    sudo pip install virtualenv virtualenvwrapper
15
-    echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
16
-
17
-Create a new virtual env::
18
-
19
-    mkvirtualenv --no-site-packages $PROJECTNAME
20
-
21
-A nice extension now is to edit your ``~/.virtualenv/$PROJECTNAME/bin/postactivate`` file to contain::
22
-
23
-    cd ~/path/to/my/workspace/$PROJECTNAME
24
-
25
-so that you can simply type ``workon $PROJECTNAME`` to jump into your project folder with the virtual
26
-environment set-up.
27
-
28
-Installation
29
-------------
30
-
31
-Install Oscar and its dependencies::
32
-
33
-    pip install -e git+git://github.com/tangentlabs/django-oscar.git#egg=django-oscar
34
-
35
-You will also need to install the appropriate python module for your database of choice.
36
-If you are using MySQL, then run the following::
37
-
38
-    pip install MySQL-python
39
-
40
-Also, depending on your search backend for haystack, you'll need to install further
41
-packages::
42
-
43
-    pip install pysolr
44
-
45
-Now create the project::
46
-
47
-    cd /path/to/my/workspace
48
-    django-admin.py startproject $PROJECTNAME
49
-
50
-Configure ``settings.py``
51
--------------------------
52
-
53
-* Add ``'django.middleware.transaction.TransactionMiddleware'`` to your ``MIDDLEWARE_CLASSES`` tuple, making
54
-  sure it comes AFTER ``'django.contrib.auth.middleware.AuthenticationMiddleware'``.
55
-
56
-* Add the following to your `INSTALLED_APPS`::
57
-
58
-    'haystack',
59
-    'oscar',
60
-    'oscar.apps.analytics',
61
-    'oscar.apps.discount',
62
-    'oscar.apps.order',
63
-    'oscar.apps.checkout',
64
-    'oscar.apps.shipping',
65
-    'oscar.apps.order_management',
66
-    'oscar.apps.product',
67
-    'oscar.apps.basket',
68
-    'oscar.apps.payment',
69
-    'oscar.apps.offer',
70
-    'oscar.apps.address',
71
-    'oscar.apps.partner',
72
-    'oscar.apps.image',
73
-    'oscar.apps.customer',
74
-    'oscar.apps.promotions',
75
-    'oscar.apps.reports',
76
-    'oscar.apps.search',
77
-    'oscar.apps.catalogue_import',
78
-
79
-
80
-* Add these to ``TEMPLATE_CONTECT_PROCESSORS``::
81
-
82
-    'oscar.apps.search.context_processors.search_form',
83
-    'oscar.apps.promotions.context_processors.promotions',
84
-    'oscar.apps.promotions.context_processors.merchandising_blocks',
85
-
86
-* Import default settings::
87
-
88
-    from oscar.defaults import *
89
-
90
-* If using Solr, configure it::
91
-
92
-    HAYSTACK_SITECONF = 'oscar.search_sites'
93
-    HAYSTACK_SEARCH_ENGINE = 'solr'
94
-    HAYSTACK_SOLR_URL = 'http://127.0.0.1:8080/solr'
95
-    HAYSTACK_INCLUDE_SPELLING = True
96
-
97
-Now fill in the normal settings (not related to Oscar) within ``settings.py`` - e.g., ``DATABASES``, ``TIME_ZONE`` etc
98
-
99
-A vanilla install of Oscar is now ready, you could now finish the process by running::
100
-
101
-    ./manage.py syncdb
102
-
103
-However, in reality you will need to start extending the models to match your domain.  It's best to do
104
-this before creating your initial schema.
105
-
106
-Configure URLs
107
---------------
108
-
109
-Oscar comes with a number of urls and views out of the box.  These are
110
-recommendations rather than a requirement, but you easily use them in your
111
-e-commerce site by adding the Oscar urls to your projects local ``urls.py``::
112
-
113
-    (r'^', include('oscar.urls')),
114
-
115
-This will bring in all of Oscar's defined urls. Of course you can pull in the
116
-urls for the individual apps if you prefer or simply define your own

+ 0
- 24
docs/source/_draft/getting_started/overriding_core_classes.rst View File

@@ -1,24 +0,0 @@
1
-Customising core classes
2
-========================
3
-
4
-As much as possible, Oscar's core functionality is implemented in classes that are dynamically loaded
5
-based on the values in ``settings.py``.  This means that any class can be extended and overridden
6
-in your project to customise its behaviour.
7
-
8
-To customise a single class, the process is as follows:
9
-
10
-1.  Create a new app within your project with the same name as the app you are customising from oscar.  
11
-    For example, if you want to change something from ``oscar.checkout.forms``, then create an app
12
-    ``myshop.checkout`` and add a module ``forms.py``.  
13
-
14
-2.  In this new module, create a new version of the class you want to customise.  This is usually done
15
-    by importing the core class with a new name and then extended/overriding its functionality::
16
-
17
-        from oscar.checkout.forms import ShippingAddressForm as CoreShippingAddressForm
18
-        
19
-        class ShippingAddressForm(CoreShippingAddressForm):
20
-            
21
-            # Customisation here
22
-            pass
23
-
24
-3.  Add your new app to ``settings.py``, replacing its counterpart from Oscar's core.

+ 0
- 3
docs/source/_draft/inventory_management.rst View File

@@ -1,3 +0,0 @@
1
-Inventory management REST services
2
-==================================
3
-

+ 0
- 62
docs/source/_draft/order_management.rst View File

@@ -1,62 +0,0 @@
1
-Order management REST services
2
-==============================
3
-
4
-Supported methods and resources:
5
-
6
-**Retrieve list of orders:**::
7
-
8
-    GET /orders/
9
-
10
-Filters:
11
-
12
-* ``after=2010-10-01`` - Return all orders placed after 2010-10-01
13
-* ``before=2010-10-31`` - Return all orders placed before 2010-10-31
14
-
15
-**Retrieve a summary of an order with number 123 (not id)**::
16
-
17
-    GET /order/123/
18
-
19
-**Retrieve a list of batches**::
20
-
21
-    GET /order/123/batches/
22
-
23
-**Retrieve a summary of batch**::
24
-
25
-    GET /order/123/batch/34/
26
-
27
-**Retrieve a list of lines**::
28
-
29
-    GET /order/123/batch/34/lines/ [just lines within batch 34, part of order 123]
30
-    
31
-    GET /order/123/lines/ [all lines within order 123]
32
-    
33
-    GET /lines/ [all lines]
34
-
35
-Filters:
36
-
37
-* ``at_shipping_status`` - Returns lines at the specified shipping status (use the code)
38
-
39
-* ``at_payment_status`` - Returns lines at the specified payment status (use the code)
40
-
41
-* ``partner`` - Returns lines fulfilled by a particular partner
42
-
43
-**Retrieve a summary of a lines with ids 100,101,102**::
44
-
45
-    GET /order/123/batch/34/line/100;101;102`` 
46
-
47
-    GET /order/123/line/100;101;102`` 
48
-
49
-**Update shipping status of an order line**::
50
-
51
-    POST /order/123/batch/34/line/100/ 
52
-
53
-    POST /order/123/lines/ 
54
-
55
-Request:
56
-
57
-``{'shipping_status': 'acknowledged'}`` - Update every item in line
58
-
59
-``{'shipping_status': {'acknowledged': 10, 'cancelled': 1}}`` - Fine-grained control
60
-
61
-
62
-

+ 0
- 3
docs/source/_draft/stock_management.rst View File

@@ -1,3 +0,0 @@
1
-Stock management REST services
2
-==============================
3
-

+ 0
- 12
docs/source/_draft/web_services.rst View File

@@ -1,12 +0,0 @@
1
-Web services
2
-============
3
-
4
-Oscar exposes three different RESTful webservices for administration:
5
-
6
-.. toctree::
7
-   :maxdepth: 2
8
-
9
-   web_services/order_management
10
-   web_services/stock_management
11
-   web_services/inventory_management
12
-

docs/source/_draft/contributing/conventions.rst → docs/source/_old/conventions.rst View File


docs/source/problems/my_model_customisations_arent_picked_up.rst → docs/source/_old/my_model_customisations_arent_picked_up.rst View File


docs/source/_draft/components/offers.rst → docs/source/_old/offers.rst View File


docs/source/_draft/getting_started/search.rst → docs/source/_old/search.rst View File


+ 0
- 1
docs/source/contributing.rst View File

@@ -1 +0,0 @@
1
-../../CONTRIBUTING.rst

docs/source/recipes/enforcing_stock_rules.rst → docs/source/howto/enforcing_stock_rules.rst View File


docs/source/recipes/how_do_i_translate_oscar.rst → docs/source/howto/how_do_i_translate_oscar.rst View File


docs/source/recipes/how_to_apply_tax_exemptions.rst → docs/source/howto/how_to_apply_tax_exemptions.rst View File


docs/source/recipes/how_to_change_a_url.rst → docs/source/howto/how_to_change_a_url.rst View File


docs/source/recipes/how_to_configure_shipping.rst → docs/source/howto/how_to_configure_shipping.rst View File


docs/source/recipes/how_to_configure_stock_messaging.rst → docs/source/howto/how_to_configure_stock_messaging.rst View File


docs/source/recipes/how_to_configure_the_dashboard_navigation.rst → docs/source/howto/how_to_configure_the_dashboard_navigation.rst View File


docs/source/recipes/how_to_create_a_custom_condition.rst → docs/source/howto/how_to_create_a_custom_condition.rst View File


docs/source/recipes/how_to_create_a_custom_range.rst → docs/source/howto/how_to_create_a_custom_range.rst View File


docs/source/recipes/how_to_create_categories.rst → docs/source/howto/how_to_create_categories.rst View File


docs/source/recipes/how_to_customise_an_app.rst → docs/source/howto/how_to_customise_an_app.rst View File


docs/source/recipes/how_to_customise_models.rst → docs/source/howto/how_to_customise_models.rst View File


docs/source/recipes/how_to_customise_templates.rst → docs/source/howto/how_to_customise_templates.rst View File


docs/source/recipes/how_to_disable_an_app.rst → docs/source/howto/how_to_disable_an_app.rst View File


docs/source/recipes/how_to_handle_statics.rst → docs/source/howto/how_to_handle_statics.rst View File


docs/source/recipes/how_to_integrate_payment.rst → docs/source/howto/how_to_integrate_payment.rst View File


docs/source/recipes/how_to_model_your_catalogue.rst → docs/source/howto/how_to_model_your_catalogue.rst View File


docs/source/recipes/how_to_override_a_core_class.rst → docs/source/howto/how_to_override_a_core_class.rst View File


docs/source/recipes/importing_a_catalogue.rst → docs/source/howto/importing_a_catalogue.rst View File


+ 81
- 0
docs/source/howto/index.rst View File

@@ -0,0 +1,81 @@
1
+=======
2
+Recipes
3
+=======
4
+
5
+Recipes are simple guides to solving common problems that occur when creating
6
+e-commerce projects.
7
+
8
+Customisation
9
+-------------
10
+
11
+.. toctree::
12
+    :maxdepth: 1
13
+
14
+    how_to_customise_an_app
15
+    how_to_customise_models
16
+    how_to_override_a_core_class
17
+    how_to_customise_templates
18
+    how_to_disable_an_app
19
+    how_to_change_a_url
20
+    how_to_configure_the_dashboard_navigation
21
+
22
+Catalogue
23
+---------
24
+
25
+.. toctree::
26
+    :maxdepth: 1
27
+
28
+    how_to_create_categories
29
+    how_to_model_your_catalogue
30
+    importing_a_catalogue
31
+
32
+Pricing, stock and availability
33
+-------------------------------
34
+
35
+.. toctree::
36
+    :maxdepth: 1
37
+
38
+    enforcing_stock_rules
39
+    how_to_configure_stock_messaging
40
+
41
+Payment
42
+-------
43
+
44
+.. toctree::
45
+    :maxdepth: 1
46
+
47
+    how_to_integrate_payment
48
+    how_to_apply_tax_exemptions
49
+
50
+Shipping
51
+--------
52
+
53
+.. toctree::
54
+    :maxdepth: 1
55
+
56
+    how_to_configure_shipping
57
+
58
+Offers
59
+------
60
+
61
+.. toctree::
62
+    :maxdepth: 1
63
+
64
+    how_to_create_a_custom_range
65
+    how_to_create_a_custom_condition
66
+
67
+Appearance
68
+----------
69
+
70
+.. toctree::
71
+    :maxdepth: 1
72
+
73
+    how_to_handle_statics
74
+
75
+Contributing
76
+------------
77
+
78
+.. toctree::
79
+    :maxdepth: 1
80
+
81
+    how_do_i_translate_oscar

+ 29
- 18
docs/source/index.rst View File

@@ -1,7 +1,3 @@
1
-.. sphinx-quickstart on Mon Feb  7 13:16:33 2011.
2
-   You can adapt this file completely to your liking, but it should at least
3
-   contain the root `toctree` directive.
4
-
5 1
 .. image:: http://img692.imageshack.us/img692/6498/logovf.png
6 2
 
7 3
 ===================================
@@ -62,22 +58,37 @@ ipads.  The `source is on GitHub`_ - contributions welcome.
62 58
 .. _`Tangent Labs`: http://www.tangentlabs.co.uk
63 59
 .. _`source is on GitHub`: https://github.com/tangentlabs/django-oscar
64 60
 
61
+Table of contents
62
+=================
63
+
64
+First steps
65
+-----------
65 66
 .. toctree::
66
-   :maxdepth: 2
67
+   :maxdepth: 1
67 68
 
68
-   take_a_peek
69
-   getting_started
70
-   key_questions
71
-   recipes
72
-   getting_help
73
-   design_decisions
74
-   reference
75
-   contributing
69
+   internals/take_a_peek
70
+   internals/getting_started
71
+   internals/getting_help
72
+   topics/key_questions
76 73
 
77
-Indices and tables
78
-==================
74
+Using Oscar
75
+-----------
76
+All you need to start developing apps with Oscar.
77
+
78
+.. toctree::
79
+   :maxdepth: 1
79 80
 
80
-* :ref:`genindex`
81
-* :ref:`modindex`
82
-* :ref:`search`
81
+   howto/index
82
+   ref/apps/index
83
+   ref/settings
84
+   ref/signals
85
+
86
+The Oscar open-source project
87
+-----------------------------
88
+Learn about the ideas behind Oscar and how you can contribute.
89
+
90
+.. toctree::
91
+   :maxdepth: 1
83 92
 
93
+   internals/contributing
94
+   internals/design_decisions

+ 1
- 0
docs/source/internals/contributing.rst View File

@@ -0,0 +1 @@
1
+../../../CONTRIBUTING.rst

docs/source/design_decisions.rst → docs/source/internals/design_decisions.rst View File


docs/source/getting_help.rst → docs/source/internals/getting_help.rst View File

@@ -10,14 +10,6 @@ the solution as a recipe.
10 10
 
11 11
 .. _`Google Groups archive`: https://groups.google.com/forum/?fromgroups#!forum/django-oscar
12 12
 
13
-Solutions to common problems
14
-----------------------------
15
-
16
-.. toctree::
17
-    :maxdepth: 1
18
-
19
-    problems/my_model_customisations_arent_picked_up
20
-
21 13
 If you find a bug, please report it in the `GitHub issue tracker`_
22 14
 
23 15
 .. _`GitHub issue tracker`: https://github.com/tangentlabs/django-oscar/issues

docs/source/getting_started.rst → docs/source/internals/getting_started.rst View File


docs/source/take_a_peek.rst → docs/source/internals/take_a_peek.rst View File


+ 0
- 81
docs/source/recipes.rst View File

@@ -1,81 +0,0 @@
1
-=======
2
-Recipes
3
-=======
4
-
5
-Recipes are simple guides to solving common problems that occur when creating
6
-e-commerce projects.
7
-
8
-Customisation
9
--------------
10
-
11
-.. toctree::
12
-    :maxdepth: 1
13
-
14
-    recipes/how_to_customise_an_app
15
-    recipes/how_to_customise_models
16
-    recipes/how_to_override_a_core_class
17
-    recipes/how_to_customise_templates
18
-    recipes/how_to_disable_an_app
19
-    recipes/how_to_change_a_url
20
-    recipes/how_to_configure_the_dashboard_navigation
21
-
22
-Catalogue
23
----------
24
-
25
-.. toctree::
26
-    :maxdepth: 1
27
-
28
-    recipes/how_to_create_categories
29
-    recipes/how_to_model_your_catalogue
30
-    recipes/importing_a_catalogue
31
-
32
-Pricing, stock and availability
33
--------------------------------
34
-
35
-.. toctree::
36
-    :maxdepth: 1
37
-
38
-    recipes/enforcing_stock_rules
39
-    recipes/how_to_configure_stock_messaging
40
-
41
-Payment
42
--------
43
-
44
-.. toctree::
45
-    :maxdepth: 1
46
-
47
-    recipes/how_to_integrate_payment
48
-    recipes/how_to_apply_tax_exemptions
49
-
50
-Shipping
51
---------
52
-
53
-.. toctree::
54
-    :maxdepth: 1
55
-
56
-    recipes/how_to_configure_shipping
57
-
58
-Offers
59
-------
60
-
61
-.. toctree::
62
-    :maxdepth: 1
63
-
64
-    recipes/how_to_create_a_custom_range
65
-    recipes/how_to_create_a_custom_condition
66
-
67
-Appearance
68
-----------
69
-
70
-.. toctree::
71
-    :maxdepth: 1
72
-
73
-    recipes/how_to_handle_statics
74
-
75
-Contributing
76
-------------
77
-
78
-.. toctree::
79
-    :maxdepth: 1
80
-
81
-    recipes/how_do_i_translate_oscar

docs/source/_draft/components/analytics.rst → docs/source/ref/apps/analytics.rst View File


docs/source/_draft/components/checkout.rst → docs/source/ref/apps/checkout.rst View File


+ 24
- 0
docs/source/ref/apps/index.rst View File

@@ -0,0 +1,24 @@
1
+===============
2
+Oscar Core Apps
3
+===============
4
+
5
+Oscar is split up in multiple, mostly independent apps.
6
+
7
+.. toctree::
8
+   :maxdepth: 1
9
+
10
+   address
11
+   analytics
12
+   basket
13
+   catalogue
14
+   checkout
15
+   customer
16
+   dashboard
17
+   offer
18
+   order
19
+   partner
20
+   payment
21
+   promotions
22
+   search
23
+   shipping
24
+   voucher

docs/source/features/offers.rst → docs/source/ref/apps/offer.rst View File


docs/source/_draft/components/promotions.rst → docs/source/ref/apps/promotions.rst View File


docs/source/_draft/components/shipping.rst → docs/source/ref/apps/shipping.rst View File


docs/source/reference/settings.rst → docs/source/ref/settings.rst View File


docs/source/reference/signals.rst → docs/source/ref/signals.rst View File


+ 0
- 11
docs/source/reference.rst View File

@@ -1,11 +0,0 @@
1
-=========
2
-Reference
3
-=========
4
-
5
-Contents:
6
-
7
-.. toctree::
8
-   :maxdepth: 2
9
-
10
-   reference/settings
11
-   reference/signals

docs/source/key_questions.rst → docs/source/topics/key_questions.rst View File

@@ -30,8 +30,8 @@ need to capture the attributes of your product types within your models.  Oscar
30 30
 divides products into 'product classes' which each have their own set of
31 31
 attributes.  
32 32
 
33
-* :doc:`recipes/how_to_model_your_catalogue`
34
-* :doc:`recipes/importing_a_catalogue`
33
+* :doc:`/howto/how_to_model_your_catalogue`
34
+* :doc:`/howto/importing_a_catalogue`
35 35
 
36 36
 How is your catalogue organised?
37 37
 --------------------------------
@@ -46,9 +46,9 @@ theme, by product type).  Other questions to consider:
46 46
 * Can a category sit in more than one place within the tree?  (e.g., a "children's fiction" category
47 47
   might sit beneath "children's books" and "fiction").
48 48
 
49
-* :doc:`recipes/how_to_customise_an_app`
50
-* :doc:`recipes/how_to_customise_models`
51
-* :doc:`recipes/how_to_override_a_core_class`
49
+* :doc:`/howto/how_to_customise_an_app`
50
+* :doc:`/howto/how_to_customise_models`
51
+* :doc:`/howto/how_to_override_a_core_class`
52 52
 
53 53
 How are products managed?
54 54
 -------------------------
@@ -57,7 +57,7 @@ Is the catalogue managed by a admin using a dashboard, or though an automated
57 57
 process, such as processing feeds from a fulfillment system?  Where are your
58 58
 product images going to be served from?
59 59
 
60
-* :doc:`recipes/how_to_disable_an_app`
60
+* :doc:`/howto/how_to_disable_an_app`
61 61
 
62 62
 
63 63
 Pricing, stock and availability
@@ -72,7 +72,7 @@ What availability messages are shown to customers?
72 72
 Based on the stock information from a fulfillment partner, what messaging should be
73 73
 displayed on the site?  
74 74
 
75
-* :doc:`recipes/how_to_configure_stock_messaging`
75
+* :doc:`/howto/how_to_configure_stock_messaging`
76 76
 
77 77
 Do you allow pre- and back-orders
78 78
 ---------------------------------
@@ -97,7 +97,7 @@ associated charges can take a variety of forms, including:
97 97
 
98 98
 Recipes:
99 99
 
100
-* :doc:`recipes/how_to_configure_shipping`
100
+* :doc:`/howto/how_to_configure_shipping`
101 101
 
102 102
 Which shipping methods are available?
103 103
 -------------------------------------
@@ -115,7 +115,7 @@ for determining which shipping methods are available to the user.
115 115
 
116 116
 Recipes:
117 117
 
118
-* :doc:`recipes/how_to_configure_shipping`
118
+* :doc:`/howto/how_to_configure_shipping`
119 119
 
120 120
 
121 121
 Payment
@@ -152,7 +152,7 @@ Domain logic is often required to:
152 152
 * Determine how to handle failing payments (this can get complicated when using
153 153
   multiple payment sources to pay for an order).
154 154
 
155
-* :doc:`recipes/how_to_configure_shipping`
155
+* :doc:`/howto/how_to_configure_shipping`
156 156
 
157 157
 When will payment be taken?
158 158
 ---------------------------

Loading…
Cancel
Save