Developing IChannels with Eclipse

Start by visiting the page from the uPortal 101 pre-conference seminar. There you'll find some preliminary steps in order to get Eclipse and some required plugins up and running. Next steps are:

  • start up HSQLDB
  • unzip a uPortal distribution, build it and then run "ant initportal" to deploy it and initialize the database (give the correct url of the HSQL instance you started above)
  • create a "Tomcat project" in Eclipse, call it, say, "uPortal" and copy the whole WEB-INF/classes folder under your Tomcat's webapps/uPortal/WEB-INF/src folder and webapps/uPortal/WEB-INF/classes
  • go back to Eclipse and start Tomcat through the sysdeo plugin
  • create a separate project for your channel and build it into the WEB-INF/lib folder of your uPortal project in Eclipse.

I think this is pretty much it. I've listed the above from memory so I'll be glad to help you further if anything's missing.

Nuances: this is more complicated if your channel includes media that needs to be installed into the uPortal media directory.

Alternatives: don't do it

Having separate projects for different widgets in your channel can be valuable. One way to get at this is instead of writing new IChannels, re-use existing generic channels and write servlets and other external content which you then access via the generic channels.

As Susan Bramhall put it: "We have avoided writing new IChannels and instead built channels as independent servlets / web services that are included via CGenericXslt or by CWebProxy. Then of course they are in their own separate project."