[opencms-dev] Sharing content in multisite installation
Michael Moossen
m.moossen at alkacon.com
Wed Feb 3 12:05:20 CET 2010
i forgot that you will need a personalized link handler too...
-------------------
Michael Moossen
Alkacon Software GmbH - The OpenCms Experts
http://www.alkacon.com - http://www.opencms.org
Michael Moossen schrieb:
> Dear all!
>
> > * use the method CmsObject.setSiteRoot you to switch to a different
> > site
> > root temporarily and then switch back after reading what you wanted to
> > read. You have to be *very* careful with that...
>
> Just clone the cms context using this method:
> OpenCms.initCmsObject(cms)
>
> but, any way, that is most likely NOT what you want/need.
>
> this is a tricky issue. the way to go is:
> - shared files under /system/
> - personalized resource initialization handler for nice URIs (no
> /system/article/0001.html)
> - personalized locale handler to handle i18n for those files.
>
> HTH
> -------------------
> Michael Moossen
>
> Alkacon Software GmbH - The OpenCms Experts
> http://www.alkacon.com - http://www.opencms.org
>
> Christian Steinert schrieb:
>> Lammersdorf, Lorenz wrote:
>>> Hi all,
>>>
>>> does anybody if this is possible?
>>>
>>> I have a multisite installation of OpenCms 7.04. Let's say in /home/site1/news I've a couple of files I want to use in /home/site2 also.
>>> A template containing
>>>
>>> <cms:contentload collector="allInFolderDateReleasedDesc" param="/home/site1/news/|PressRelease|4">
>>>
>>>
>>> Is there any way to access those files without creating siblings?
>> Dear Lorenz
>>
>> you can not directly read files from another site.
>>
>> There are several possibilities:
>> * create the files that you want to share somewhere inside of /system/
>> * there is a section in one of the xml configuration files in the real
>> file system which allows to define immutable resources. Maybe this
>> works, maybe this does not work. You have to try.
>> * use the method CmsObject.setSiteRoot you to switch to a different site
>> root temporarily and then switch back after reading what you wanted to
>> read. You have to be *very* careful with that, because I don't know if
>> this also works if you have several concurrent requests for the same
>> session. Also, of course you would have to do the switching in a way
>> that ensures the switch-back even if exceptions occur:
>>
>> //1.remember current site (CmsObject.getSiteRoot())
>> try{
>> //2.switch to other site root (CmsObject.setSiteRoot)
>> //3. do something
>> } finally {
>> //4. switch back to the previously active project
>> (CmsObject.setSiteRoot)
>> }
>>
>> To make things clean and thread-safe, you might have to syncronize ALL
>> this kind of activity against ONE COMMON lock-object to avoid that
>> several requests from the same session damage each other's context while
>> working concurrently.
>>
>> Then, this kind of switching-functionality could be wrapped into a
>> custom tag and then used inside of your templates
>>
>> These are the possibilities that comes to my mind.
>>
>> Best regards
>> Christian
>>
>> _______________________________________________
>> This mail is sent to you from the opencms-dev mailing list
>> To change your list options, or to unsubscribe from the list, please visit
>> http://lists.opencms.org/mailman/listinfo/opencms-dev
>
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev
More information about the opencms-dev
mailing list