hi all,
So I've looked at the multi tenant approach (delegators etc.) that have recently been added to ofbiz; good addition! Here's the challenge for me.... I will be setting up a Saas subscription model which will have a combination of trial based (i..e try before you buy) and periodic type subscriptions. This implies that I might have up to 20 users (per day) subscribing to a trial version of my Saas ofbiz impl (mostly accounting, orders, AR, AP, catalog) with a long term periodic subscription prediction of approx 1 per day. So the gist is I will end up with a lot of tenants in the medium term (500) that will join (and probably also periodically go dormant) going up to 1000's; so I am after a 'self service type operational model here (i.e. tenants should be able to register and join at will while they will all be using the same core functionality provided in the modules indicated above). So the key challenge is the operational aspect of the current multi tenant solution which seems to suggest (and I am clearly a novice here folks so pls correct me where I am wrong) that whenever a new tenant is added that there is a support / development /deployment exercise that needs to take place (i.e. compile additional delegators, https://cwiki.apache.org/OFBIZ/multitenancy-support.html seems to indicate "self-service"; is this the case given the high attrition rate (number of users that will join) I am anticipating? if not what would be a suggested approach so i can still have multiple tenant/db instances but that i can make the implementation self sufficient (i.e. not having to redeploy the app/ofbiz for every new tenant that comes along appreciating that the base tenant data for all tenant db instances would be the same) https://issues.apache.org/jira/browse/OFBIZ-3540 (interesting comments from Marc; is this perhaps relevant to what I am trying to do?) p.s. i appreciate there has been a lot of discussion on this topic so if the info i am after is already available then point me in the right direction thanks thanks again francois |
see thread:
subject: Re: One website, many stores - is it possible? the shows a way to use a single. though it addresses ecommerce it still works for you application. so unless part of your criteria is to have isolated data you could customize ofbiz per that thread. ========================= BJ Freeman <http://bjfreeman.elance.com> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=52> Specialtymarket.com <http://www.specialtymarket.com/> Systems Integrator-- Glad to Assist Chat Y! messenger: bjfr33man frank sent the following on 9/13/2010 4:44 PM: > > hi all, > > So I've looked at the multi tenant approach (delegators etc.) that have > recently been added to ofbiz; good addition! Here's the challenge for me.... > > I will be setting up a Saas subscription model which will have a combination > of trial based (i..e try before you buy) and periodic type subscriptions. > This implies that I might have up to 20 users (per day) subscribing to a > trial version of my Saas ofbiz impl (mostly accounting, orders, AR, AP, > catalog) with a long term periodic subscription prediction of approx 1 per > day. So the gist is I will end up with a lot of tenants in the medium term > (500) that will join (and probably also periodically go dormant) going up to > 1000's; so I am after a 'self service type operational model here (i.e. > tenants should be able to register and join at will while they will all be > using the same core functionality provided in the modules indicated above). > > So the key challenge is the operational aspect of the current multi tenant > solution which seems to suggest (and I am clearly a novice here folks so pls > correct me where I am wrong) that whenever a new tenant is added that there > is a support / development /deployment exercise that needs to take place > (i.e. compile additional delegators, > > https://cwiki.apache.org/OFBIZ/multitenancy-support.html seems to indicate > "self-service"; is this the case given the high attrition rate (number of > users that will join) I am anticipating? if not what would be a suggested > approach so i can still have multiple tenant/db instances but that i can > make the implementation self sufficient (i.e. not having to redeploy the > app/ofbiz for every new tenant that comes along appreciating that the base > tenant data for all tenant db instances would be the same) > > > https://issues.apache.org/jira/browse/OFBIZ-3540 (interesting comments from > Marc; is this perhaps relevant to what I am trying to do?) > p.s. i appreciate there has been a lot of discussion on this topic so if the > info i am after is already available then point me in the right direction > thanks > > thanks again > francois > > > |
Hi BJ,
Thanks for your response. So the relationship/requirement for each tenant is autonomous (i.e. a tenant will typically be a standalone company with a number of employees) in context of the functions and data (i.e. orders, invoices, accounts) they access/update/view and report on including tenant level branding (i.e. cosmetic look and feel, own company logo displayed on accounts/order/product applications, company specific report branding etc.). Do you think the separate Db approach might be better suited and if so your thoughts on implementing this in a self service manner (i.e. not having to compile software and/or apply development level config for new tenants) would be appreciated. Conversely if you think there is another way to achieve this? Thanks again frank |
my personal preference is multi tenant,
I wanted you to know your options as to approach. At this time the Setup component does not support SAS. Actually the Setup does not support more than one owner with a single db either. see https://localhost:8443/ofbizsetup/control/main https://issues.apache.org/jira/browse/OFBIZ-635 https://issues.apache.org/jira/browse/OFBIZ-3908 There is no way, SAS wise, to create and connect new db's on the fly. The easiest is to keep DB already created in the multi-tenant then assign them as clients come on the system. Depending on your setup a separate DB server machine or a farm of them may be in order. also some work needs to be done to incorporate themes into setup. or you can supply a mirad of "skins" (themes) they can select. this would not allow for a personal logo though. I suggest you use the host Ecommerce for sign up of SAS so it is totally automated. this would require some customization you can change the url and use an email to direct them so it does not get googled. frank sent the following on 9/13/2010 6:03 PM: > > Hi BJ, > > Thanks for your response. So the relationship/requirement for each tenant is > autonomous (i.e. a tenant will typically be a standalone company with a > number of employees) in context of the functions and data (i.e. orders, > invoices, accounts) they access/update/view and report on including tenant > level branding (i.e. cosmetic look and feel, own company logo displayed on > accounts/order/product applications, company specific report branding etc.). > Do you think the separate Db approach might be better suited and if so your > thoughts on implementing this in a self service manner (i.e. not having to > compile software and/or apply development level config for new tenants) > would be appreciated. Conversely if you think there is another way to > achieve this? > > Thanks again > frank > |
In reply to this post by frank
Hi Frank,
We did some work on OFbiz based SaaS solution (http://www.vplanetcommerce.com). Well, although OFBiz has the bare bone stuff, you will still need to create your own application to automate the process. There are many thing you will need to take care of e.g. creating DB on the fly, loading seed data for each DB, creating DNS entries and much more. Thanks, Raj On 14/09/10 06:33, frank wrote: > Hi BJ, > > Thanks for your response. So the relationship/requirement for each tenant is > autonomous (i.e. a tenant will typically be a standalone company with a > number of employees) in context of the functions and data (i.e. orders, > invoices, accounts) they access/update/view and report on including tenant > level branding (i.e. cosmetic look and feel, own company logo displayed on > accounts/order/product applications, company specific report branding etc.). > Do you think the separate Db approach might be better suited and if so your > thoughts on implementing this in a self service manner (i.e. not having to > compile software and/or apply development level config for new tenants) > would be appreciated. Conversely if you think there is another way to > achieve this? > > Thanks again > frank > > |
In reply to this post by frank
Hi BJ,
Thanks for fronting some alternatives. Closing the loop then on your initial suggestion (i.e. “One website, many stores - is it possible”). Assuming I take a critical path approach (in context of the features that I am after) to my implementation which could be limited to tenant level data separation only (i.e. excludes any cosmetic type areas such as logos and only involves tenants wanting to act, generate and report on their respective data aka invoicing appreciating ‘some’ tenant level configuration in context of taxation etc.) then would the “One website, many stores - is it possible?” approach provide the least impact to my particular problem? Or based on the additional info that I provided can I assume a multi DB approach would be the only way to go? Thanks again guys; much appreciated frank |
Critical path--
one website URL and least amount of Customization is multi-tenant. Manual setup of each client by you, so no setup by client; no individual themes (look and feel) or logos; and Adding to the Help Doc system would be the same for both. this is also assuming you have sufficient resources to provide the individual DB for Multi-tenant. Note there may still be coding based on usage to complete features. frank sent the following on 9/13/2010 9:54 PM: > > Hi BJ, > Thanks for fronting some alternatives. Closing the loop then on your initial > suggestion (i.e. “One website, many stores - is it possible”). Assuming I > take a critical path approach (in context of the features that I am after) > to my implementation which could be limited to tenant level data separation > only (i.e. excludes any cosmetic type areas such as logos and only involves > tenants wanting to act, generate and report on their respective data aka > invoicing appreciating ‘some’ tenant level configuration in context of > taxation etc.) then would the “One website, many stores - is it possible?” > approach provide the least impact to my particular problem? Or based on the > additional info that I provided can I assume a multi DB approach would be > the only way to go? > > > Thanks again guys; much appreciated > frank > |
Another, related question to the Multi-Tenant experts, please:
What databases are required? - I currently assume, a core DB plus one DB per tenant. Where does common seed data reside? Is sed data meant to be common at all, or would each database reflect a full-fletched OFBiz database and could be connected as a stand-alone DB as well? * I assume, seed data us on the common core DB, while running data reside in the tenants DBs. * Example: - AccountingTypeData.xml --> to be loaded once for all tenants; --> core DB - Running accounting data (transactions, finAccounts) --> tenant DB How to direct certain data to certain databases? - is there a built-in way by dedicated readers? Or do I need to take care that customer specific data files for upload are copied in/out before respective loads? Example: - I want to load a set of initial ProductData.xml per Tenant; I do follow a private naming convention like TenantnameProductData.xml --> How do I direct this initial data into the tenant's database and how do I avoid the it is loaded to the other tenant's? Ideas are: (i) edit ofbiz-component.xml before every load attempt; (ii) copy related Tenant files in and let the loads fail for non-existing files; (iii) define dedicated readers (e.g. "ext-tenantname") and limit tenant database to loads from that reader only. Let me know your comments. Regards Carsten |
https://cwiki.apache.org/OFBIZ/multitenancy-support.html
look in the current framework/entity/config/entityengine.xml for data bases. if you have special data for each tenant then you would configure the component-load.xml with : <entity-resource type="data" reader-name="ext-tenantname" loader="main" location="data/TenantnameProductData.xml"/> $ java -Xmx512m -XX:MaxPermSize=128m -jar ofbiz.jar -install -readers=ext-tenantname -delegator=default#(whatever the login is for that tenant) would load the special data for ext-tenantname into the db for that tenant. ========================= BJ Freeman <http://bjfreeman.elance.com> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=52> Specialtymarket.com <http://www.specialtymarket.com/> Systems Integrator-- Glad to Assist Chat Y! messenger: bjfr33man Carsten Schinzer sent the following on 9/14/2010 2:23 PM: > Another, related question to the Multi-Tenant experts, please: > > What databases are required? - I currently assume, a core DB plus one DB per > tenant. > > Where does common seed data reside? Is sed data meant to be common at all, > or would each database reflect a full-fletched OFBiz database and could be > connected as a stand-alone DB as well? > * I assume, seed data us on the common core DB, while running data reside in > the tenants DBs. * > Example: > - AccountingTypeData.xml --> to be loaded once for all tenants; --> core DB > - Running accounting data (transactions, finAccounts) --> tenant DB > > > How to direct certain data to certain databases? - is there a built-in way > by dedicated readers? Or do I need to take care that customer specific data > files for upload are copied in/out before respective loads? > Example: > - I want to load a set of initial ProductData.xml per Tenant; I do follow a > private naming convention like TenantnameProductData.xml > --> How do I direct this initial data into the tenant's database and how do > I avoid the it is loaded to the other tenant's? > Ideas are: > (i) edit ofbiz-component.xml before every load attempt; > (ii) copy related Tenant files in and let the loads fail for non-existing > files; > (iii) define dedicated readers (e.g. "ext-tenantname") and limit tenant > database to loads from that reader only. > > Let me know your comments. > Regards > > > Carsten > |
personally I make a component for each tenant
and put all there stuff in that. ========================= BJ Freeman <http://bjfreeman.elance.com> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=52> Specialtymarket.com <http://www.specialtymarket.com/> Systems Integrator-- Glad to Assist Chat Y! messenger: bjfr33man BJ Freeman sent the following on 9/14/2010 7:22 PM: > https://cwiki.apache.org/OFBIZ/multitenancy-support.html > look in the current framework/entity/config/entityengine.xml for data > bases. > > if you have special data for each tenant then you would configure the > component-load.xml with : > <entity-resource type="data" reader-name="ext-tenantname" loader="main" > location="data/TenantnameProductData.xml"/> > > > $ java -Xmx512m -XX:MaxPermSize=128m -jar ofbiz.jar -install > -readers=ext-tenantname -delegator=default#(whatever the login is for > that tenant) > would load the special data for ext-tenantname into the db for that tenant. > > ========================= > BJ Freeman <http://bjfreeman.elance.com> > Strategic Power Office with Supplier Automation > <http://www.businessesnetwork.com/automation/viewforum.php?f=52> > Specialtymarket.com <http://www.specialtymarket.com/> > Systems Integrator-- Glad to Assist > > Chat Y! messenger: bjfr33man > Carsten Schinzer sent the following on 9/14/2010 2:23 PM: > > >> Another, related question to the Multi-Tenant experts, please: >> >> What databases are required? - I currently assume, a core DB plus one >> DB per >> tenant. >> >> Where does common seed data reside? Is sed data meant to be common at >> all, >> or would each database reflect a full-fletched OFBiz database and >> could be >> connected as a stand-alone DB as well? >> * I assume, seed data us on the common core DB, while running data >> reside in >> the tenants DBs. * >> Example: >> - AccountingTypeData.xml --> to be loaded once for all tenants; --> >> core DB >> - Running accounting data (transactions, finAccounts) --> tenant DB >> >> >> How to direct certain data to certain databases? - is there a built-in >> way >> by dedicated readers? Or do I need to take care that customer specific >> data >> files for upload are copied in/out before respective loads? >> Example: >> - I want to load a set of initial ProductData.xml per Tenant; I do >> follow a >> private naming convention like TenantnameProductData.xml >> --> How do I direct this initial data into the tenant's database and >> how do >> I avoid the it is loaded to the other tenant's? >> Ideas are: >> (i) edit ofbiz-component.xml before every load attempt; >> (ii) copy related Tenant files in and let the loads fail for non-existing >> files; >> (iii) define dedicated readers (e.g. "ext-tenantname") and limit tenant >> database to loads from that reader only. >> >> Let me know your comments. >> Regards >> >> >> Carsten >> > |
Thanks so much, BJ.
You are absolutely right, the latter should avoid any conflicts on the specialpurpose/ecommerce side. I think I'[ll just give it a try now and start fuzzing around on a test setup. Regards Carsten 2010/9/15 BJ Freeman <[hidden email]> > personally I make a component for each tenant > and put all there stuff in that. > > > ========================= > BJ Freeman <http://bjfreeman.elance.com> > Strategic Power Office with Supplier Automation < > http://www.businessesnetwork.com/automation/viewforum.php?f=52> > Specialtymarket.com <http://www.specialtymarket.com/> > Systems Integrator-- Glad to Assist > > Chat Y! messenger: bjfr33man > > > BJ Freeman sent the following on 9/14/2010 7:22 PM: > > https://cwiki.apache.org/OFBIZ/multitenancy-support.html >> look in the current framework/entity/config/entityengine.xml for data >> bases. >> >> if you have special data for each tenant then you would configure the >> component-load.xml with : >> <entity-resource type="data" reader-name="ext-tenantname" loader="main" >> location="data/TenantnameProductData.xml"/> >> >> >> $ java -Xmx512m -XX:MaxPermSize=128m -jar ofbiz.jar -install >> -readers=ext-tenantname -delegator=default#(whatever the login is for >> that tenant) >> would load the special data for ext-tenantname into the db for that >> tenant. >> >> ========================= >> BJ Freeman <http://bjfreeman.elance.com> >> Strategic Power Office with Supplier Automation >> <http://www.businessesnetwork.com/automation/viewforum.php?f=52> >> Specialtymarket.com <http://www.specialtymarket.com/> >> Systems Integrator-- Glad to Assist >> >> Chat Y! messenger: bjfr33man >> Carsten Schinzer sent the following on 9/14/2010 2:23 PM: >> >> >> Another, related question to the Multi-Tenant experts, please: >>> >>> What databases are required? - I currently assume, a core DB plus one >>> DB per >>> tenant. >>> >>> Where does common seed data reside? Is sed data meant to be common at >>> all, >>> or would each database reflect a full-fletched OFBiz database and >>> could be >>> connected as a stand-alone DB as well? >>> * I assume, seed data us on the common core DB, while running data >>> reside in >>> the tenants DBs. * >>> Example: >>> - AccountingTypeData.xml --> to be loaded once for all tenants; --> >>> core DB >>> - Running accounting data (transactions, finAccounts) --> tenant DB >>> >>> >>> How to direct certain data to certain databases? - is there a built-in >>> way >>> by dedicated readers? Or do I need to take care that customer specific >>> data >>> files for upload are copied in/out before respective loads? >>> Example: >>> - I want to load a set of initial ProductData.xml per Tenant; I do >>> follow a >>> private naming convention like TenantnameProductData.xml >>> --> How do I direct this initial data into the tenant's database and >>> how do >>> I avoid the it is loaded to the other tenant's? >>> Ideas are: >>> (i) edit ofbiz-component.xml before every load attempt; >>> (ii) copy related Tenant files in and let the loads fail for non-existing >>> files; >>> (iii) define dedicated readers (e.g. "ext-tenantname") and limit tenant >>> database to loads from that reader only. >>> >>> Let me know your comments. >>> Regards >>> >>> >>> Carsten >>> >>> >> > -- Best Carsten Schinzer Waisenhausstr. 53a 80637 München Germany |
I also use it to add their db to the TenantDataSouces, albeit it is
loaded through the webtools. I also keep a copy of their theme. keeps everything for a tenant in one place. I am working on a couple of major changes that I sent to the dev mailing list but have not had any discussion on. subject: Step to automate Setup for entityengine.xml using derby for setup controller on 8/27 also see discussion on https://issues.apache.org/jira/browse/OFBIZ-635 https://issues.apache.org/jira/browse/OFBIZ-3908 ========================= BJ Freeman <http://bjfreeman.elance.com> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=52> Specialtymarket.com <http://www.specialtymarket.com/> Systems Integrator-- Glad to Assist Chat Y! messenger: bjfr33man Carsten Schinzer sent the following on 9/15/2010 5:05 AM: > Thanks so much, BJ. > You are absolutely right, the latter should avoid any conflicts on the > specialpurpose/ecommerce side. > > I think I'[ll just give it a try now and start fuzzing around on a test > setup. > > Regards > > > Carsten > > 2010/9/15 BJ Freeman<[hidden email]> > >> personally I make a component for each tenant >> and put all there stuff in that. >> >> >> ========================= >> BJ Freeman<http://bjfreeman.elance.com> >> Strategic Power Office with Supplier Automation< >> http://www.businessesnetwork.com/automation/viewforum.php?f=52> >> Specialtymarket.com<http://www.specialtymarket.com/> >> Systems Integrator-- Glad to Assist >> >> Chat Y! messenger: bjfr33man >> >> >> BJ Freeman sent the following on 9/14/2010 7:22 PM: >> >> https://cwiki.apache.org/OFBIZ/multitenancy-support.html >>> look in the current framework/entity/config/entityengine.xml for data >>> bases. >>> >>> if you have special data for each tenant then you would configure the >>> component-load.xml with : >>> <entity-resource type="data" reader-name="ext-tenantname" loader="main" >>> location="data/TenantnameProductData.xml"/> >>> >>> >>> $ java -Xmx512m -XX:MaxPermSize=128m -jar ofbiz.jar -install >>> -readers=ext-tenantname -delegator=default#(whatever the login is for >>> that tenant) >>> would load the special data for ext-tenantname into the db for that >>> tenant. >>> >>> ========================= >>> BJ Freeman<http://bjfreeman.elance.com> >>> Strategic Power Office with Supplier Automation >>> <http://www.businessesnetwork.com/automation/viewforum.php?f=52> >>> Specialtymarket.com<http://www.specialtymarket.com/> >>> Systems Integrator-- Glad to Assist >>> >>> Chat Y! messenger: bjfr33man >>> Carsten Schinzer sent the following on 9/14/2010 2:23 PM: >>> >>> >>> Another, related question to the Multi-Tenant experts, please: >>>> >>>> What databases are required? - I currently assume, a core DB plus one >>>> DB per >>>> tenant. >>>> >>>> Where does common seed data reside? Is sed data meant to be common at >>>> all, >>>> or would each database reflect a full-fletched OFBiz database and >>>> could be >>>> connected as a stand-alone DB as well? >>>> * I assume, seed data us on the common core DB, while running data >>>> reside in >>>> the tenants DBs. * >>>> Example: >>>> - AccountingTypeData.xml --> to be loaded once for all tenants; --> >>>> core DB >>>> - Running accounting data (transactions, finAccounts) --> tenant DB >>>> >>>> >>>> How to direct certain data to certain databases? - is there a built-in >>>> way >>>> by dedicated readers? Or do I need to take care that customer specific >>>> data >>>> files for upload are copied in/out before respective loads? >>>> Example: >>>> - I want to load a set of initial ProductData.xml per Tenant; I do >>>> follow a >>>> private naming convention like TenantnameProductData.xml >>>> --> How do I direct this initial data into the tenant's database and >>>> how do >>>> I avoid the it is loaded to the other tenant's? >>>> Ideas are: >>>> (i) edit ofbiz-component.xml before every load attempt; >>>> (ii) copy related Tenant files in and let the loads fail for non-existing >>>> files; >>>> (iii) define dedicated readers (e.g. "ext-tenantname") and limit tenant >>>> database to loads from that reader only. >>>> >>>> Let me know your comments. >>>> Regards >>>> >>>> >>>> Carsten >>>> >>>> >>> >> > > |
In reply to this post by BJ Freeman
Hi BJ,
I am also looking at multi tennant. Could you provide an overview (or some example data) of the essential elements of what you create in the component for each tennant? Regards, Pierre 2010/9/15 BJ Freeman <[hidden email]> > personally I make a component for each tenant > and put all there stuff in that. > > > ========================= > BJ Freeman <http://bjfreeman.elance.com> > Strategic Power Office with Supplier Automation < > http://www.businessesnetwork.com/automation/viewforum.php?f=52> > Specialtymarket.com <http://www.specialtymarket.com/> > Systems Integrator-- Glad to Assist > > Chat Y! messenger: bjfr33man > > > BJ Freeman sent the following on 9/14/2010 7:22 PM: > > https://cwiki.apache.org/OFBIZ/multitenancy-support.html >> look in the current framework/entity/config/entityengine.xml for data >> bases. >> >> if you have special data for each tenant then you would configure the >> component-load.xml with : >> <entity-resource type="data" reader-name="ext-tenantname" loader="main" >> location="data/TenantnameProductData.xml"/> >> >> >> $ java -Xmx512m -XX:MaxPermSize=128m -jar ofbiz.jar -install >> -readers=ext-tenantname -delegator=default#(whatever the login is for >> that tenant) >> would load the special data for ext-tenantname into the db for that >> tenant. >> >> ========================= >> BJ Freeman <http://bjfreeman.elance.com> >> Strategic Power Office with Supplier Automation >> <http://www.businessesnetwork.com/automation/viewforum.php?f=52> >> Specialtymarket.com <http://www.specialtymarket.com/> >> Systems Integrator-- Glad to Assist >> >> Chat Y! messenger: bjfr33man >> Carsten Schinzer sent the following on 9/14/2010 2:23 PM: >> >> >> Another, related question to the Multi-Tenant experts, please: >>> >>> What databases are required? - I currently assume, a core DB plus one >>> DB per >>> tenant. >>> >>> Where does common seed data reside? Is sed data meant to be common at >>> all, >>> or would each database reflect a full-fletched OFBiz database and >>> could be >>> connected as a stand-alone DB as well? >>> * I assume, seed data us on the common core DB, while running data >>> reside in >>> the tenants DBs. * >>> Example: >>> - AccountingTypeData.xml --> to be loaded once for all tenants; --> >>> core DB >>> - Running accounting data (transactions, finAccounts) --> tenant DB >>> >>> >>> How to direct certain data to certain databases? - is there a built-in >>> way >>> by dedicated readers? Or do I need to take care that customer specific >>> data >>> files for upload are copied in/out before respective loads? >>> Example: >>> - I want to load a set of initial ProductData.xml per Tenant; I do >>> follow a >>> private naming convention like TenantnameProductData.xml >>> --> How do I direct this initial data into the tenant's database and >>> how do >>> I avoid the it is loaded to the other tenant's? >>> Ideas are: >>> (i) edit ofbiz-component.xml before every load attempt; >>> (ii) copy related Tenant files in and let the loads fail for non-existing >>> files; >>> (iii) define dedicated readers (e.g. "ext-tenantname") and limit tenant >>> database to loads from that reader only. >>> >>> Let me know your comments. >>> Regards >>> >>> >>> Carsten >>> >>> >> > |
hate to give you a generic answer but a detailed one would take to long.
it depends on the type of tenant system you have. also I am working on a setup scheme that this is dealt with in the setup (application/commonext) component based on the Business plan of the tenant. https://issues.apache.org/jira/browse/OFBIZ-635 as pointed out in the https://cwiki.apache.org/OFBIZ/multitenancy-support.html you can't start and stop the instance just to add a new tenant. so adding a new db to the TenantDataSouces then initializing it, is a pain. currently I do this with a script that reads the tenant component and loads the data using the Webtools import file, then perform the db initialization then the dataload of the DB. I am still adding to it. the script is in the component for that tenant but depends on the setup component scripts mentioned above. the other part is defining what of the base (application) components seed data is loaded and what is load from the tenants component on the ecommerce side they select if they want a fully automated (they use setup) or if they want a pre-defined, where they are talk to by the host staff and they do the configuring. the only common data is the data for TenantDataSouces and the loginID and password. This login is setup for them having to give a new password. Pierre Smits sent the following on 9/15/2010 5:38 AM: > Hi BJ, > > I am also looking at multi tennant. > > Could you provide an overview (or some example data) of the essential > elements of what you create in the component for each tennant? > > Regards, > > Pierre > > 2010/9/15 BJ Freeman<[hidden email]> > >> personally I make a component for each tenant >> and put all there stuff in that. >> >> >> ========================= >> BJ Freeman<http://bjfreeman.elance.com> >> Strategic Power Office with Supplier Automation< >> http://www.businessesnetwork.com/automation/viewforum.php?f=52> >> Specialtymarket.com<http://www.specialtymarket.com/> >> Systems Integrator-- Glad to Assist >> >> Chat Y! messenger: bjfr33man >> >> >> BJ Freeman sent the following on 9/14/2010 7:22 PM: >> >> https://cwiki.apache.org/OFBIZ/multitenancy-support.html >>> look in the current framework/entity/config/entityengine.xml for data >>> bases. >>> >>> if you have special data for each tenant then you would configure the >>> component-load.xml with : >>> <entity-resource type="data" reader-name="ext-tenantname" loader="main" >>> location="data/TenantnameProductData.xml"/> >>> >>> >>> $ java -Xmx512m -XX:MaxPermSize=128m -jar ofbiz.jar -install >>> -readers=ext-tenantname -delegator=default#(whatever the login is for >>> that tenant) >>> would load the special data for ext-tenantname into the db for that >>> tenant. >>> >>> ========================= >>> BJ Freeman<http://bjfreeman.elance.com> >>> Strategic Power Office with Supplier Automation >>> <http://www.businessesnetwork.com/automation/viewforum.php?f=52> >>> Specialtymarket.com<http://www.specialtymarket.com/> >>> Systems Integrator-- Glad to Assist >>> >>> Chat Y! messenger: bjfr33man >>> Carsten Schinzer sent the following on 9/14/2010 2:23 PM: >>> >>> >>> Another, related question to the Multi-Tenant experts, please: >>>> >>>> What databases are required? - I currently assume, a core DB plus one >>>> DB per >>>> tenant. >>>> >>>> Where does common seed data reside? Is sed data meant to be common at >>>> all, >>>> or would each database reflect a full-fletched OFBiz database and >>>> could be >>>> connected as a stand-alone DB as well? >>>> * I assume, seed data us on the common core DB, while running data >>>> reside in >>>> the tenants DBs. * >>>> Example: >>>> - AccountingTypeData.xml --> to be loaded once for all tenants; --> >>>> core DB >>>> - Running accounting data (transactions, finAccounts) --> tenant DB >>>> >>>> >>>> How to direct certain data to certain databases? - is there a built-in >>>> way >>>> by dedicated readers? Or do I need to take care that customer specific >>>> data >>>> files for upload are copied in/out before respective loads? >>>> Example: >>>> - I want to load a set of initial ProductData.xml per Tenant; I do >>>> follow a >>>> private naming convention like TenantnameProductData.xml >>>> --> How do I direct this initial data into the tenant's database and >>>> how do >>>> I avoid the it is loaded to the other tenant's? >>>> Ideas are: >>>> (i) edit ofbiz-component.xml before every load attempt; >>>> (ii) copy related Tenant files in and let the loads fail for non-existing >>>> files; >>>> (iii) define dedicated readers (e.g. "ext-tenantname") and limit tenant >>>> database to loads from that reader only. >>>> >>>> Let me know your comments. >>>> Regards >>>> >>>> >>>> Carsten >>>> >>>> >>> >> > |
Free forum by Nabble | Edit this page |