Quantcast

Support for multi-tenant in grails 1.3.1

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Support for multi-tenant in grails 1.3.1

bkane
Hi there,

I'm working through a fairly straightforward grails app and came across the multi-tenant plugin which fills in the final piece of the puzzle.  For what we are doing it should be just what we need.  However, we built the app in grails 1.3.1 and I'm trying to follow the excellent instructions from this page:

http://ridingthetiger.wikia.com/wiki/Creating_a_Secure,_Multi-Tenant_Web_App_with_Grails 

When I install all the plugin dependencies I am unable to start my application.  The error is below, and is likely caused by the fact that grails 1.3.1 has a newer version of ehcache.  I'm hesitant to start monkeying around with older versions of ehcache, and would rather not downgrade to grails 1.2.2.

Has anyone run into this before?

Thanks in advance for any assistance, it is greatly appreciated!

Brandon

Running Grails application..
loading security config ...
2010-06-30 02:35:05,342 [main] ERROR context.GrailsContextLoader  - Error executing bootstraps: Error creating bean with name 'basicProcessingFilter': Cannot resolve reference to bean 'authenticationManager' while setting bean property 'authenticationManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationManager': Cannot resolve reference to bean 'daoAuthenticationProvider' while setting bean property 'providers' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoAuthenticationProvider': Cannot resolve reference to bean 'userCache' while setting bean property 'userCache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userCache': Cannot resolve reference to bean 'securityUserCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityUserCache': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'basicProcessingFilter': Cannot resolve reference to bean 'authenticationManager' while setting bean property 'authenticationManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationManager': Cannot resolve reference to bean 'daoAuthenticationProvider' while setting bean property 'providers' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoAuthenticationProvider': Cannot resolve reference to bean 'userCache' while setting bean property 'userCache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userCache': Cannot resolve reference to bean 'securityUserCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityUserCache': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
        at org.grails.tomcat.TomcatServer.start(TomcatServer.groovy:164)
        at grails.web.container.EmbeddableServer$start.call(Unknown Source)
        at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy:159)
        at _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy)
        at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:282)
        at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy)
        at _GrailsRun_groovy$_run_closure5.doCall(_GrailsRun_groovy:150)
        at _GrailsRun_groovy$_run_closure5.call(_GrailsRun_groovy)
        at _GrailsRun_groovy.runInline(_GrailsRun_groovy:116)
        at _GrailsRun_groovy.this$4$runInline(_GrailsRun_groovy)
        at _GrailsRun_groovy$_run_closure1.doCall(_GrailsRun_groovy:59)
        at RunApp$_run_closure1.doCall(RunApp.groovy:33)
        at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)
        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)
        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)
        at gant.Gant.withBuildListeners(Gant.groovy:427)
        at gant.Gant.this$2$withBuildListeners(Gant.groovy)
        at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
        at gant.Gant.dispatch(Gant.groovy:415)
        at gant.Gant.this$2$dispatch(Gant.groovy)
        at gant.Gant.invokeMethod(Gant.groovy)
        at gant.Gant.executeTargets(Gant.groovy:590)
        at gant.Gant.executeTargets(Gant.groovy:589)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationManager': Cannot resolve reference to bean 'daoAuthenticationProvider' while setting bean property 'providers' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoAuthenticationProvider': Cannot resolve reference to bean 'userCache' while setting bean property 'userCache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userCache': Cannot resolve reference to bean 'securityUserCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityUserCache': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
        ... 23 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoAuthenticationProvider': Cannot resolve reference to bean 'userCache' while setting bean property 'userCache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userCache': Cannot resolve reference to bean 'securityUserCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityUserCache': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
        ... 23 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userCache': Cannot resolve reference to bean 'securityUserCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityUserCache': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
        ... 23 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityUserCache': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
        ... 23 more
Caused by: java.lang.NoSuchMethodError: net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
        ... 23 more
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

scryan
I am in the midst of upgrading the plugin to support 1.3 but having many issues as much has changed in that version and there are still lurking bugs that i am dealing with in the 1.3.x version.  We are using the plugin in 1.2.3 under the unique database per client model and having great luck.  I expect to have the upgrade complete in the next few weeks as I have a vacation scheduled in there as well.  It is key that I get the upgrade done soon for our needs.  We have written extensions to support ehache in that mode as well and are having issues with the new version of hibernate/ehcache which is very unique and causing us some issues.  

I am more than happy to work with you in solving your issues.  We have over a 1000 clients on our application base so it is key we solve this issue.  It was just a huge change for both grails and hibernate that has us reworking so much of the code and trying to make as few changes as possible.  

I am sorry it has taken us so long but the first releases of 1.3 were very unstable for us and we are just getting back to looking at it.
 
I know the original author of the plugin tracks this mailing list so he may have some ideas as well.  

What mode of the multi tenant plugin are you looking at?   Feel free to interact with me as I work on the conversion.


Scott Ryan


On Jul 4, 2010, at 6:53 PM, bkane wrote:

>
> Hi there,
>
> I'm working through a fairly straightforward grails app and came across the
> multi-tenant plugin which fills in the final piece of the puzzle.  For what
> we are doing it should be just what we need.  However, we built the app in
> grails 1.3.1 and I'm trying to follow the excellent instructions from this
> page:
>
> http://ridingthetiger.wikia.com/wiki/Creating_a_Secure,_Multi-Tenant_Web_App_with_Grails 
>
> When I install all the plugin dependencies I am unable to start my
> application.  The error is below, and is likely caused by the fact that
> grails 1.3.1 has a newer version of ehcache.  I'm hesitant to start
> monkeying around with older versions of ehcache, and would rather not
> downgrade to grails 1.2.2.
>
> Has anyone run into this before?
>
> Thanks in advance for any assistance, it is greatly appreciated!
>
> Brandon
>
> Running Grails application..
> loading security config ...
> 2010-06-30 02:35:05,342 [main] ERROR context.GrailsContextLoader  - Error
> executing bootstraps: Error creating bean with name 'basicProcessingFilter':
> Cannot resolve reference to bean 'authenticationManager' while setting bean
> property 'authenticationManager'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'authenticationManager': Cannot resolve reference to bean
> 'daoAuthenticationProvider' while setting bean property 'providers' with key
> [0]; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'daoAuthenticationProvider': Cannot resolve reference to bean
> 'userCache' while setting bean property 'userCache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'userCache': Cannot resolve reference to bean 'securityUserCache'
> while setting bean property 'cache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'securityUserCache': Invocation of init method failed; nested
> exception is java.lang.NoSuchMethodError:
> net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'basicProcessingFilter': Cannot resolve reference to bean
> 'authenticationManager' while setting bean property 'authenticationManager';
> nested exception is org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name 'authenticationManager': Cannot resolve
> reference to bean 'daoAuthenticationProvider' while setting bean property
> 'providers' with key [0]; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'daoAuthenticationProvider': Cannot resolve reference to bean
> 'userCache' while setting bean property 'userCache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'userCache': Cannot resolve reference to bean 'securityUserCache'
> while setting bean property 'cache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'securityUserCache': Invocation of init method failed; nested
> exception is java.lang.NoSuchMethodError:
> net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
>        at org.grails.tomcat.TomcatServer.start(TomcatServer.groovy:164)
>        at grails.web.container.EmbeddableServer$start.call(Unknown Source)
>        at
> _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy:159)
>        at
> _GrailsRun_groovy$_run_closure5_closure12.doCall(_GrailsRun_groovy)
>        at
> _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:282)
>        at
> _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy)
>        at _GrailsRun_groovy$_run_closure5.doCall(_GrailsRun_groovy:150)
>        at _GrailsRun_groovy$_run_closure5.call(_GrailsRun_groovy)
>        at _GrailsRun_groovy.runInline(_GrailsRun_groovy:116)
>        at _GrailsRun_groovy.this$4$runInline(_GrailsRun_groovy)
>        at _GrailsRun_groovy$_run_closure1.doCall(_GrailsRun_groovy:59)
>        at RunApp$_run_closure1.doCall(RunApp.groovy:33)
>        at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)
>        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)
>        at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)
>        at gant.Gant.withBuildListeners(Gant.groovy:427)
>        at gant.Gant.this$2$withBuildListeners(Gant.groovy)
>        at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
>        at gant.Gant.dispatch(Gant.groovy:415)
>        at gant.Gant.this$2$dispatch(Gant.groovy)
>        at gant.Gant.invokeMethod(Gant.groovy)
>        at gant.Gant.executeTargets(Gant.groovy:590)
>        at gant.Gant.executeTargets(Gant.groovy:589)
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'authenticationManager': Cannot resolve reference to
> bean 'daoAuthenticationProvider' while setting bean property 'providers'
> with key [0]; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'daoAuthenticationProvider': Cannot resolve reference to bean
> 'userCache' while setting bean property 'userCache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'userCache': Cannot resolve reference to bean 'securityUserCache'
> while setting bean property 'cache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'securityUserCache': Invocation of init method failed; nested
> exception is java.lang.NoSuchMethodError:
> net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
>        ... 23 more
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'daoAuthenticationProvider': Cannot resolve
> reference to bean 'userCache' while setting bean property 'userCache';
> nested exception is org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name 'userCache': Cannot resolve reference to bean
> 'securityUserCache' while setting bean property 'cache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'securityUserCache': Invocation of init method failed; nested
> exception is java.lang.NoSuchMethodError:
> net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
>        ... 23 more
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'userCache': Cannot resolve reference to bean
> 'securityUserCache' while setting bean property 'cache'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'securityUserCache': Invocation of init method failed; nested
> exception is java.lang.NoSuchMethodError:
> net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
>        ... 23 more
> Caused by: org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name 'securityUserCache': Invocation of init method
> failed; nested exception is java.lang.NoSuchMethodError:
> net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
>        ... 23 more
> Caused by: java.lang.NoSuchMethodError:
> net.sf.ehcache.Cache.<init>(Ljava/lang/String;ILnet/sf/ehcache/store/MemoryStoreEvictionPolicy;ZLjava/lang/String;ZJJZJLnet/sf/ehcache/event/RegisteredEventListeners;Lnet/sf/ehcache/bootstrap/BootstrapCacheLoader;II)V
>        ... 23 more
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2277982.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

bkane
Hi Scott,

See more replies below, glad to know someone is on this.  I don't have a lot of time or expertise with hibernate to help you with the dev efforts, but I'm happy to test out new builds as they become available and report any issues back to those working on it.  

Brandon

Scott Ryan-3 wrote
I am sorry it has taken us so long but the first releases of 1.3 were very unstable for us and we are just getting back to looking at it.
No need to apologize!  Thanks for replying and letting me know where things are at.

Scott Ryan-3 wrote
What mode of the multi tenant plugin are you looking at?   Feel free to interact with me as I work on the conversion.
We are planning to use the multiple tenants in a single database mode.  It is a small app with relatively low data volumes and for us this will be a lot easier to manage than a database for each tenant.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

scryan
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.  
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

omadruga
I also use single database mode on grails 1.3.2, with EhCache for hibernate 2nd level instead of OsCache.

I updated multi-tenant source, ripping off OSCacheProvider and removing the dependency of oscache on BuildConfig.groovy (along with tenantId fix from the same site)
Also removed the dependency o webflow, but as I don't need webflow, I didn't tested.
Also updated both plugins to grails 1.3.2

Then I repacked the plugin, installed, and everything works fine.

Scott, how do you feel about moving the source to github?
Makes far more easier for ppl to help maintaining such great plugin.

Regards,
Gustavo Madruga


2010/7/5 Scott Ryan <[hidden email]>
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

scryan
I could move the plugin to github but not sure how that helps get more people to support it with me.   It is pretty simple to get added to the team and support it as  it sits.  I appreciate your help in updating for 1.3.3 but removing oscache support and webflow support and the tenant id fixes seems to be a little counter productive for supporting a community plugin.    Those pieces are required to make the plugin function in all modes which is what our applications require.  I hope to finish the complete upgrade in the next week or so.

Scott Ryan


On Jul 5, 2010, at 1:42 PM, Gustavo Madruga wrote:

I also use single database mode on grails 1.3.2, with EhCache for hibernate 2nd level instead of OsCache.

I updated multi-tenant source, ripping off OSCacheProvider and removing the dependency of oscache on BuildConfig.groovy (along with tenantId fix from the same site)
Also removed the dependency o webflow, but as I don't need webflow, I didn't tested.
Also updated both plugins to grails 1.3.2

Then I repacked the plugin, installed, and everything works fine.

Scott, how do you feel about moving the source to github?
Makes far more easier for ppl to help maintaining such great plugin.

Regards,
Gustavo Madruga


2010/7/5 Scott Ryan <[hidden email]>
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

omadruga
I totally agree with you about oscache, webflow, etc, I just did a nasty hack to make it work on grails 1.3.x.

About github I'm towards to it, as I would use in our current scenario. In my fork I would fix the tenant id issue and rip off oscache stuff, then issue a pull request for you with the tenant id fix (but not the oscache stuff).
Another fact is that as I'm not the maintainer, nor have deeply knowledge about the plugin internals, I don't feel comfortable to make a commit on svn. Playing with my own version and just issuing pull requests is safer.

Someone already created a multi-tenant project at github, probably more one that would help, I think...

Regards,
Gustavo Madruga


2010/7/7 Scott Ryan <[hidden email]>
I could move the plugin to github but not sure how that helps get more people to support it with me.   It is pretty simple to get added to the team and support it as  it sits.  I appreciate your help in updating for 1.3.3 but removing oscache support and webflow support and the tenant id fixes seems to be a little counter productive for supporting a community plugin.    Those pieces are required to make the plugin function in all modes which is what our applications require.  I hope to finish the complete upgrade in the next week or so.

Scott Ryan


On Jul 5, 2010, at 1:42 PM, Gustavo Madruga wrote:

I also use single database mode on grails 1.3.2, with EhCache for hibernate 2nd level instead of OsCache.

I updated multi-tenant source, ripping off OSCacheProvider and removing the dependency of oscache on BuildConfig.groovy (along with tenantId fix from the same site)
Also removed the dependency o webflow, but as I don't need webflow, I didn't tested.
Also updated both plugins to grails 1.3.2

Then I repacked the plugin, installed, and everything works fine.

Scott, how do you feel about moving the source to github?
Makes far more easier for ppl to help maintaining such great plugin.

Regards,
Gustavo Madruga


2010/7/5 Scott Ryan <[hidden email]>
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

Jean Barmash 1
Hello,

I saw a new release of the plugin just came out - does anybody know if this one is supposed to work with 1.3.x?   Below are the release notes which make me think that it probably doesn't yet.   

Also, I'd be curious to learn more about what a centralized configuration database refers to - is that a database to manage all the other tenants?   I guess that's in multi-DB mode, right?  

multi-tenant-0.17

  • Added the ability to have a centralized configuration database at the default datasource and tenant 0.
  • Fixed circular dependency in single tenant mode where data sources could not be loaded. The behavior was changed to always load the datasource data from tenant 0.
  • Add configDB parameter to support loading domain name information from tenant 0.

Jean


On Thu, Jul 8, 2010 at 6:01 AM, Gustavo Madruga <[hidden email]> wrote:
I totally agree with you about oscache, webflow, etc, I just did a nasty hack to make it work on grails 1.3.x.

About github I'm towards to it, as I would use in our current scenario. In my fork I would fix the tenant id issue and rip off oscache stuff, then issue a pull request for you with the tenant id fix (but not the oscache stuff).
Another fact is that as I'm not the maintainer, nor have deeply knowledge about the plugin internals, I don't feel comfortable to make a commit on svn. Playing with my own version and just issuing pull requests is safer.

Someone already created a multi-tenant project at github, probably more one that would help, I think...

Regards,
Gustavo Madruga


2010/7/7 Scott Ryan <[hidden email]>

I could move the plugin to github but not sure how that helps get more people to support it with me.   It is pretty simple to get added to the team and support it as  it sits.  I appreciate your help in updating for 1.3.3 but removing oscache support and webflow support and the tenant id fixes seems to be a little counter productive for supporting a community plugin.    Those pieces are required to make the plugin function in all modes which is what our applications require.  I hope to finish the complete upgrade in the next week or so.

Scott Ryan


On Jul 5, 2010, at 1:42 PM, Gustavo Madruga wrote:

I also use single database mode on grails 1.3.2, with EhCache for hibernate 2nd level instead of OsCache.

I updated multi-tenant source, ripping off OSCacheProvider and removing the dependency of oscache on BuildConfig.groovy (along with tenantId fix from the same site)
Also removed the dependency o webflow, but as I don't need webflow, I didn't tested.
Also updated both plugins to grails 1.3.2

Then I repacked the plugin, installed, and everything works fine.

Scott, how do you feel about moving the source to github?
Makes far more easier for ppl to help maintaining such great plugin.

Regards,
Gustavo Madruga


2010/7/5 Scott Ryan <[hidden email]>
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email






Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

scryan
I am finishing up the upgrade to 1.3.4.  I had to wait for a more stable version of 1.3.x and I have found it in 1.3.4.  I have some major changes due to the new way they handle datasources in 1.3.X and am in the final stages of testing.  I am also cleaning up some of the code to support ehcache as well as oscahce and removing the dependencies on webflow.  I expect to have a snapshot out today with tested support for one tenant per database.  I don't have any way to test the other method (many tenants per database) so will hope others can help test or I can make up some tests over the weekend.

The 0.17 release was just making a snapshot a perm release.  The 0.17 release was a rewrite to support one tenant per database as it was a little buggy.   I have been using 0.17 in production for a few months and did not get any feedback from the community so I just finished the release.  I will release a snapshot of 0.18 today and hope for community testing and feedback for a couple of weeks and then a full release.  

The centralized database is a location for all tenant related data but no application data.  It contains tenant configuration data and full support for things like quartz jobs etc. I have built a configuration plugin for it.  This allows us to centralize the tenant management and not expose that data to client databases.  This keep redundancy down and security up.  I hope to release the plugin and the configuration data in the next few weeks as I make it more ready for community consumption.  The plugin will use the default datasource or the datasource at tenant 0 to locate tenant configuration data so you will need that one database to contain the tenant configuration data.  

I also have base classes to support quartz jobs in a multi tenant environment.

Let me know if there are any questions I can answer or assist in any way.

Scott Ryan









On Aug 9, 2010, at 10:32 PM, Jean Barmash wrote:

Hello,

I saw a new release of the plugin just came out - does anybody know if this one is supposed to work with 1.3.x?   Below are the release notes which make me think that it probably doesn't yet.   

Also, I'd be curious to learn more about what a centralized configuration database refers to - is that a database to manage all the other tenants?   I guess that's in multi-DB mode, right?  

multi-tenant-0.17

  • Added the ability to have a centralized configuration database at the default datasource and tenant 0.
  • Fixed circular dependency in single tenant mode where data sources could not be loaded. The behavior was changed to always load the datasource data from tenant 0.
  • Add configDB parameter to support loading domain name information from tenant 0.

Jean


On Thu, Jul 8, 2010 at 6:01 AM, Gustavo Madruga <[hidden email]> wrote:
I totally agree with you about oscache, webflow, etc, I just did a nasty hack to make it work on grails 1.3.x.

About github I'm towards to it, as I would use in our current scenario. In my fork I would fix the tenant id issue and rip off oscache stuff, then issue a pull request for you with the tenant id fix (but not the oscache stuff).
Another fact is that as I'm not the maintainer, nor have deeply knowledge about the plugin internals, I don't feel comfortable to make a commit on svn. Playing with my own version and just issuing pull requests is safer.

Someone already created a multi-tenant project at github, probably more one that would help, I think...

Regards,
Gustavo Madruga


2010/7/7 Scott Ryan <[hidden email]>

I could move the plugin to github but not sure how that helps get more people to support it with me.   It is pretty simple to get added to the team and support it as  it sits.  I appreciate your help in updating for 1.3.3 but removing oscache support and webflow support and the tenant id fixes seems to be a little counter productive for supporting a community plugin.    Those pieces are required to make the plugin function in all modes which is what our applications require.  I hope to finish the complete upgrade in the next week or so.

Scott Ryan


On Jul 5, 2010, at 1:42 PM, Gustavo Madruga wrote:

I also use single database mode on grails 1.3.2, with EhCache for hibernate 2nd level instead of OsCache.

I updated multi-tenant source, ripping off OSCacheProvider and removing the dependency of oscache on BuildConfig.groovy (along with tenantId fix from the same site)
Also removed the dependency o webflow, but as I don't need webflow, I didn't tested.
Also updated both plugins to grails 1.3.2

Then I repacked the plugin, installed, and everything works fine.

Scott, how do you feel about moving the source to github?
Makes far more easier for ppl to help maintaining such great plugin.

Regards,
Gustavo Madruga


2010/7/5 Scott Ryan <[hidden email]>
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email







Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

Jean Barmash 1
Thanks for the update and all the work!  

My use case is a single database with many tenants, and we'll plan to move to it in the next few months, so I hope to be able to help with the testing of that mode. 

Jean

On Tue, Aug 10, 2010 at 6:43 AM, Scott Ryan <[hidden email]> wrote:
I am finishing up the upgrade to 1.3.4.  I had to wait for a more stable version of 1.3.x and I have found it in 1.3.4.  I have some major changes due to the new way they handle datasources in 1.3.X and am in the final stages of testing.  I am also cleaning up some of the code to support ehcache as well as oscahce and removing the dependencies on webflow.  I expect to have a snapshot out today with tested support for one tenant per database.  I don't have any way to test the other method (many tenants per database) so will hope others can help test or I can make up some tests over the weekend.

The 0.17 release was just making a snapshot a perm release.  The 0.17 release was a rewrite to support one tenant per database as it was a little buggy.   I have been using 0.17 in production for a few months and did not get any feedback from the community so I just finished the release.  I will release a snapshot of 0.18 today and hope for community testing and feedback for a couple of weeks and then a full release.  

The centralized database is a location for all tenant related data but no application data.  It contains tenant configuration data and full support for things like quartz jobs etc. I have built a configuration plugin for it.  This allows us to centralize the tenant management and not expose that data to client databases.  This keep redundancy down and security up.  I hope to release the plugin and the configuration data in the next few weeks as I make it more ready for community consumption.  The plugin will use the default datasource or the datasource at tenant 0 to locate tenant configuration data so you will need that one database to contain the tenant configuration data.  

I also have base classes to support quartz jobs in a multi tenant environment.

Let me know if there are any questions I can answer or assist in any way.

Scott Ryan









On Aug 9, 2010, at 10:32 PM, Jean Barmash wrote:

Hello,

I saw a new release of the plugin just came out - does anybody know if this one is supposed to work with 1.3.x?   Below are the release notes which make me think that it probably doesn't yet.   

Also, I'd be curious to learn more about what a centralized configuration database refers to - is that a database to manage all the other tenants?   I guess that's in multi-DB mode, right?  

multi-tenant-0.17

  • Added the ability to have a centralized configuration database at the default datasource and tenant 0.
  • Fixed circular dependency in single tenant mode where data sources could not be loaded. The behavior was changed to always load the datasource data from tenant 0.
  • Add configDB parameter to support loading domain name information from tenant 0.

Jean


On Thu, Jul 8, 2010 at 6:01 AM, Gustavo Madruga <[hidden email]> wrote:
I totally agree with you about oscache, webflow, etc, I just did a nasty hack to make it work on grails 1.3.x.

About github I'm towards to it, as I would use in our current scenario. In my fork I would fix the tenant id issue and rip off oscache stuff, then issue a pull request for you with the tenant id fix (but not the oscache stuff).
Another fact is that as I'm not the maintainer, nor have deeply knowledge about the plugin internals, I don't feel comfortable to make a commit on svn. Playing with my own version and just issuing pull requests is safer.

Someone already created a multi-tenant project at github, probably more one that would help, I think...

Regards,
Gustavo Madruga


2010/7/7 Scott Ryan <[hidden email]>

I could move the plugin to github but not sure how that helps get more people to support it with me.   It is pretty simple to get added to the team and support it as  it sits.  I appreciate your help in updating for 1.3.3 but removing oscache support and webflow support and the tenant id fixes seems to be a little counter productive for supporting a community plugin.    Those pieces are required to make the plugin function in all modes which is what our applications require.  I hope to finish the complete upgrade in the next week or so.

Scott Ryan


On Jul 5, 2010, at 1:42 PM, Gustavo Madruga wrote:

I also use single database mode on grails 1.3.2, with EhCache for hibernate 2nd level instead of OsCache.

I updated multi-tenant source, ripping off OSCacheProvider and removing the dependency of oscache on BuildConfig.groovy (along with tenantId fix from the same site)
Also removed the dependency o webflow, but as I don't need webflow, I didn't tested.
Also updated both plugins to grails 1.3.2

Then I repacked the plugin, installed, and everything works fine.

Scott, how do you feel about moving the source to github?
Makes far more easier for ppl to help maintaining such great plugin.

Regards,
Gustavo Madruga


2010/7/5 Scott Ryan <[hidden email]>
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email








Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Support for multi-tenant in grails 1.3.1

bkane
Agreed, thank you Scott!

We are flexible but will probably also go the multiple tenants in one DB so I'll be able to provide some testing coverage there as well.

Brandon

On Tue, Aug 10, 2010 at 9:40 AM, Jean Barmash <[hidden email]> wrote:
Thanks for the update and all the work!  

My use case is a single database with many tenants, and we'll plan to move to it in the next few months, so I hope to be able to help with the testing of that mode. 

Jean

On Tue, Aug 10, 2010 at 6:43 AM, Scott Ryan <[hidden email]> wrote:
I am finishing up the upgrade to 1.3.4.  I had to wait for a more stable version of 1.3.x and I have found it in 1.3.4.  I have some major changes due to the new way they handle datasources in 1.3.X and am in the final stages of testing.  I am also cleaning up some of the code to support ehcache as well as oscahce and removing the dependencies on webflow.  I expect to have a snapshot out today with tested support for one tenant per database.  I don't have any way to test the other method (many tenants per database) so will hope others can help test or I can make up some tests over the weekend.

The 0.17 release was just making a snapshot a perm release.  The 0.17 release was a rewrite to support one tenant per database as it was a little buggy.   I have been using 0.17 in production for a few months and did not get any feedback from the community so I just finished the release.  I will release a snapshot of 0.18 today and hope for community testing and feedback for a couple of weeks and then a full release.  

The centralized database is a location for all tenant related data but no application data.  It contains tenant configuration data and full support for things like quartz jobs etc. I have built a configuration plugin for it.  This allows us to centralize the tenant management and not expose that data to client databases.  This keep redundancy down and security up.  I hope to release the plugin and the configuration data in the next few weeks as I make it more ready for community consumption.  The plugin will use the default datasource or the datasource at tenant 0 to locate tenant configuration data so you will need that one database to contain the tenant configuration data.  

I also have base classes to support quartz jobs in a multi tenant environment.

Let me know if there are any questions I can answer or assist in any way.

Scott Ryan









On Aug 9, 2010, at 10:32 PM, Jean Barmash wrote:

Hello,

I saw a new release of the plugin just came out - does anybody know if this one is supposed to work with 1.3.x?   Below are the release notes which make me think that it probably doesn't yet.   

Also, I'd be curious to learn more about what a centralized configuration database refers to - is that a database to manage all the other tenants?   I guess that's in multi-DB mode, right?  

multi-tenant-0.17

  • Added the ability to have a centralized configuration database at the default datasource and tenant 0.
  • Fixed circular dependency in single tenant mode where data sources could not be loaded. The behavior was changed to always load the datasource data from tenant 0.
  • Add configDB parameter to support loading domain name information from tenant 0.

Jean


On Thu, Jul 8, 2010 at 6:01 AM, Gustavo Madruga <[hidden email]> wrote:
I totally agree with you about oscache, webflow, etc, I just did a nasty hack to make it work on grails 1.3.x.

About github I'm towards to it, as I would use in our current scenario. In my fork I would fix the tenant id issue and rip off oscache stuff, then issue a pull request for you with the tenant id fix (but not the oscache stuff).
Another fact is that as I'm not the maintainer, nor have deeply knowledge about the plugin internals, I don't feel comfortable to make a commit on svn. Playing with my own version and just issuing pull requests is safer.

Someone already created a multi-tenant project at github, probably more one that would help, I think...

Regards,
Gustavo Madruga


2010/7/7 Scott Ryan <[hidden email]>

I could move the plugin to github but not sure how that helps get more people to support it with me.   It is pretty simple to get added to the team and support it as  it sits.  I appreciate your help in updating for 1.3.3 but removing oscache support and webflow support and the tenant id fixes seems to be a little counter productive for supporting a community plugin.    Those pieces are required to make the plugin function in all modes which is what our applications require.  I hope to finish the complete upgrade in the next week or so.

Scott Ryan


On Jul 5, 2010, at 1:42 PM, Gustavo Madruga wrote:

I also use single database mode on grails 1.3.2, with EhCache for hibernate 2nd level instead of OsCache.

I updated multi-tenant source, ripping off OSCacheProvider and removing the dependency of oscache on BuildConfig.groovy (along with tenantId fix from the same site)
Also removed the dependency o webflow, but as I don't need webflow, I didn't tested.
Also updated both plugins to grails 1.3.2

Then I repacked the plugin, installed, and everything works fine.

Scott, how do you feel about moving the source to github?
Makes far more easier for ppl to help maintaining such great plugin.

Regards,
Gustavo Madruga


2010/7/5 Scott Ryan <[hidden email]>
If you are using that mode then it will also require the falcone plugin to be upgraded which i am doing as well unless someone else is working on it.  I will need you to test the mode you are needing as I don't use it in that mode.   Also it sounds like you are using the Spring Security module and we use shiro.  I will work with you to get this addressed as i have time.  If possible you might try 1.2.3 to prove your concept until the plugin gets upgraded.  The 1.3 was a big upgrade and we are working through all the issues as we encounter them.

Scott Ryan








On Jul 5, 2010, at 8:10 AM, bkane wrote:

>
> Hi Scott,
>
> See more replies below, glad to know someone is on this.  I don't have a lot
> of time or expertise with hibernate to help you with the dev efforts, but
> I'm happy to test out new builds as they become available and report any
> issues back to those working on it.
>
> Brandon
>
>
> Scott Ryan-3 wrote:
>>
>> I am sorry it has taken us so long but the first releases of 1.3 were very
>> unstable for us and we are just getting back to looking at it.
>>
>
> No need to apologize!  Thanks for replying and letting me know where things
> are at.
>
>
> Scott Ryan-3 wrote:
>>
>> What mode of the multi tenant plugin are you looking at?   Feel free to
>> interact with me as I work on the conversion.
>>
>
> We are planning to use the multiple tenants in a single database mode.  It
> is a small app with relatively low data volumes and for us this will be a
> lot easier to manage than a database for each tenant.
> --
> View this message in context: http://grails.1312388.n4.nabble.com/Support-for-multi-tenant-in-grails-1-3-1-tp2277982p2278414.html
> Sent from the Grails - user mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email









Loading...