I have to admit that your design is somewhat odd. Apparently you have a particular block in your webapp that is only to be used by your company but not by your clients.

There is no obvious solution. You could create a Makefile for running make or a shell script on *nix boxes. It would copy the relevant blocks of your webapp into a separate folder, then automatically replaces the relevant portions of your block a sitemap into something else that does not rely on block b, and, finally, run maven to create the war for your clients. You can do this each time you want to deploy a stripped webapp to your clients. This would be a fully automated solution.

If you deploy your webapp to your own server that is also accessible by your clients, you could consider to make a small modification in the block-a sitemap. Before serving the document, first call a flowscript function that decides whether or not block b in fact should called. If not, then continue with a pipeline in block a that servers the document from block-a-resources/document.xml, otherwise continue with a pipeline that calls block b. The flowscript could check whether or not the request is from within the company or from outside (e.g. by IP addresses).

Best regards,
Andre


On 11/03/2010 02:29 PM, Fawzib Rojas wrote:
I have a webapp (war) that we use at our company it has a few blocks
(let say block-a to block-d), I want to install that war at our clients
but they should not have block-b. The simplest option would be just
remove that block and serve a simple document if its not found. The
other option is have 2 projects one for us one for clients which seems
extra work since the only difference is:

a) block-b not included
b) change a matcher in block-a sitemap from this:

<map:pipeline>
   <map:match pattern="document">
     <map:generate src="servlet:block-b:/document" />
     <map:serialize type="xml" />
   </map:match>
</map:pipeline>

to this:

<map:pipeline>

   <map:match pattern="document">
     <map:generate type="file" src="block-a-resources/document.xml" />
     <map:serialize type="xml"/>
   </map:match>
</map:pipeline>


On 11/2/2010 11:17 AM, Robby Pelssers wrote:
I have a more urgent question to you...

why would you want to sometimes not include block-b???  I think your design 
should be reconsidered drastically because this makes no sense to me... so i'll 
await your reponse for a good reason ;-)

Robby


-----Oorspronkelijk bericht-----
Van: Fawzib Rojas [mailto:f_ro...@spectron-msim.com]
Verzonden: di 2-11-2010 14:43
Aan:users@cocoon.apache.org
Onderwerp: Cocoon 2.2 block+sitemap question

I have 2 blocks (block-a and block-b) and I want to serve an xml from
block-b in block-a so i did the following:

block-a/block-servlet-service.xml:
<servlet:context mount-path="/block-a"
context-path="blockcontext:/block-a/">
<servlet:connections>
<entry key="block-b" value-ref="com.my-company.block-b.service"/>
</servlet:connections>
</servlet:context>

block-a/sitemap.xml:
<map:pipeline>
<map:match pattern="document">
<map:generate src="servlet:block-b:/document" />
<map:serialize type="xml" />
</map:match>
</map:pipeline>

That way i can read the my document using /block-a/document.  In certain
instances block-b wont be included in the war so I want the
/block-a/document to go to a default document in block-a so I thought of
adding an error handler, something like this:

<map:pipeline>
<map:match pattern="document">
<map:generate src="servlet:block-b:/document" />
<map:serialize type="xml" />
</map:match>
<map:handle-errors>
<map:select type="exception">
<map:when test="error">
<map:generate type="file" src="block-a-resources/document.xml" />
<map:serialize type="xml"/>
</map:when>
</map:select>
</map:handle-errors>
</map:pipeline>

Since the connection in the block-a/block-servlet-service.xml cannot be
made the war is not loaded so this method wont work. Is there another
way to do this?

---------------------------------------------------------------------
To unsubscribe, e-mail:users-unsubscr...@cocoon.apache.org
For additional commands, e-mail:users-h...@cocoon.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail:users-unsubscr...@cocoon.apache.org
For additional commands, e-mail:users-h...@cocoon.apache.org



--
Andre H. Juffer              | Phone: +358-8-553 1161
Biocenter Oulu and           | Fax: +358-8-553-1141
Department of Biochemistry   | Email: andre.juf...@oulu.fi
University of Oulu, Finland  | WWW: www.biochem.oulu.fi/Biocomputing/
StruBioCat                   | WWW: www.strubiocat.oulu.fi
NordProt                     | WWW: www.nordprot.org
Triacle Biocomputing         | WWW: www.triacle-bc.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
For additional commands, e-mail: users-h...@cocoon.apache.org

Reply via email to