Month: September 2006

Kids proclaim last weekend as “Best camping trip ever”

We had perfect weather for camping last weekend. It was a bit sketchy at first. As we pulled out of the garage the sky grew darker and darker, ultimately devolving into a downpour complete with minor hailstones. The kids were engrossed in a flick, but Christy was worried. She had visions of a weekend zipped inside our tent with nothing to entertain ourselves but non-stop Go Fish and hardcore potty humor from me and the kids. But, as often happens, the storm cleared as suddenly as it began and turned into one of the prettiest days I’ve seen in a while.

Mineral Wells State Park is one of our favorite weekend camping spots. It is close to Dallas but not too close. Our campsite was on a small bluff with the lake and surrounding hills visible through the trees.

We made it through the weekend without serious mishap, although one was narrowly avoided. My son and I found a trail that wound down from our camp site to the water. We sat on the rocks with our feet in the cool water and ultimately decided that it would be a travesty if we didn’t jump in and swim for a while.

The still water was cool and deep. And how refreshing it was to be at a lake that isn’t surrounded by development or infested with swarming jet skis or obnoxious ski boats.

I couldn’t talk him in to venturing too far from the rocky shore. Although accidental, he did manage to get in up to his chin. “What’s the difference between this and the swimming pool?” I asked. “This has no sides!” he replied, which I guess is a pretty good point.

He decided to stretch out on one of the warm rocks at the water’s edge like a long, lanky lizard. I thought that looked like a decent idea so I started to climb out. What happened next was over pretty quick but it was one of those moments that plays out in your mind in stop-motion. I lost my footing on the sharp, slimy rocks and fell backwards towards the water. I prepared myself for the unseen pointed stick or rock that would surely break my fall in a most unpleasant way. The anticipated pain never came. The drop-off was steep enough that I did not get impaled on anything. I came out of the water laughing my ass off, but then noticed how narrowly I had escaped disaster. The rock I snagged with my left hand on the way into the water had knocked my wedding ring off. Thanks to an amazing stroke of luck (and my cat-like reflexes) I had unconsciously managed to snag it with my fingertips, saving it from a permanent home at the bottom of the lake and saving myself from a very, very long ride home with Christy.

My son thought this whole thing was hilarious, particularly when I showed him the green algae skid mark down my left side.

Other than that everyone made it through unscathed although my daredevil daughter had a few wipe-outs on her bike. No matter how well you think you explain it, I guess the physics lesson involving excessive speed, bicycle tires, sharp turns, and gravel is just something she insists on learning for herself.

By the way, if you make it out to Mineral Wells State Park, check ahead of time to see if there will be a night hike and sign up. We learned all sorts of cool stuff on the walk led by the Park Naturalist. It’s hard to beat a walk through the woods at night with the Milky Way shining and the screech owls calling.

Getting started with Alfresco Advanced Workflow

If you are ready to take a look at the new Advanced Workflow features in Alfresco 1.4, here’s what you need to do…

Download and expand the Alfresco 1.4 Preview. If you already have Alfresco 1.3 on your machine I’d recommend moving your extensions directory and your Alfresco web root someplace safe. You should also create a new, separate database and user for the preview (e.g., alfresco14) unless you are also testing out the 1.3-to-1.4 upgrade experience.

Using the Alfresco 1.4 Preview WAR distribution is probably the way to go if you’ve already got 1.3 set up. You’ll obviously need to tweak the db_setup and db_remove scripts with the 1.4-specific user, database, and password. I used a copy of my 1.3 extension files, modified to point to the 1.4-specific database and a new data directory. That kept my LDAP authentication configuration intact. Your steps will vary here depending on your distribution and your local install preferences.

Once you get 1.4 configured like you want it, fire up Alfresco. You’ll notice that the default page is the “Alfresco Dashboard”. If you are familiar with Documentum, this is essentially the inbox. Tasks waiting for a user to take action are displayed here. You can get back here at any time by clicking the “My Alfresco” link in the top-most navigation bar.

Now find (or import) a document and click on the actions dropdown for the document. One of the actions listed should be “Start Workflow”. There are two sample workflows available out-of-the-box. Try them both out to get a feel for some of the functionality that’s available. Note that in the preview release, you must set a due date for the task. If you leave it blank you’ll get an error. (This is already in JIRA as a bug and will be fixed by the time of the full release).

In the preview release the admin console (the link moved from “More Actions” to a little icon at the top of the page) contains a link to the jBPM console. This is useful for debugging workflows. According to the forums, the final release will still make the console available, but it may not be included as a link on the admin console. The jBPM console will make more sense to you after you’ve followed the rest of the recommendations in this post.
Once you get the gist of the end-user experience it is time to take a peek under the covers.

Assuming you don’t already know the details of jBPM here are the steps to follow…

  1. Download and expand the jBoss jBPM Starter Kit.
  2. Install the jBPM Graphical Process Designer plugin for Eclipse. It’s include as part of the starter kit. It lets you define the workflows graphically and then deploy them to the jBPM run-time without ever leaving Eclipse. (For playing around with jBPM on its own you can use the run-time included in the jBPM Starter Kit. For deploying processes to Alfresco, the jBPM run-time is the Alfresco repository).
  3. Next, go through the Getting Started with jBPM Guide, which, strangely enough, is not included in the Starter Kit. This provides a good overview of the core jBPM functionality and provides context you might find helpful as you get started with jBPM within Alfresco.
  4. Now look through the user guide that’s included with the Starter Kit. I’d focus on chapters 9, 10, and 11. The rest is good information but isn’t critical for now.
  5. Finally, go through the Workflow Administration page on the Alfresco wiki to learn how to build your own Alfresco workflows with jBPM.

As you’ll see on the wiki page, any advanced workflow you create will probably require defining an extension to the content model as well as creating property sheet definitions so that the metadata you want your users to set during the workflow will be presented as part of the Alfresco UI. That means if you haven’t already, you’ll definitely need to understand the Alfresco extension mechanism and custom content models which are documented pretty well on the wiki.

Alfresco still has some work to do before 1.4 ships but the preview release should give you more than enough functionality to figure out how you’ll implement your complex business processes within Alfresco 1.4 when it goes GA. While the configuration and deployment is a bit more involved than it is with Documentum Workflow Manager/Business Process Manager), I think you’ll find Alfresco’s embedded jBPM to be a much more flexible, extensible, and powerful workflow engine overall. I’ll expand on that thought in a future post.

Alfresco 1.3 podcast

John Newton and Ian Howells discuss Alfresco 1.3 in this podcast. If you’ve already played with 1.3 (or maybe you’re already on to the 1.4 pre-release) there’s nothing new here. If you’re new to Alfresco it might give you a taste for how the platform is evolving.