The content staging solution for Drupal 8 is based on a re-designed version of the Deploy module. This solution consists of some contrib modules and depends on three Drupal core modules. The core dependencies are Entity API, Serialization and Restful Web Services. The contributed module dependencies are Relaxed Web Services, Multiversion, Key-value Extensions and (soon) Deploy. The Relaxed Web Services module provides a Restful/Relaxed JSON API and endpoints for entities, file attachments, administrative tasks like revisions comparison, starting/stopping replication, etc.
Kalabox is a free, integrated workflow solution for Drupal developers. It’s the thing that connects all your things -- including your Pantheon account -- to provide a complete desktop-to-live workflow loop. First developed by Kalamuna as an internal tool, people all over the world now use it to code, test and go live faster than ever.
Platform.sh is a powerful cloud hosting solution with an optimized development-to-production workflow, enabling Continuous Integration and Continuous Delivery during development, at launch, and throughout a site's life. Unique snapshot technology enables cloning at the speed of thought, completely replicating full-stack environments into new branches on demand in a moment.
In this post, I'm going to go over the steps to create your own custom module workflow plugin. For this example let's consider the following to be our requirements:
The Workflow has 5 states - Draft, Needs Review, Approved, Published, Unpublished
There are 5 events or "transitions" - Submit for review, Approve, Request updates, Publish, Unpublish
Only certain roles can approve/publish/unpublish content
Some custom code needs to be executed when the node is moved into the "Approved" state
The magic is in the --patch argument to git-add(1). This instructs Git to display all changes to the files specified on a hunk-by-hunk basis and lets you choose one of the following options for each hunk
...
In this case, I staged (y) about half of the hunks (the ones that were bookmark related) and left the other hunks unstaged (n). Now my index has all of the changes to synchronize-bookmarks plus half of the changes made to models.rb.
Make git behave more like svn or a centralized repo on the server. Good advice.
There’s easy ways to share your changes with Git, but sometimes you want to push and pull from a repository instead. The best practice here is when you want to push changes, don’t push to a non-bare repository. In other words, from the GitFaq:
A quick rule of thumb is to never push into a repository that has a work tree attached to it, until you know what you are doing.
The lesson here is that if you’re going to push changes, make a bare repository clone with git clone --bare.
The direct comparison of State Machine is to Workbench Moderation.
The main difference between State Machine and Workbench is that State Machine is extendable and exportable through plugins. Workbench is mainly administered through the user interface and is currently not exportable.
For developers, State Machine events and states can be defined through extending the base class. A basic workflow interface within Drupal's default revision architecture is provided by State Flow.
The user interaction of State Machine is purposefully simplistic.