Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Thursday, February 24, 2005

Crawl, Walk, Run

I've started my first few steps towards adding JSR-168 Portlet support to Tapestry.

I've got a pretty good handle on what it's going to look like, but I have a lot of unanswered questions, so I'm building a few simple, exploratory examples.

I've started with Jetspeed 2.0-M1 and hit all the standard problems. Like having to use Maven, and tripping over a JDK 1.4 bug.

I'm also getting a bit of a taste of my own medicine ... getting started with Jetspeed is painful for lack of documentation, a common concern for Tapestry. I'm sure it makes perfect sense from the inside, but as an outsider, I'm a bit daunted by some big gaps in the documentation. You have to learn a lot by experimentation.

I'm beginning to get a picture of how everything will fit together. HiveMind will be key here. There'll be an abstraction layer of the servlet/portlet APIs. In a few critical places, there'll be a lot of indirection to allow servlet implementations vs. portlet implemenations ... I expect to use the ServicePropertyFactory quite a bit in these situations. I haven't seen anything that looks like a show stopper yet. Time to roll up my sleeves and have some fun!


Martijn Dashorst said...

Why are all so called 'Opinion Leaders' bashing Maven?

Have you actually worked since march 2004 with Maven? I moved to maven since then, and I have never, ever looked back. Each and every project that uses its own custom Ant build script which I need to understand, dependencies of which *NO* version information is available whatsoever... Etc.

I haven't heard any solid, valid argument against using Maven since it hit 1.0. And there isn't any IMO.

Ahmed Mohombe said...

Why are all so called 'Opinion Leaders' bashing Maven?Because they have an Opinion, not like the big mass of sheeps that think that every wolf framework is a shepherd :).
I don't need Maven just to generate that ugly "project website".
I like that ANT projects are "self contained" and just run, on every new computer without a repository or Internet connection - I just like the simplicity and the freedom and the fact that I can use it how I want.
I dislike when frameworks force me to do/think things in "their way". Ordnung muss sein! is not my motto :)
I just like that IntelliJ understands ANT, having even refactorings and code navigation for the ANT taks.

Martijn Dashorst said...

I don't mind people having an opinion, I do mind people, especially the Opinion Leaders, to have an UNFOUNDED opinion, such as a random blurb saying 'Oh my, this project sucks because it uses Maven'.

I agree that the default generated websites of Maven are an abonimation. But that is why they have enpowered you to style your own L&F. Take a look at the Wicket project website. This is completely generated by Maven (with some adjustments on the Jelly stylesheet).

I find Maven to be a lot simpler to use (i.e. develop with) and configure (i.e. deploy with) than Ant. But that is my opinion (*ducks*) ;-).

How does Maven force you to do things their way?

* Directory structure? Can be tailored to your needs, but it is advisable to commit to a sensible standard layout.

* One artifact 'syndrome'? I haven't met a project yet that didn't benefit from just supplying one artifact, but that might be my inexeperience.

* Integration with IDE's? I usually just type in: maven eclipse and magically I have an Eclipse project *with* the correct dependencies. I suspect this also works for IntelliJ.

You apparantly don't mind Ant driving your IntelliJ environment, so why object to having Maven do the same?

Ahmed Mohombe said...

To Martijn Dashorst:Yes, you are right, Wicket has a sweet site. My problem is that this is not a default - one needs to do something to get the right way.
In IntelliJ with ANT I don't type, but just call a simple shortcut - and this is default(without extra work from my side). These small nicenesses make the programming a fun :).
We had in the company a lot of zealots that switched everything on Maven. All of them are turning now "back to the roots" and reuse ANT. This can be seen in a lot of projects. IMHO, Maven was just a hype - lots of people thouht it might be the "build Holy Grail".