Browse Source

Add release notes for product structure changes

master
Maik Hoepfel 11 years ago
parent
commit
a3b1de75dc
1 changed files with 53 additions and 1 deletions
  1. 53
    1
      docs/source/releases/v0.8.rst

+ 53
- 1
docs/source/releases/v0.8.rst View File

@@ -61,6 +61,25 @@ Customisation just got easier!
61 61
 * The documentation around :doc:`/topics/customisation` has been given an
62 62
   overhaul to incorporate the changes.
63 63
 
64
+Explicit differentiation of child, parent and stand-alone products
65
+------------------------------------------------------------------
66
+
67
+In some edge cases, it was difficult to decide whether e.g. a product is a
68
+parent product (previously known as group product) without children or a
69
+stand-alone product (which never has children). To make that distinction
70
+easier, a ``structure`` field has been introduced on the ``AbstractProduct``
71
+class. In that process, naming for the three different product structures
72
+has been altered to be:
73
+
74
+    - A stand alone product. Regular product that lives by itself.
75
+    - A child product. All child products have a parent product. They're a
76
+      specific version of the parent. Previously known as product variant.
77
+    - A parent product. It essentially represents a set of products.
78
+      Previously also known as group product.
79
+
80
+Some properties and method names have also been updated to the new naming. The
81
+old ones will throw a deprecation warning.
82
+
64 83
 Reworked shipping app
65 84
 ~~~~~~~~~~~~~~~~~~~~~
66 85
 
@@ -142,7 +161,10 @@ Cleanup around shipping methods
142 161
 
143 162
 * ``WeightBand.upper_limit`` is now a ``DecimalField``, just like the other
144 163
   weight-related fields.
145
-
164
+    - Stand-alone product: Products that "stand by themselves", neither have
165
+      parent nor children.
166
+    - Parent product: An overarching product, previously known as group product.
167
+    - Child products: Products related to a common parent product
146 168
 .. _minor_changes_in_0.8:
147 169
 
148 170
 Minor changes
@@ -183,6 +205,29 @@ Backwards incompatible changes in 0.8
183 205
 
184 206
 .. _incompatible_shipping_changes_in_0.8:
185 207
 
208
+Product structure
209
+~~~~~~~~~~~~~~~~~
210
+
211
+Generally, backwards compatibility has been preserved. Two changes are
212
+unavoidable:
213
+
214
+* You now need to explicitly set product structure when creating a product;
215
+  the default is a stand-alone product.
216
+* The related_name for child products was altered from ``variants`` to
217
+  ``children``. A ``variants`` property has been provided (and will throw a
218
+  deprecation warning), but if you used the old related name in a query lookup
219
+  (e.g. ``products.filter(variants__title='foo')``, you will have to change it
220
+  to ``children``.
221
+
222
+The following methods and properties have been deprecated:
223
+* ``Product.is_parent`` - Use ``is_group`` instead.
224
+* ``Product.is_variant`` - Use ``is_child`` instead.
225
+* ``Product.is_top_level`` - Test for ``is_standalone`` and/or ``is_parent`` instead.
226
+* ``Strategy.fetch_for_group`` - Use ``fetch_for_parent`` instead.
227
+* ``Strategy.select_variant_stockrecords`` - Use
228
+  ``select_children_stockrecords`` instead.
229
+*
230
+
186 231
 Shipping
187 232
 ~~~~~~~~
188 233
 
@@ -391,6 +436,12 @@ Basket app changes
391 436
 Migrations
392 437
 ~~~~~~~~~~
393 438
 
439
+.. warning::
440
+
441
+    The catalogue app has a data migration to determine the product structure.
442
+    Please double-check it's outcome and make sure to do something similar
443
+    if you have forked the catalogue app.
444
+
394 445
 * Address:
395 446
 
396 447
     - ``0011`` - ``AbstractAddress.search_text`` turned into a ``TextField``.
@@ -403,6 +454,7 @@ Migrations
403 454
     - ``0023`` - Drop ``Product.related_products``.
404 455
     - ``0024`` - Change ``ProductAttributeValue.value_text`` to a ``TextField``
405 456
       and do entity attribute changes and model deletions.
457
+    - ``0025`` & ``0026`` - Schema & data migration to determine and save Product structure.
406 458
 
407 459
 * Order:
408 460
 

Loading…
Cancel
Save