cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thorsten Scherler <scher...@gmail.com>
Subject Re: Cocoon 3.0 components
Date Thu, 20 Jun 2013 14:30:28 GMT
On 06/20/2013 03:42 PM, gelo1234 wrote:
> Can you provide me with some simple example of that new language
> interpreter (module) ? :)

http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-sitemap/src/main/java/org/apache/cocoon/sitemap/expression/SettingsInterpreter.java?diff_format=h&view=markup
That is REALLY easy example, takes the spring defined settings and
resolves its value. used in the sitemap like {global:org.apache.cocoon.mode}

salu2
>
> Greetings,
> Greg
>
>
>
> 2013/6/20 Thorsten Scherler <scherler@gmail.com
> <mailto:scherler@gmail.com>>
>
>     On 06/20/2013 03:02 PM, gelo1234 wrote:
>>
>>             I've got Cocoon site that hosts multiple www domains, all
>>             based on the same sitemap.xmap with <map:mount
>>             uri-prefix="" src="domain_X" check-reload="yes"/>
>>
>>             so the configuration is as follows:
>>
>>             <map:pipeline>
>>                           <map:select type="cutomDomainSelector">
>>                                    <map:when test="domainA">
>>                                         <map:mount uri-prefix=""
>>             src="./domaina" check-reload="yes"/>
>>                                    </map:when>
>>                                    <map:when test="domainB">
>>                                          <map:mount uri-prefix=""
>>             src="./domainb" check-reload="yes"/>
>>                                    </map:when>
>>                            </map:select>
>>             </map:pipeline>
>>
>>             Is it still possible with C3 ? Or should I use some
>>             separate blocks config ?
>>             The problem with separate blocks config is that I want to
>>             use empty URI (not different) for each site
>>
>>             So
>>             site1: http://www.domainA.org/
>>             site2: http://www.domainB.org/
>>
>>             NOT
>>
>>             http://www.some.org/domainA/
>>             http://www.some.org/domainB/
>>
>>             under one C3 war (sitemap.xmap config).
>>
>>
>>         I'd suggest to empower some reverse proxy in order to make
>>         things easier here.
>>
>>
>>     Reverse Proxy would give the opposite effect - collecting into
>>     one URL from multiple domain servers. I would like to have
>>     only ONE backend server that serves as the origin for multiple
>>     domains.
>>
>>     With mod_jk/mod_proxy I can setup multiple workers for each
>>     domain but where should I point them to serve my clients if
>>     having only one backend server with C3 ?
>>
>>
>>     Lets say I have a separate Cocoon block for each www domain. In
>>     C2.1 I had a MAIN sitemap.xmap (Controller) that controlled which
>>     context to mount upon different Hostname requests.
>>
>>     In C3 the only way I could achieve that is passing through with
>>     each request INFO about Hostname value. That is not very elegant
>>     solution. But I cannot find any other.
>>
>>     So either every <map:match ...> would need additional <map:select
>>     ...>:
>>
>>      <!--  e.g. the main / context -->
>>
>>        <map:match pattern="">
>>            <map:select value="{jexl:cocoon.request.hostName}">
>>               <map:when equals="domainA">
>>                 <map:generate src="files/domainA/homepage.xml" />
>>                 <map:transform src="files/xslt/homepage.xslt"/>
>>                 <map:serialize />
>>               </map:when>
>>               <map:when equals="domainB">
>>                 <map:generate src="files/domainB/homepage.xml" />
>>                 <map:transform src="files/xslt/homepage.xslt"/>
>>                 <map:serialize />
>>               </map:when>
>>       </map:match>
>>
>>     OR (a little bit more elegant and compact):
>>
>>     <map:match pattern="">
>>                 <map:generate
>>     src="files/{jexl:cocoon:request.hostName}/homepage.xml"/>
>>                 <map:transform src="files/xslt/homepage.xslt"/>
>>                 <map:serialize />
>>       </map:match>
>>
>>     I don't want to handle 100 VMs with C3 app for each www domain.
>>     That would be very resource-expensive config.
>>
>>     I would like to have only ONE C3 app for all www domains.
>
>     so why not:
>
>     <map:match pattern="">
>                 <map:generate
>     src="servlet:{jexl:cocoon:request.hostName}/homepage.xml"/>
>                 <map:transform src="files/xslt/homepage.xslt"/>
>                 <map:serialize />
>       </map:match>
>
>     Or even simply create a new language interpreter (formally known
>     as module) which does the resolving. That has the benefit that you
>     can use full blown java and use spring config file to do the
>     mapping or a simple properties file.
>
>     salu2
>
>>
>>     Greetings,
>>     Greg
>>
>>      
>>
>
>
>     -- 
>     Thorsten Scherler <scherler.at.gmail.com <http://scherler.at.gmail.com>>
>     codeBusters S.L. - web based systems
>     <consulting, training and solutions>
>
>     http://www.codebusters.es/
>
>


-- 
Thorsten Scherler <scherler.at.gmail.com>
codeBusters S.L. - web based systems
<consulting, training and solutions>

http://www.codebusters.es/


Mime
View raw message