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]>
----------------------------------------------------------------

Reply via email to