Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Jonathan L Folland 27 posts 159 karma points
    Sep 14, 2015 @ 17:49
    Jonathan L Folland
    0

    Merchello Multi-Tenant

    I am considering modifying Merchello to support multi-tenant. Before I head off and do this, I wanted to broach the subject of incorporating the code into the Merchello code base. My reasoning is that I would want to partake in the code updates of other users to other functionality.

    To modify Merchello to support multi-tenant, I see two options:

    1. Add an integer value StoreId to all tables and code. (Preferred as there would not be the need to do cross database queries to relate content pages to Merchello content)
    2. Use separate databases per store, use context to switch connection string.

    Both of these would require the following: 1. Add a bool config for multi-tenant to top level node behavior. 2. Inject Store Node Layer at top level of Merchello when multi-tenant is enabled. 3. Set store context when both editing and reading. 4. Allow sites to be associated to a store. A site could sell products from only one stores. A store could be used in one or more sites. 5. Modify Examine Indexes to create one index per store. 6. Modify Merchello use of Membership to create an adaptor. Umbraco Membership does not support true multi-tenant, therefore needs to be able to use a different membership provider.

    I am confident that I can do this without negatively impacting other projects. Before I head down this road, however, I would like some feedback that it would likely be included in the code base if the code meets a reasonable quality level.

    Please let me know what thoughts there are on this.

    Thank you, Jonathan

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Sep 14, 2015 @ 19:10
    Rusty Swayne
    0

    Hey Jonathan,

    I like the approach of having a store context - this will make things easier in the back office but there are going to be some challenges (like controller which Umbraco users have access to which stores, etc.).

    I also think it would be better to keep everything in the same database and use a GUID identifier rather than an int value so that we have an easier time getting the thing running on UaaS (mapping int values between environments) will be tricky.

    I'd be happy to coordinate with you and work out issues when they pop up. Something on this magnitude will likely have quite a few breaking changes so we would wind up rolling it out as a major version . Ping me on twitter and we can setup a time to chat / coordinate.

Please Sign in or register to post replies

Write your reply to:

Draft