Skip to content
This repository
  • 2 commits
  • 6 files changed
  • 0 comments
  • 1 contributor
45 CHANGELOG.rst
Source Rendered
@@ -2,34 +2,33 @@
2 2 Changelog
3 3 =========
4 4
5   -0.1
6   -~~~
  5 +0.2 - 01 June 2012
  6 +~~~~~~~~~~~~~~~~~~
7 7
8   -* Initial release - used in production by two major applications at Tangent but
9   - still quite rough around the edges. Many features were implemented directly
10   - in the applications rather than using a feature from oscar.
11   -* Docs are a bit stale and need updating in 0.2
  8 +Many components have been rewritten since 0.1 - Oscar is much more of a complete
  9 +package now. New features include:
12 10
13   -Roadmap
14   --------
  11 +* Dashboard for managing catalogue, offers, stock, vouchers and more. This includes
  12 + statistics pages to track performance.
15 13
16   -0.2
17   -~~~
  14 +* Sample templates, CSS and JS to get a shop up and running in a minutes.
  15 +
  16 +* Updated documentation.
18 17
19   -Currently a work-in-progress, estimated release date: May 2012. It will feature:
  18 +* Reworking of shipping methods.
20 19
21   -* Much better documentation, including recipes for common tasks
22   -* Refactoring of shipping methods
23   -* New dashboard functionality for product management, order management, customer services
24   -* New dynamic class loading
25   -* Lots more tests!
26   -* A fully styled sandbox shop based on Twitter's bootstrap.
  20 +* Automatic up-selling on the basket page. We now inform the user if they
  21 + partially quanlify for an offer.
27 22
28   -0.3
  23 +The documentation still needs more work which we'll do over the next week or
  24 +two.
  25 +
  26 +0.1
29 27 ~~~
30 28
31   -* Rewrite of search app to use Solr and probably not Haystack
32   -* Much better support for variant products which aren't handled very well at the
33   - moment.
34   -* Dashboard issue management
35   -* Better support for role-based permissions
  29 +* Initial release - used in production by two major applications at Tangent but
  30 + still quite rough around the edges. Many features were implemented directly
  31 + in the applications rather than using a feature from oscar.
  32 +
  33 +* Docs are a bit stale and need updating in 0.2
  34 +
33 docs/source/design_decisions.rst
Source Rendered
@@ -8,9 +8,9 @@ extended and customised to suit the domain at hand. This is acheived in several
8 8 Core models are abstract
9 9 ------------------------
10 10
11   -Online shops can vary wildly, selling everything from turnips to concert tickets. Trying
12   -to define a set of Django models capable for modelling all such scenarios is impossible -
13   -customisation is what matters.
  11 +Online shops can vary wildly, selling everything from turnips to concert
  12 +tickets. Trying to define a set of Django models capable for modelling all such
  13 +scenarios is impossible - customisation is what matters.
14 14
15 15 One way to model your domain is to have enormous models that have fields for
16 16 every possible variation; however, this is unwieldy and ugly.
@@ -24,7 +24,7 @@ where all the fields are meaningful within any e-commerce domain. Oscar then
24 24 provides a mechanism for subclassing these models within your application so
25 25 domain-specific fields can be added.
26 26
27   -Specifically, in each of oscar's apps, there is an ``abstract_models.py`` module which
  27 +Specifically, in many of oscar's apps, there is an ``abstract_models.py`` module which
28 28 defines these abstract classes. There is also an accompanying ``models.py`` which provides an
29 29 empty but concrete implementation of each abstract model.
30 30
@@ -32,27 +32,30 @@ Classes are loaded dynamically
32 32 ------------------------------
33 33
34 34 To enable sub-apps to be overridden, oscar classes are loading generically
35   -using a special ``import_module`` function. This looks at the
  35 +using a special ``get_class`` function. This looks at the
36 36 ``INSTALLED_APPS`` tuple to determine the appropriate app to load a class from.
37 37
38   -Within oscar itself, classes are imported using a special ``import_module`` function
39   -which determines which app to load the specified classes from. Sample usage is::
  38 +Sample usage::
40 39
41   - import_module('product.models', ['Item', 'ItemClass'], locals())
  40 + from oscar.core.loading import get_class
  41 +
  42 + Repository = get_class('shipping.repository', 'Repository')
42 43
43   -This will load the ``Item`` and ``ItemClass`` classes into the local namespace. It is
44   -a replacement for the usual::
  44 +This is a replacement for the usual::
  45 +
  46 + from oscar.apps.shipping.repository import Repository
45 47
46   - from oscar.product.models import Item, ItemClass
  48 +It is effectively an extension of Django's ``django.db.models.get_model``
  49 +function to work with arbitrary classes.
47 50
48   -The ``import_module`` looks through your ``INSTALLED_APPS`` for a matching module to
  51 +The ``get_class`` function looks through your ``INSTALLED_APPS`` for a matching module to
49 52 the one specified and will load the classes from there. If the matching module is
50 53 not from oscar's core, then it will also fall back to the equivalent module if the
51 54 class cannot be found.
52 55
53   -This structure enables a project to create a local ``product.models`` module and
54   -subclass and extend the core models from ``oscar.app.product.models``. When Oscar
55   -tries to load the ``Item`` class, it will load the one from your local project.
  56 +This structure enables a project to create a local ``shipping.repository`` module and
  57 +subclass and extend the classes from ``oscar.app.shipping.repository``. When Oscar
  58 +tries to load the ``Repository`` class, it will load the one from your local project.
56 59
57 60 All views are class-based
58 61 -------------------------
15 docs/source/getting_help.rst
Source Rendered
... ... @@ -0,0 +1,15 @@
  1 +============
  2 +Getting help
  3 +============
  4 +
  5 +If you're stuck with a problem, try checking the `Google Groups archive`_ to see if
  6 +someone has encountered it before. If not, then try asking on the mailing list
  7 +django-oscar@googlegroups.com. If it's a common question, then we'll write up
  8 +the solution as a recipe.
  9 +
  10 +.. _`Google Groups archive`: https://groups.google.com/forum/?fromgroups#!forum/django-oscar
  11 +
  12 +If you find a bug, please report it in the `Github issue tracker`_
  13 +
  14 +.. _`Github issue tracker`: https://github.com/tangentlabs/django-oscar/issues
  15 +
4 docs/source/getting_started.rst
Source Rendered
@@ -113,7 +113,7 @@ Install using Tangent's boilerplate django project
113 113 The easiest way to get started is to use Tangent's `template django project`_
114 114 although it is tailored to an Agency structure which may not suit everyone.
115 115
116   -.. `template django project`: https://github.com/tangentlabs/tangent-django-boilerplate
  116 +.. _`template django project`: https://github.com/tangentlabs/tangent-django-boilerplate
117 117
118 118 Set up a virtualenv, and create a new project using the ``startproject``
119 119 management command::
@@ -124,7 +124,7 @@ management command::
124 124 --template=https://github.com/tangentlabs/tangent-django-boilerplate/zipball/master
125 125
126 126 This will create a folder ``frobshop`` which is an entire templated project that
127   -follows Tangent's conventions. The structure is:
  127 +follows Tangent's conventions. The structure is::
128 128
129 129 frobshop/
130 130 docs/
1  docs/source/index.rst
Source Rendered
@@ -53,6 +53,7 @@ ipads. The `source is on Github`_.
53 53 getting_started
54 54 key_questions
55 55 recipes
  56 + getting_help
56 57 design_decisions
57 58 reference
58 59 contributing
2  docs/source/recipes/how_to_configure_shipping.rst
Source Rendered
@@ -32,7 +32,7 @@ Set a custom shipping methods
32 32 -----------------------------
33 33
34 34 To apply your domain logic for shipping, you will need to override
35   -the default repository class (see :doc:`how_to_override_a_class`) and alter
  35 +the default repository class (see :doc:`recipes/how_to_override_a_class`) and alter
36 36 the implementation of the ``get_shipping_methods`` method. This method
37 37 should return a list of "shipping method" classes already instantiated
38 38 and holding a reference to the basket instance.

No commit comments for this range

Something went wrong with that request. Please try again.