Workflow-ng beta 6 & Configurable Content Links

Submitted by fago on Thu, 09/13/2007 - 13:27
I've just released workflow-ng 1.x beta6. While I would consider it already stable I'd like to add some more features before the 1.0 release. Anyway, the 1.0 release isn't far.. :)

Configurable Content Links

I've included a new extensions module, called configurable content links, short cclinks. Module description:
   This module provides configurable content links, that generate events when they are pressed.
   Optionally one can activate scheduling for a link, so that the user can set the date when the
   event will be invoked. This may be used for scheduled execution of arbitrary actions, e.g. one
   can use it to schedule the publishing of content:
   Each link can be configured to toggle between to different link labels. Thanks to the State Machine
   API the current link state is exposed to Views too. Access permissions can be controlled independently
   for each link.

   To make date selecting more user friendly, install the JS Calendar of the Javascript Tools modules 
So one can use it to just create toggling links for any content - where the the link status is available to views thanks to the states module. But much more important, it brings the "scheduling" feature to workflow-ng. So the tutorial at already shows how it can be used to schedule the publishing of content, but as it can be combined with every action there are tons of possible use cases. E.g. I plan to build "scheduled publication of node revisions" with it.

Workflow-ng 5.x-1.0 beta1 released!

Submitted by fago on Tue, 07/03/2007 - 19:43
I'm happy to announce the 1.0 beta1 release of workflow-ng. Workflow-ng allows one to customize drupal's built in workflows in a very flexible way. In short, it's a rule-based event driven action evaluation system. Read the introduction to see how it works. It is useful for
  • sending customized mails notifying your users about important changes
  • building flexible content publishing workflows
  • creating custom redirections
  • and a lot more....
It builds on the powerful workflow-ng API, which allows contributed modules not only to expose configuration defaults, but also to add additional events, conditions and actions. Users can share their configurations by using the built-in import/export tool. This enables users to easily share their configurations. I've already wrote some documentation including two tutorials, but the developer documentation is still TODO. It'll be completed during the next days...

workflow-ng progress...

Submitted by fago on Mon, 07/02/2007 - 23:48
I've continued working on worklfow-ng during the last weeks. I've polished the API, wrote some useful conditions and actions, and completed the UI module. I did some more thinking about the UI and how to make creating conditions and logical operations easy - hopefully it is. Here is a screenshot of the current UI: Now I'm about to create a first beta release and focusing on the documentation. Stay tuned.

Workflow-ng API ready...

Submitted by fago on Wed, 05/30/2007 - 22:35
After some hard work, the workflow-ng API is ready. It features
  • actions, which may be configurable
  • conditions, which may also be configurable
  • support for multiple arguments, for actions as well as for conditions
  • condition evaluation with logical operations like OR, AND and NOR
  • events, for which conditions and actions can be configured. They may be contributed by modules.
  • dynamic loading of needed arguments
  • ordered conditions and actions - they are evaluated like they are ordered
  • form API style configuration and processing of conditions and actions
So workflow-ng works event based. (And no, I'm not talking of calendars ;) E.g. workflow-ng defines some basic events for drupal core, like 'node update, 'node insert', 'user update' and so on. So this are the events you can react on by defining conditions and actions for them. What makes workflow-ng powerful is, is it's flexible handling of arguments. Each of these events has to define a list of available arguments. Then any conditions and actions, that can work with these arguments, can be configured for this event. So an action can be used in any situation, where the suitable arguments are available. There is no need for the action, to be coded aware of every event.. :) As modules may define further events, this enables module authors, to easily allow site administrators to customize the behavior by just defining some further events.

Next generation workflows: workflow-ng!

Submitted by fago on Mon, 03/05/2007 - 20:05
I'm happy to announce that I start working on the next generation workflow module, called workflow-ng. It's inspired by the existing workflow module, but if things go well it's going to be a lot more powerful. I can use the development as practical work for my study and I will also write my bachelor thesis about this - thanks to the Information & Software Engineering Group of the TU vienna. Furthermore it's great that this all is sponsored by the Austrian company Pro.Karriere! So, what's workflow-ng? Workflow-ng ist the next generation module package for building workflows with Drupal. It allows building configurable state machines, which can be supplied programmatically or through the admin interface. So workflow-ng will be a tool for module developers as well as for site admins. Workflow-ng doesn't work only for content nodes, it will be coded on top of a “drupal entity” - so it will start with support for nodes, comments and users. Furthermore it doesn't urge you to introduce new states for your entities,because it does interpret each saved entity as a new possible state. This allows one to reuse existing information, e.g. reuse the existing „published“ and „moderated“ fields of nodes. Also workflow-ng won't allow one building state-machines only. One will also be able to react on various “events” with configurable actions, which allows site-admins or modules to adapt any default behaviour. E.g. this suits very well for e-mail notifications. Send a thank you message to the author of a certain node type? Just configure the action and workflow-ng will do it for you. Read more about it in the concept I wrote, it's attached to this post.