Monday, January 29, 2007


Teamwork and RSS

The latest addition in Teamwork's list of features is the use of RSS feeds. Your news can now be deployed via a RSS feed to all team members who subscribe to the service, with all the advantages of RSS, such as using your chosen external news aggregator.
Moreover, besides setting up as many feeds as you want, you have one "implicit" channel where all the events you subscribed to and the messages sent to you are published.

In the picture you can see a Teamwork page displaying RSS news items, on the left, and Internet Explorer 7's internal aggregator showing the same RSS.

Massimiliano Ferroni

Saturday, January 27, 2007


Back from OOP 2007 in Munich

Roberto and myself just got back from OOP in Munich. We had a fair show, and managed to find really good German cooking :-)

While exposing as usual we did a lot of new developments and bug fixing, and got some nice ideas from the visitors; we had competent opinions, met a really nice guy from IBM (yes, really :-D), several bright developers (also girls!), and a bizarre but stimulating fellow from Siemens; a total of about 50 demos. A 3.1.3 version will be out soon!

It was an occasion for Roberto and me to reflect and discuss where to find our point of balance, between "groupware" (i.e. shared to-do's, boards, agenda, forum, portal features), project management, issue/bug track, document management and customer support; all who came to us reported the need, and we pointed out how limiting management to a specialised bug track leads to general unhappiness in the wider team, to which all agreed. Teamwork collects the different needs in one application, I believe quite maturely for what concerns the object model, and a little still to go for the interface, but we are almost there (I hope!).

All Germans we met spoke English very well, fortunately, as my scholastic German is by now almost useless for explaining (while I understand quite a bit). The size of the Messe expo area is amazing (you see only a bit in the picture); we went round it with our van, and it seemed never ending.

There were a lot of expositors, many selling really bizarre stuff, from Smalltalk development (never heard the news?) to "fast" UML (so what?), to miraculous testing tools (ever tried with a web application?). Anyway, I guess that diversity is a good thing in itself, as my father (a geneticist) always tells me.

Pietro Polsinelli

Wednesday, January 17, 2007


Jolt 2007 Excellence Awards finalist

Astonished and confused, today we got the notification that Teamwork is a Jolt 2007 Excellence Awards finalist: .

The selection is quite serious, the few finalists (6 in our category) are chosen among hundreds of candidates, so we are really happy about this nomination.

The winners will be announced at SD West 2007, on March 21, Wednesday, 6:30 PM – 7:30 PM. Flying to Santa Clara in March!

Monday, January 15, 2007


Review on Java Black Belt

Java Black Belt (with several dans) John Rizzo has published a short history of their adoption of Teamwork:

He associates only myself (Pietro) to Teamwork development, as I'm the person he's discussing with, but of course Teamwork is the result of a collective development effort, coordinated by Roberto and myself.

Discussing with John, we focused the need of a one-page editable task-tree page; Matteo Bicocchi already developed the Javascript and Ajax component, when back from Germany we'll integrate it in Teamwork.

Sunday, January 07, 2007


Testing new Teamwork releases

There are several popular/hype theories and beliefs spread in the JEE world which we don't subscribe to in our web development: notably MVC and the tags/xml world in interface constructions. A further diffused superstition is the belief in code-based testing, or building application tests by writing further code (many share this skepticism, for example see

But this does not mean we do not believe in testing, on the contrary, testing is crucial in releasing reliable applications. And as Teamwork is getting wider adoption, not breaking adopted versions with new releases is becoming crucial for the survival of our product.

We have used extensively hallway testing; for us, a test makes sense if it is not done by the developers, and is performed on the user interface, not on the code. This is particularly true in the case of a web application, where the interface support changes in time and is not uniquely determined. Moreover the application behavior can be quite different depending on the browser, operating system and database used. To test an application like Teamwork, can mean testing several combinations for each page, hence resulting in several thousand tests, multiplied to the number of platform/db combinations. So we needed to somehow persist the tests done, and to make it possible to run thousands of them by one-click. We first checked

1. httpunit, but it’s based on the idea of writing tests in code, discarded,


2. htmlunit and , which rely on the assumption that you can automate finding links on a page, but this was partly true several years ago, though incredibly hard, and is impossible in a contemporary application like Teamwork which may any time alter the DOM by creating a link, so this too was discarded.

Going our way.

There are many many other tools, but the problem is how to ease the pain of recording structured information over Http request, and our framework knows how to do this for its own applications. So we extended our in-house practical-in-the-extreme development platform with a web based test recording and playing framework.

Our tests have a web based management interface, support composition, and are stored through Hibernate persistence on a separate database.

You can create and refer to variables, you can write assertions using the beanshell scripting language - we used bsh instead of JDK 6' inner scripting framework as the latter does not yes support Java-like syntax and is a bit unstable.
You may even get more reliable releases now :-D

Here are a few screenshots of our tool:


This page is powered by Blogger. Isn't yours?