This is part 2 of our series on developing a Decoupled Drupal Client Application with Ember. If you haven't yet read Part 1, it would be best to review Part1 first, as this article continues on with adding authentication and login form to our application. Shortly, we will explore how to create a new article but for that we will need to have authentication working so that we can pass in our credentials when posting our new article.
Templates and tasks make up the basic building blocks of a Maestro workflow. Maestro requires a workflow template to be created by an administrator. When called upon to do so, Maestro will put the template into "production" and will follow the logic in the template until completion. The definitions of in-production and template are important as they are the defining points for important jargon in Maestro. Simply put, templates are the workflow patterns that define logic, flow and variables. Processes are templates that are being executed which then have process variables and assigned t
This is the first in a series of articles that will document lessons learned while exploring using Ember as a decoupled client with Drupal.
You will need to have Ember CLI installed and a local Drupal 8 (local development assumed). This initial series of articles is based on Ember 2.14 and Drupal 8.3.5 but my initial development was over 6 months ago with earlier versions of both Ember so this should work if you have an earlier ember 2.11 or so installed.
We've put together a Maestro overview video introducing you to Maestro for Drupal 8. Maestro is a workflow engine that allows you to create and automate a sequence of tasks representing any business process. Our business workflow engine has existed in various forms since 2003 and through many years of refinements, it was released for Drupal 7 in 2010.
If it can be flow-charted, then it can be automated
The Maestro Workflow Engine for Drupal 8 is now available as a Beta download! It has been many months of development to move Maestro out of the D7 environment to a more D8 integrated structure and we think the changes made will benefit both the end user and developer. This post is the first of many on Maestro for D8, which will give an overview of the module and provide a starting point for those regardless of previous Maestro experience.
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!
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 of good article references:
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.
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.
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.