This link to the book might help: http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer?search=multi-tenant
-Jim On Tuesday, October 13, 2015 at 7:03:53 AM UTC-5, Jean-François Milants wrote: > > Hi, > > I'm currently building a web-application based on web2py, and I would like > some insights and advices about its architecture. > Please, if this forum is not the good place to ask this kind of question, > just tell me. And if you could point me to some resources/communities that > could help me, I would be grateful! > > Basically, my application will provide services to employees from company. > Each employees from each company will have an account, and there will be > different levels of accounts ('simple employee', coordinator, > administrative staff,...). > I want the employees to be able to access (read/write according to its > level account) only to the data of the company he belongs to, not from the > other. For example, employee 1 from company A cannot see the profile from > employee 10 from company B. > There won't be any link between users from different companies. > > But now, I'm thinking about the global architecture of the application. > Here are some ideas: > * 1 application with 1 DB : the DB contains everything, and the > application must enforce the isolation of the employees in their own > company. I think this is possible with Auth, and groups, memberships and > permissions. > * 1 application with multiple DB : 1 new DB is created for each company. > But I don't know if one instance of web2py can handle multiple DB. > * 1 instance of the application and 1 DB for each company: All the data > from the companies are isolated from each other by design. This kind of > architecture seems to perfectly fit Docker : one container per instance of > the application. > > I think that these 3 architectures are possible and all of them have their > own pros and cons. The first one is the first one I've thought about, it > seems to be the most instinctive one. The last one is more isolated and > more scalable, but I'm new to this kind of architecture. > And you'll certainly think about other possibilities. > Now, how do I choose the best architecture? Should I target first the > speed of development of the first version of my application? Or should I > think about the scalability as soon as possible? Other concerns? Is there > an architecture that would fit better with web2py than another one? > > I don't want you to tell me which on to choose (it'll certainly depend on > the number of users/companies, the load of the server, the size of the > data,...) but can you give me some advices, ideas, thoughts based on your > own experience in web-developpment? Or some link to online resources, > books,... > > Thanks a lot for your help! > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.