This project is not covered by Drupal’s security advisory policy.

Step by Step is an API within Drupal which can be used by module developers to create workflows out of existing forms in Drupal core and other Drupal contrib or custom modules. This module will not work on its own; you will have to write additional module code that makes use of the Step by Step API. (The examples/ directory contains a small module as a demonstration of how to make use of Step by Step's functionality.)

By reusing existing forms and breaking them down into a sequence (or wizard) of smaller steps, Step by Step is a way to reduce the power of Drupal's UI down to one decision at a time. It was originally designed to walk absolute beginner webmasters through the choices needed to get them up and running on building their first websites. Soon after, it was put to use creating a workflow for some complex tasks that site admins need to get right without having to memorise all the steps. You can use it to make a wizard for any workflow that requires one or more forms from core, contrib or your own custom modules.

A Step by Step sequence consists of a number of existing Drupal forms, which are each to be displayed in part or in whole as one step in the sequence, with added buttons allowing each one to be saved and marked as 'completed', or marked as 'skipped' over without saving. It is possible for a form to be used in more than one step, with a different part of the form visible each time.

How does this module differ from other community projects and examples?

If you are considering using this module, you may also wish to consider the following alternatives, for different use cases:

  • Multistep Form Framework is for creating multistep forms (as opposed to reusing existing ones in Step by Step)
  • Webform has a UI and can be used by site users/admins to create multi-step wizard-style forms, particularly recommended if you only need to do simple things with the data once submitted
  • Multi Step Form Example is a working example for creating AJAX-based multi-step forms, again not reusing existing forms. You would need to read and understand this code, then adapt or copy it for your own purposes. See the description of Multistep Form Framework for a comparison of the approaches of these two modules.

A note on usage stats

Step by Step is included in a distribution of Drupal that is used within the organisation that I work for. The automatic build and testing process for this distribution seems to skew the statistics for 'sites that report using this module'. This is beyond my control and is not a deliberate attempt to play the system.

On this module's name

This module was presented at NWDUG Unconference 2016 and Drupal Mountain Camp 2017 under the working title of "Simplestep". The name "Step by Step" was suggested by Simon Buechi.

Project information

Releases