Drupal Planet

Tag term to use for rss feed to get picked up in the Drupal Planet feed

Maestro How-To: Fire a Workflow After Saving Content with Rules

A very common use-case for Maestro is to launch a workflow in order to moderate some piece of content. You may have an expense form as a content type and you wish to have a manager review and approve it before handing it off to other departments for processing.

This post will show you how to fire off a moderation workflow after saving content with Rules.

 

Step 1: Create a simple test flow

I know you have a super-ultra-complex workflow, but this is best to get off the ground with a simple 1 step flow for the time being!

 

Standalone Drupal 8 script using Guzzle

Drupal 8 will have web services as part of core which will provide native support for all entity types including custom entity types. Drupal 8 will have support for different serialization formats like HAL+JSON, XML and JSON.

A couple good article references:

Maestro - Drupal 8 - Road map

With Drupal 8 emerging on the horizon, we've started to delve in to our core modules, Maestro and Filedepot, beginning the process of porting them from Drupal 7 to 8.

For our Drupal 8 version of Maestro, I have some immediate concerns that I would like addressed, but also some "wish list" items which I feel would bring a great deal of flexibility.

A condensed road map, of sorts, for Maestro's first release on Drupal 8 would be:

Binding ctools modal handlers dynamically without page reload

On a recent project I required a way to bind ctools handlers to their respective links dynamically. The project had the links being displayed using ajax based on user input, and so the handlers would have to be bound to the new links (and unbound for the links that disappeared) without the page being reloaded.

Searching online for a solution did not turn up any useful results. Digging into the ctools module code, there didn't seem to be any easy way to accomplish this. The handlers are bound on page load, using Drupal behaviours.

The Next Wave - Getting Students Excited About Drupal

On December 17th, Nextide and Conestoga College are proud to jointly kick off the Conestoga Centre for Open Source (CCOS).
 

Skipping a Commerce Checkout page in the checkout workflow

While working on a Drupal Commerce project for a client, which will be handling products and donations will also need to handle conference registrations. There is a commerce_registration module which is looking like a very nice contribution and should work well. The commerce registration module adds a new page to the checkout process for the custom registration fields that are mapped for the selected item being purchased.

There does not appear to be a way to not show this page in the checkout workflow even if it's not required which is clearly not desired. We tried to disable a checkout pane using hook_commerce_checkout_pane_info_alter() but even when you unset the registration pane, an empty page will still appear with just the continue to next page button. According to the drupal commerce  API reference, there is also a hook_commerce_checkout_page_info_alter but while you can remove the registration page from the checkout workflow, it was not possible to obtain any context like the order or cart contents to determine if the page should be removed or not. 

Dynamically create a maestro relationship to node and user

We already have the ability to create a drupal action to launch a maestro workflow and trigger that action from drupal. Maesto also has a trigger type task that can launch drupal actions from workflows but we did not have rules integration. We also needed a way to better track adhoc new instances of maestro processes with drupal entities like node and users.
 
Maestro has a content type task that automatically will create the relationship between the content node and maestro proceess information but there are cases where the maestro content type task is not used to create the content entities and we did not have an easy way to later link maestro processes with content nodes or other entities.

See video

Maestro Module: To Regenerate or Not To Regenerate...

The regenerate functionality goes back many years in the history of the Maestro engine.  I wrote the very first instance of the "Maestro" engine back in 2004/2005 where it was nowhere near as flexible and nowhere near as extensible as it is today as Maestro.  That being said, the engine's internals have been updated and upgraded over the years which has culminated in what you see today.  The concept of regenerate and regenerate all live tasks comes from the very beginning of the engine's life and lives today in Maestro 1.0's engine. 

Maestro How-To

How do I..... ?  is a question we hear quite a bit when it comes to the Maestro API. We have a few very good blog posts on our site and also bundle Maestro with some good example code. However time has come to begin to document how to do a variety of common things with the Maestro API.

Some SQL Server 2008 Express Tips to Help You Along

I'm working on another SQL Server 2008 and Drupal 7 project right now.  This particular project has a great deal of stored procedures and triggers in it to massage extrenal data to the right format for display in Drupal.

 

Doing Drupal/PHP development with SQL Server 2008 is easy using the 2008 Express (free) edition for those of us who don't use SQL Server regularily as a database on our development machines.  However, there is one small problem I ran in to on this current project:   SQL 2008 Express does not have any UI mechanisms in the SQL Management Studio to allow you to manage triggers!

Syndicate content