Closed aaronjudd closed 8 years ago
+1 for Multi-tenancy... if you need help with this let me know. I was planning on building it out for my use case... I see you have done much consideration on this as have I. If you'ld like Aaron, I can discuss my plans and see how well they fit with your vision on this.
@markchipman multi-tenancy we support now with a private package. it was a bit of a stopgap, for the "alpha" release, and will need some updating before we can decide if it should made public, or provide an alternate approach. It's really the "marketplace" that requires the most thought/work in the core. Conceptually - it's just a matter of filtering content by shopId[s] in all the publications, but the administration, order workflow UX is a more complex and needs updating for marketplace/multi-vendor.
Love to hear any ideas, as we're beginning the discussion on a UI/UX refresh to clean up everything and tie everything together for the beta release (which also means that we're ok with some PRs even if the UI isn't fully finished right now).
@aaronjudd, will you release the private package anytime? I'd love to get support for multiple vendors myself. :+1:
Hi @aaronjudd,
I took a look at the changes you added here and compared them to the schema changes you added in the version 0.1.0. I have some questions if you could clear out some details: Regarding the shipping entry in the Cart collection, you changed it to be an array but the entries doesn't contain a shopId, how were you planning to identify which shipping entry is linked to which shop?
https://github.com/reactioncommerce/launchdock is the multi-tenancy application we are working on. I will be updating this issue soon, as it's still very much a work in progress.
We were discussing with @mikemurray some cart.shipping details. I have some suggestions for when the multi vendor is implemented. With the current cart.shipping schema you can't identify from which shop was the particular shippingMethod selected. I needed to add cart.shipping.$.shopId
to my schema in order to have different shipping selected for different shops participating in the same order. I didn't need the cart.shipping.$.items as you have in the order but not in the cart because using this shopId you can identify which items are considered for this shop.
Most pieces of this issue are now in place, and we should be rolling this out over the next couple releases.
I'm closing this issue, with the remaining issues for marketplace being:
Hi,
Since the docs reference this https://docs.reactioncommerce.com/reaction-docs/development/reaction-shops Reaction Core provides a single tenant shop.
would you please document how to setup a multi-tenant install? That is, allowing completely different businesses to have their own shops & domains, on a single server instance.
Thanks
@mariusa At the moment you can follow this using the marketplace
branch https://github.com/reactioncommerce/reaction-docs/blob/spencer-marketplace-docs/developer/tutorial/running-a-marketplace.md
This is not in the main (master) docs yet, because the multi-shop (marketplace) work is still in progress on the marketplace
branch.
Thanks Seun! To confirm, that looks like a marketplace, which is allow multiple vendors have different products and sell in a single shop.
We're looking for completely different shops, each with it's own looks/products/owner and domain. Multi tenant on the same install, instead of requiring an install/server for each shop. Is this being worked on? (would like to help)
Okay, I misread you earlier. I thought you were referring to marketplace - which I know we're working on right now.
Hi @mariusa
This idea, true multi-tenant, multi-domain, etc is on our roadmap right now as well. Our backend architecture supports this already though we currently don't have any examples of deployed shops with multiple domains. There's some work you'd have to do on the UI to support this use case, but we'd welcome any contributions towards that.
We've (@aaronjudd specifically) had this specific use case in mind from the beginning, so I'd love it if you could offer more details of what you require that we can start to build towards.
I'd imagine that a lot of the features we're working on towards supporting a multi-shop marketplace will also help with the multi-tenant/domain as well, so now is a good time to start working towards this.
Thanks Spencer, that's good news!
A great example is Shopify.com We'd like to have something similar, but for a specific niche. Customer A would register, and get a subdomainA.niche.com with a fully functional store. Customer B would get a different subdomain & store. Nothing between those stores is shared (just like separate reaction installs)
Hope this clarifies?
hello !!!! please i need your help. how can i do to implement muti-vendor marketplace using reaction commerce ???
Refactor Reaction so that can be used either for single shops or to run a marketplace.
This diagram is a view of the future as we see the ecosystem, and demonstrates the different implementation possibilities that we'd like to fully support (marketplace, single tenant, multi-tenant. Reaction-drive is being tested as a private project at this time.
Marketplace
Single Tenant
Multi Tenant
Network
Accounts
When the
OWNER
grants a GROUP ofusers
with JOIN.When a new user is created, it should be given a "USER" ROLE = SHOPID.
If USER has the JOIN role
TENANTS
can create a shop while at the top levelSHOP
TENANTS
becomeADMIN
of createdSHOP
.OWNER
hasADMIN
role for all TENANTS (need to define more on this role)The TENANT role should provides a set of PERMISSIONS (set by the REACTION admin).
Roles
,Groups
andPublications
should completely control view and edit rights.It's my opinion that the majority of the work for "marketplace" lies in correctly setting up the roles, and permissions throughout.
Statistics
If we could identify the common statistics needed, we could add transforms to the collections to update the analytics collection with a shop summary.