Hi,

Last weeks, I had to work on a web application using Tryton as backend.
For some reasons, I did not pick up nereid which did not fit the
requirements. So I went for a light Flask application which resulted
into flask_tryton [1]. This solution was fast and worked fine for my
needs.

But I had some backend needs that are quite generic for many web
applications. So I think we could try to define them to build generic
(web framework agnostic) modules for them. Is not Tryton about sharing
generic modules with large audience?

So I have already identified two of them for which I'm looking for your
comments (and I could publish a prototype).


- web_user

    The idea of this module is about having a common minimal web user
    definition/support. I think such user should be identify by just
    their E-mail and that the module should provide a password
    authentication. I also think having a way to validate user by
    verifying email address is also a common need.
    Such user could be linked with a Many2Many to parties to have the
    possibility to store identity information. I think M2M is the more
    flexible solution because it allow simple design like O2O or more
    complex design where you could have users that behave for the same
    company.
    The module should also provide an optional session mechanism where
    any web framework could be plugged on. The goal will be to have a
    shared via database session across multiple instance.

    FYI, nereid has a partial implementation of this model but with many
    extra features that are not always needed and also some limitation
    like the link to a company or to a single party etc.
    But with the generic user I describe, I think it could be used by
    nereid as basis model.

- web_shop_cart

    The idea of this module is about a generic simple webshop cart
    implementation. I think the minimal needed fields will be:

    Cart:
        - company
        - owner:
            just a char field to identify the user and so it could be
            the email of the user but we should avoid direct link
            because I think we should be allowed to use any
            authentication mechanism and so it could be not stored in
            Tryton.
        - currency: could be the default company one?
        - party: must be required for checkout
        - invoice_address
        - shipment_address
        - state: draft;checked-out
        - sale: a reference field to sale.sale or any other Model
        - checkout_method: define what should be generated (similar to
          the project_invoice design)

    Cart Line:
        - product
        - unit_price: could be tax included or excluded
        - quantity
        - unit
        - amount: Function field

    So as you see, I think it is important that the cart is agnostic to
    the tax included or excluded. It should be handle by the checkout
    method that will create the sale order correctly or a B2C sale order
    (as we talked at the TUB2013).

[1] https://code.google.com/p/flask-tryton/

Thanks,
-- 
Cédric Krier - B2CK SPRL
Email/Jabber: cedric.kr...@b2ck.com
Tel: +32 472 54 46 59
Website: http://www.b2ck.com/

Attachment: pgp0qSE00020d.pgp
Description: PGP signature

Reply via email to