Workflow-ng 1.0 released!

Submitted by fago on Sun, 09/16/2007 - 22:15
Finally the first stable release of workflow-ng is out! The module is already stable for a long time and all important features are implemented, so I decided it's time to release. So I'm happy to have a stable 1.0 release out of the door close before the drupalcon in barcelona. If you are going to barcelona, don't miss the session about workflow-ng.

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.

Yet another node access module: Content Access

Submitted by fago on Sat, 05/19/2007 - 19:12
Some days ago I needed a node access module for a 5.x site. I didn't want to misuse taxonomy for controlling node access, so I looked out for alternatives. Nothing was really satisfying me, so in the end I wrote a new one...

Content Access

So this module allows you to manage permissions for content types by role and author. It allows you to specify custom view, edit and delete permissions for each content type. Optionally you can also enable per node access settings, so you can customize the access for each node. In particular
  • it comes with sensible defaults, so you need not configure anything and everything stays working
  • it is as flexible as you want. It can work with per content type settings, per node settings as well as with flexible Access Control Lists.
  • it trys to reuse existing functionality instead of reimplementing it. So one can install the ACL module and set per user access control settings per node.
  • it optimizes the written node grants, so that only really necessary grants are written.
So the module is simple to use, but can be configured to provide really fine-grained permissions! Drupal project: