Plan for v0.6

211 views
Skip to first unread message

David Winterbottom

unread,
May 10, 2013, 12:08:13 PM5/10/13
to django-oscar
Hello everybody, 

This email is an overview of some of the headline features for 0.6.  There's quite a lot here and we may end up pushing some features to 0.7 if things are going on too long.  If there's something close to your heart, let us know and we'll try and prioritise what the community wants.  Of course, feedback and suggestions are welcome.

Search
Search has been a poor relation for while.  Most Tangent projects have implemented their own search layer on top of Oscar.  We're going to build much better Haystack search into Oscar that supports faceting controlled through a setting, and provide some sample Solr schemas.  We're also like to switch the browsing views to use a search backend rather than hitting the database.

Multiple stockrecords per product
In large stores, you often have multiple partners for the same product.  We're going to adjust Oscar's modelling of stock to allow a product to have multiple stock records (it's OneToOne at the moment).  It will then be possible to implement your own business logic which determines which partner actually fulfils the product. 

Wishlists
We've been meaning to port this across from some Tangent projects for ages.

Multisite
We're going to make Oscar support multiple shops/domains using the same Oscar instance.  Each product will have a ManyToMany relationship with the Site model so that subsets of products can be shown on each site.

Tax
Oscar's tax treatment is a little too European at the moment, where all prices are shown including tax.  Other places (like the US/Canada) differ in that customers pay the sales tax of the shipping address.  The was tax is handled is due for some review to make sure we can model both scenarios easily.

Django 1.5
v0.6 will support Django 1.5

Volume pricing
Tangent have an internal project where products get their prices from an external service and the price is dependent on the quantity being purchased.  I'm going to look into modifying how prices are calculated to make this easier.


There are various other smaller things too, see Github for the details:

Have a good weekend.

--
David Winterbottom
Head of Programming

Tangent Labs
84-86 Great Portland Street
London W1W 7NR
England, UK

Jonathan Moss

unread,
May 12, 2013, 6:26:29 PM5/12/13
to django...@googlegroups.com
Hey David,

Awesome line up of new features. Particularly please with search and
multi-stock/site additions.

On the multi-site for products. Will this also be applied to other
models? Things like offers, voucher, categories etc? Or is that to come
later?

We can get a long way with just the products but it would be great to
allow a greater level of control over multiple sites.

Regards,
Jon

> Hello everybody,
>
> This email is an overview of some of the headline features for 0.6.
> There's quite a lot here and we may end up pushing some features to 0.7
> if things are going on too long. If there's something close to your
> heart, let us know and we'll try and prioritise what the community
> wants. Of course, feedback and suggestions are welcome.
>
> *Search*
> Search has been a poor relation for while. Most Tangent projects have
> implemented their own search layer on top of Oscar. We're going to
> build much better Haystack search into Oscar that supports faceting
> controlled through a setting, and provide some sample Solr schemas.
> We're also like to switch the browsing views to use a search backend
> rather than hitting the database.
> https://github.com/tangentlabs/django-oscar/pull/423
>
> *Multiple stockrecords per product*
> In large stores, you often have multiple partners for the same product.
> We're going to adjust Oscar's modelling of stock to allow a product to
> have multiple stock records (it's OneToOne at the moment). It will then
> be possible to implement your own business logic which determines which
> partner actually fulfils the product.
>
> *Wishlists*
> We've been meaning to port this across from some Tangent projects for ages.
> https://github.com/tangentlabs/django-oscar/pull/341
>
> *Multisite*
> We're going to make Oscar support multiple shops/domains using the same
> Oscar instance. Each product will have a ManyToMany relationship with
> the Site model so that subsets of products can be shown on each site.
>
> *Tax*
> Oscar's tax treatment is a little too European at the moment, where all
> prices are shown including tax. Other places (like the US/Canada)
> differ in that customers pay the sales tax of the shipping address. The
> was tax is handled is due for some review to make sure we can model both
> scenarios easily.
>
> *Django 1.5*
> v0.6 will support Django 1.5
> https://github.com/tangentlabs/django-oscar/pull/472
>
> *Volume pricing*
> Tangent have an internal project where products get their prices from an
> external service and the price is dependent on the quantity being
> purchased. I'm going to look into modifying how prices are calculated
> to make this easier.
>
>
> There are various other smaller things too, see Github for the details:
> https://github.com/tangentlabs/django-oscar/issues?milestone=5&state=open
>
> Have a good weekend.
>
> --
> *David Winterbottom*
> Head of Programming
>
> Tangent Labs
> 84-86 Great Portland Street
> London W1W 7NR
> England, UK
>
> --
> https://github.com/tangentlabs/django-oscar
> ---
> You received this message because you are subscribed to the Google
> Groups "django-oscar" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to django-oscar...@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-oscar?hl=en-US.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>


--
Jonathan Moss
Director

Tangent Snowball Australia Pty
Suite 109
175 Sturt Street
Melbourne, VIC 3006
ABN: 76 137 883 615

T: +61 (0) 3 9645 8796
M: +61 (0) 4 1525 1208
E: jonath...@tangentsnowball.com.au

David Winterbottom

unread,
May 13, 2013, 5:12:35 AM5/13/13
to django-oscar
On 12 May 2013 23:26, Jonathan Moss <jonath...@tangentsnowball.com.au> wrote:
Hey David,

Awesome line up of new features. Particularly please with search and
multi-stock/site additions.

On the multi-site for products. Will this also be applied to other
models? Things like offers, voucher, categories etc? Or is that to come
later?

​We'll certainly allow offers, vouchers, ranges and promotions to be available to individual sites.  Categories is potentially trickier as they are linked to the product and the product is the entity tied to sites.  I'd have to look deeper into that - has that come up as a requirement before? 




--
David Winterbottom

Tyler Tipton

unread,
May 16, 2013, 4:45:34 AM5/16/13
to django...@googlegroups.com, david.win...@tangentlabs.co.uk
Hi David,
A while back you posted a preliminary roadmap  (quoted below) that mentioned catalog management and improved support for variants as the focus for v0.6.  It looks like those improvements have been shelved for now?

The focus for v0.6 will be:
  • Catalogue management
  • Improved support for variant/group/secondary products (which is weak at the moment)
  • Better multisite support
  • Wishlists

Just my $.02, but I think variants should be a high priority issue since it is a relatively common scenario which is currently not handled very well in oscar, as you noted.  Also, it is difficult to improve the variant handling without forking the framework since it requires touching some of the core abstract models.  

I am currently working on a new B2C project for an established shoe manufacturer, where there are huge numbers of variants.  Many products come in up to 15 sizes for each gender, each with multiple colors and multiple widths.  As such, I have done a good deal of hacking away at oscar to make it more variant friendly.  My codebase has diverged quite far from oscar at this point but I would love to contribute back to the framework wherever it makes sense.

I suppose the tricky bit would be devising a method of handling variants efficiently while also maintaining compatibility with the current EAV paradigm.  I recall in another thread you mentioned you were going to give some thought to possibly allowing subclassing of the product model similar to satchless, did you ever come up with anything there?

BTW.. Thanks for all the great work you guys have done on oscar.  I chose to build around it despite the weak variant support due to the well thought out structure and general high quality/consistency of the code and tests, so thanks for sharing and kudos for a job well done =)

Regards,
Tyler

David Winterbottom

unread,
May 16, 2013, 6:24:36 AM5/16/13
to django-oscar
Tyler,

On 16 May 2013 09:45, Tyler Tipton <tyler....@gmail.com> wrote:
Hi David,
A while back you posted a preliminary roadmap  (quoted below) that mentioned catalog management and improved support for variants as the focus for v0.6.  It looks like those improvements have been shelved for now?

The focus for v0.6 will be:
  • Catalogue management
  • Improved support for variant/group/secondary products (which is weak at the moment)
  • Better multisite support
  • Wishlists

Just my $.02, but I think variants should be a high priority issue since it is a relatively common scenario which is currently not handled very well in oscar, as you noted.  Also, it is difficult to improve the variant handling without forking the framework since it requires touching some of the core abstract models.  

Apologies, that was an oversight on my part.  Improved support for variant products is definitely something for 0.6 too - I had just forgot to include it in my summary email.  There are already some improvements in master from the demo site work.  There are already a few tickets on the subject, but I've created a parent ticket to track the future work:
 

I am currently working on a new B2C project for an established shoe manufacturer, where there are huge numbers of variants.  Many products come in up to 15 sizes for each gender, each with multiple colors and multiple widths.  As such, I have done a good deal of hacking away at oscar to make it more variant friendly.  My codebase has diverged quite far from oscar at this point but I would love to contribute back to the framework wherever it makes sense.

​I'd certainly be interested in the changes you've made and any thoughts you have on how variants should be modelled.  I was thinking about adding a field to the product attribute model to indicate if it's a 'variant' field (ie something which the variants differ on like size or colour).  Then the parent product could define the non-variant attributes, and the child products could define their variant values.  That should provide enough information to build the kind of widgets you see on clothing sites.

Would that work for your case?​

 

I suppose the tricky bit would be devising a method of handling variants efficiently while also maintaining compatibility with the current EAV paradigm.  I recall in another thread you mentioned you were going to give some thought to possibly allowing subclassing of the product model similar to satchless, did you ever come up with anything there?

​It's still on the todo list sadly - I haven't got around to playing with model inheritance yet.​


BTW.. Thanks for all the great work you guys have done on oscar.  I chose to build around it despite the weak variant support due to the well thought out structure and general high quality/consistency of the code and tests, so thanks for sharing and kudos for a job well done =)

Thanks.

 
--
https://github.com/tangentlabs/django-oscar
---
You received this message because you are subscribed to the Google Groups "django-oscar" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-oscar...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-oscar?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages