Thanks for the reminder, Ard. I had intended to summarize those instructions once I had my system working and was able to describe the steps more generically. Thanks also for posting the link to the other conversation.

To summarize the instructions from that email thread, particularly the instructions of Woonsan Ko and dee factorial, to get Cocoon deployed into Jetspeed 2 (and displaying the "Hello CocoonPortlet" if you use the default build of cocoon), you need to:

1. Run Jetspeed in its servlet container, likely Tomcat if using the demo installer version of Jetspeed 2, with sufficient memory to ensure your deployed application will run. 2. Explode the cocoon WAR file and remove JAR files that are likely to conflict with either Tomcat or Jetspeed. This definitely includes portlet-api-1.0.jar, and probably also includes pluto-1.0.1.jar as well. 3. Rebuild the modified cocoon WAR file. This step is important, because you need a WAR file to deploy into Jetspeed rather than an exploded version.
4. Modify the default-page.psml as described in my initial post (below).
5. Copy the WAR file into the ${Jetspeed-2.1}/webapps/jetspeed/deploy directory. Note that this is not the regular webapps directory where Tomcat would ordinarily pick it up, but rather a subdirectory of the Jetspeed webapp. The reason it goes there is that Jetspeed does some modifications to the deployment descriptors in the WAR file before deploying it, so that communication between the Jetspeed webapp and the Cocoon webapp can happen. 6. Load http://localhost:8080/jetspeed and scroll to the bottom of the portal page. You should see the Cocoon Portlet hello page.

That was phase one of my task. The next phase was to deploy my own Cocoon application. That followed the same steps as above, but so far has had these added steps (and isn't working yet):

2a) Remove any other JAR files that may prevent deploying into Tomcat (my application typically runs in Jetty). This was a long and involved process. 2b) Provide a new sitemap that is mounted for a portlet URL-space that strips out the <html>, <head>, and <body> tags that the application ordinarily generates, leaving just a fragment of HTML that can be rendered on the portal page. 2c) Follow some of the instructions defined here to ensure the application is portal ready: http://wiki.apache.org/cocoon/CocoonAppAsJSR168Portlet. This is for an old version of Cocoon, and is for Pluto rather than Jetspeed, but is otherwise pretty good. I have yet to get far enough to see the LinkRewriter do its stuff, but I assume it will work when I get there. Incidentally, I tried deploying to Pluto directly, but it apparently requires that it build your WAR file from scratch using Maven, and also requires that your application follow the Maven directory structure, which my application does not. There is probably a way around this but it wasn't clear from the documentation on the Pluto site, so I went back to working with Jetspeed 2.1. 2d) Double check against the instructions provided on JIRA ticket COCOON-1998 (https://issues.apache.org/jira/browse/COCOON-1998). I didn't apply the patch because my application should only need one servlet path, but if you need it and you don't want to use the tip of the 2.1 branch of cocoon, it is there. 2e) Used the information in this blog entry http://blog.reverycodes.com/archives/000018.html to modify the showForm() method for the portlet flowscript. Again, I haven't got things to render enough to know whether it worked.

This is enough to render the initial sign on page of my application so long as encodeURLTransformer is not part of the pipeline. If it is, I get an exception saying that you cannot pass in relative paths, they must be absolute. I'll post about that in another message. So far, the lack of that transformer has precluded me from logging in and checking how the other steps are working.

Ard Schrijvers wrote:
Hello Bruce,

I would appreciate it that if you crosspost, and your issue gets solved with the help of some willing JetSpeed guru's, that you post a mail about the fact that you got it working, with for example a link to the thread, so that other users which might have the same problems or are looking for the same thing or are inspired by your idea can see that it is solved and how it is solved.
So, for those interested,

http://www.nabble.com/Can%27t-seem-to-deploy-Cocoon-to-Jetspeed-2.1-tf3954106.html#a11226479

Regards Ard

I am trying to take an existing application running under Cocoon 2.1.9
and deploy it as a set of portlets. Before I get that far, though, I
want to make sure I understand how to deploy Cocoon as a JSR-168
portlet. To that end, I went through the following steps of trying to
get Cocoon to work as a portlet inside Jetspeed 2:

1. I built a WAR file of Cocoon 2.1.9 with the portal block (and
associated dependencies) included, as well as the samples.
2. I checked that the portlet.xml file contained a definition for
CocoonPortlet (as it does out of the box).
3. I deployed the cocoon.war file to the Tomcat instance running Jetspeed 2
4. I modified
${Jetspeed-2.1}/webapps/jetspeed/WEB-INF/pages/default-page.ps
ml to include:
    <fragment id="dp-19" type="portlet" name="cocoon::CocoonPortlet">
      <property name="row" value="7"/>
      <property name="column" value="0"/>
    </fragment>
5. I started Jetspeed.
6. I navigated to the Jetspeed default page.

Instead of seeing the expected hello world business, I get this error
message: "Portlet Application cocoon not available".

Have I missed a step here? What am I missing to get a basic build of
Cocoon to deploy as a portlet in Jetspeed 2?

Thanks for any help.




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to