<commit_before>======================
Workflows Topic Guide
======================

One of the most challenging aspects of building a compelling user experience
is crafting complex multi-part workflows. Horizon's ``workflows`` module
aims to bring that capability within everyday reach.

  .. seealso::

    For a detailed API information check out the :doc:`Workflows Reference
    Guide </ref/workflows>`.

Workflows
=========

Workflows are complex forms with tabs, each workflow must consist of classes
extending the :class:`~horizon.workflows.Workflow`,
:class:`~horizon.workflows.Step` and :class:`~horizon.workflows.Action`

Complex example of workflow
----------------------------

The following is a complex example of how data are exchanged between
urls, views, workflows and templates:

#. In ``urls.py``, we have the named parameter. E.g. ``resource_class_id``. ::

    RESOURCE_CLASS = r'^(?P<resource_class_id>[^/]+)/%s$'<commit_msg>fix grammar in workflow.rst file<commit_after>======================
Workflows Topic Guide
======================

One of the most challenging aspects of building a compelling user experience
is crafting complex multi-part workflows. Horizon's ``workflows`` module
aims to bring that capability within everyday reach.

  .. seealso::

    For detailed API information refer to the :doc:`Workflows Reference
    Guide </ref/workflows>`.

Workflows
=========

Workflows are complex forms with tabs, each workflow must consist of classes
extending the :class:`~horizon.workflows.Workflow`,
:class:`~horizon.workflows.Step` and :class:`~horizon.workflows.Action`

Complex example of a workflow
------------------------------

The following is a complex example of how data is exchanged between
urls, views, workflows and templates:

#. In ``urls.py``, we have the named parameter. E.g. ``resource_class_id``. ::

    RESOURCE_CLASS = r'^(?P<resource_class_id>[^/]+)/%s$'
{'fraction_non_alphanumeric': 0.17511761630946157, 'fraction_numerical': 0.0, 'mean_word_length': 4.346368715083799, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1983690', 'n_tokens_mistral': 558, 'n_tokens_neox': 516, 'n_words': 195}