Hi Alessandro, Glad to hear it worked for you. As far using a database for a datastore, IMHO I'm not a big fan of storing blobs in a database, but that's strictly me opinion and others may have valid reasons for doing so. Using NFS is pretty simple.
About your second question regarding a three layer servers structure, a simple lo-fi solution that I've used is to daisy chain the environments. So on your author instance, set-up a subscriber to your public stage (aka test or preprod environment). Then in your public-stage environment, set-up a subscriber to your public-production environment. As far as workflow for your content authors / publishers it would work something like this: 1. Editor logs in to author environment, edits content, clicks Activate Changes - workitem gets sent to publishers inbox 2. Publisher logs in to author environment, goes to inbox, clicks proceed - content gets sent to public-stage environment. 3. QA testing occurs in your public-stage environment, once approved for release, publisher logs into AdminCentral on public-stage environment, clicks Activate Changes, content gets sent to public-production environment. Quick note about the above approach: You'll want to set up the public-stage environment just like a public instance (i.e. make sure magnolia.bootstrap.authorInstance=false in your magnolia.properties file for your public-stage instance. You want you public-stage instance to function as closely as possible to a public-production environment, and it probably wouldn't be a good idea to allow editing in this environment. HTH, Matt > From: Alessandro Vicari <[email protected]> > Reply-To: Magnolia User-List <[email protected]> > Date: Wed, 9 Feb 2011 00:30:30 +0100 > To: Magnolia User-List <[email protected]> > Subject: Re: [magnolia-user] Magnolia 4.4 + MySQL clustering > > > Thank you guys, I was able to make it work too. > Does anyone use a database for Datastore instead of NFS? > Another question (unfortunately I haven't found anything about that in > the technical docs): > which is the best way to have a 3 layer servers structure? (author -> > public-stage -> public-production in cluster) > Is it posibile to add 2 subscribers (stage and production) and let the > author choose which target to use when activate? Or is it possibile > to add an action on the author to push into production what it's on > stage? > Thanks again for your help! > Alex > > > 2011/2/8 Michele <[email protected]>: >> >> >> 2011/2/7 Dertinger, Matthew <[email protected]> >>> >>> For the shared Datastore, I've accomplished this in the past my having an >>> NFS mount on my second second server that points to the datastore on my >>> first server. If you haven't already done so, it's a good idea to set >>> ${magnolia.repositories.home} to a location outside of your webapp, to do >>> so, open up WEB-INF/config/magnoliaPublic/magnolia.properties and edit the >>> magnolia.reposities.home property, it should be something like the >>> following: >>> >>> # set to a value outside the webapp to not loose the data on redeploys >>> magnolia.repositories.home=/usr/local/magnolia-repos/public/repositories >> >> Many thanks, now my cluster is working correctly, with any error or >> exception in logs! >> I tried the solution you proposed for the shared Datastore, but it didn't >> work for me. >> I think this is because if you redefine ${magnolia.repositories.home} by >> editing WEB-INF/config/magnoliaPublic/magnolia.properties, it modifies also >> ${wsp.home} that appears in jackrabbit-bundle-mysql-search-pub1.xml and >> jackrabbit-bundle-mysql-search-pub2.xml as follows: >> >> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> >> <param name="path" value="${wsp.home}/index" /> >> ..... >> </SearchIndex> >> >> In this way you share the search indexes of the two public instances in the >> cluster, that I think must be private. >> I solved removing the line above in >> WEB-INF/config/magnoliaPublic/magnolia.properties and defining shared >> repository in jackrabbit-bundle-mysql-search-pub1.xml and >> jackrabbit-bundle-mysql-search-pub2.xml as follows: >> >> <DataStore >> class="org.apache.jackrabbit.core.data.FileDataStore"> >> <!-- <param name="path" value="${rep.home}/repository/datastore"/> --> >> <param name="path" value="/magnolia-repos"/> >> <param name="minRecordLength" value="1024"/> >> </DataStore> >> >> Where /magnolia-repos is an NFS share on the same machine who hosts the >> MySQL db (not which one who runs the author and public instances, nor the >> one who runs the clustered public instance, in my case). >> Hope this could be helpful to someone. >> >> >> I still have the cluster id in an "unset" state, as you can see in >> catalina.out: >> >> 2011-02-08 12:13:21,981 INFO >> info.magnolia.jackrabbit.ProviderImpl : Loading repository at >> /var/lib/tomcat/apache-tomcat-6.0.30/webapps/magnoliaAuthor/repositories/magn >> olia >> (config fil >> e: >> /var/lib/tomcat/apache-tomcat-6.0.30/webapps/magnoliaAuthor/WEB-INF/config/re >> po-conf/jackrabbit-bundle-mysql-search.xml) >> - cluster id: "<unset>" >> >> But, as I said, it seems that everything is working properly. Could I ignore >> this INFO? >> >> >> Many thanks again for your help, guys! >> Bye. >> > > > ---------------------------------------------------------------- > For list details see > http://www.magnolia-cms.com/home/community/mailing-lists.html > To unsubscribe, E-mail to: <[email protected]> > ---------------------------------------------------------------- > ---------------------------------------------------------------- For list details see http://www.magnolia-cms.com/home/community/mailing-lists.html To unsubscribe, E-mail to: <[email protected]> ----------------------------------------------------------------
