On November 7th Andreas Ebbert-Karroum, John Wilmes and myself will be presenting a session titled "Converge your Order Management" at the TelemanagementWorld conference in Dallas. The theme for this conference is "Managing Operations for Converging Services" so with our presentation we're hitting the nail on the head. In our presentation we'll explain why using the Order Management API eases order management in a converging world (and we'll also briefly touch on the SOA buzzword). After doing the presentation with Andreas and John in Nice at Telemanagement World earlier this year I'm really looking forward to Dallas. It was a lot of fun in Nice and I'm sure it will be a lot of fun in Dallas again. There will definitely be surprises again with regards to people using the Order Management API without us knowing about it (especially now that we passed the JCP ballot and will publish the 1.0 version shortly).

Since a while I'm using iPhoto to manage my photo collection. One thing that kept annoying me was that I had to do manual actions to include selected photo's from iPhoto in my webalbum. Of course you can generate webalbums from iPhoto, but you need to do that over and over again each time you want to add more pictures to your webalbum. The solution I wanted to have was:

  • Import pictures into iPhoto
  • Tag them with keywords
  • Have them appear in my webalbum automatically
    • sorted by date
    • sorted to subject
I only need to maintain iPhoto and the rest is automatic.

I've got this working now for the sorted by date part. What I now do is:

  • In iPhoto I tag the pictures that I want to appear in my webalbum with a special keyword (webalbum)
  • Scheduled a cronjob that periodically:
    • Runs a ruby script sortImages.rb [note: this is an updated version of the previous script, the description in the blog post is not 100% accurate anymore] which parses the iPhoto AlbumData.xml file. This scripts selects all pictures with the 'webalbum' keyword and exports these to a directory structure in which they are sorted by year/month. (The script first checks if the AlbumData.xml is changed since the last run to prevent unnecessary work.)
    • If the ruby script sortImages.rb [see previous note] found any changes, kick of the webalbum application to update the webalbum (I'm using JAlbum, but you can use any webablum application that takes a directory structure as input).

The shell script is really simple.

ruby sortByDate.rb webalbum /tmp/webalbum '/path/to/AlbumData.xml'

if [ $? -eq 0 ]; then
cd /opt/JAlbum
java -Xmx256M -Djava.awt.headless=true -jar JAlbum.jar
-projectFile webalbum.jap -appendImages
fi
The sortImages.rb [see previous note] script takes 3 arguments:
  • The keyword that identifies the pictures to include in the webalbum.
  • The directory to which the pictures should be copied. In this directory new directories per year/month will be created.
  • The path to the iPhoto AlbumData.xml file

Writing the Ruby script was easy, it was the first time i really tried to do something with Ruby and I got it done pretty quick.... although I bet there is some improvement possible. Feel free to let me know ;-) The actual tricky parts were:

  • Figure out the structure of the AlbumData.xml file
  • Transform the DateAsTimerInterval element from the AlbumData.xml file into the date the picture was taken.

Next plan is to create a script that generates a directory structure using the other keywords set on the pictures. For example, group all pictures tagged with 'webalbum' and 'vacataion' and 'friends'. Sounds simple, but need to come up with some logic to be able to create a multi level structure where level one contains the images with only the 'vacation' keyword, level 2 has 'vacation' and 'friends' etc. What do I do with pictures that could end up in multiple parts of the tree?

*** Update ***

I just tested if this solution still works with iPhoto '09 and it works perfectly.

In the Order Management Expert Group we're counting down the week for the final release of the Order Management API (JSR264). We managed to put out an Proposed Final Draft 2 last week and this is your last chance to provide feedback before the 1.0 release. Feel free to drop us a mail at jsr-264-comments@jcp.org. As posted before, I also posted a summary of the Order Management features here. In the next couple of weeks we'll be ironing out the last details in the RI, TCK and documentation and then we'll release it.

TMW Nice

TMW Nice 2007 is history, time for a quick flashback. Just as at JavaOne Andreas and myself did a presentation on the Order Management API (JSR264) and it's fit for use in an SOA. This time we were joined by John Wilmes, CEO of Ceon Corporation. It is really a pleasure to work with them and doing a presentation with a 2 or 3 people is more fun than doing it alone. Compared to the JavaOne presentation we weaved the two main subjects of the presentation such that Andreas and I would hand over to each other every couple of slides. That worked really well and in my opinion it made the presentation more dynamic. On the Xebia blog I posted a two part summary of the presentation (part1, part2).

At TMW Nice lunches are a bit more structured compare to JavaOne. Just as at JavaOne you join a queue, but at TMW you're directed to your seat and lunch is being served on the table. No take-away lunches. A nice side effect of this is that you spent 30 minutes with people you've never met before and while eating you discuss the conference, your work, etc. One day I was seated next to someone from a Danish operator that was using the 0.8 version of the Order Management API. Now that was really cool, the API is not even 1.0 yet and it is already being used. I wish we knew who else is using it..., so if you do, drop us a line on the jsr264 comments list.

Just as with JavaOne I ran into a number of former colleagues, co-workers and customers. Always nice to catch up with them, on one of the evening beach parties for example ;-)

During the keynote Nicholas Negroponte explained the vision of the One Laptop Per Child organization. They're not only doing really good work to enable children in underdeveloped countries to get education, but as part of this developed a $100 laptop. I was impressed, check it out at www.laptop.org.

Call for papers for TMW Dallas is already closed and again we submitted a proposal...