UPDATE-RATE

Die Test-Installation wird aktuell zwischen 8:00 und 18:00 Uhr stündlich zur vollen Stunde aktualisiert.

Alles neu macht der Mai

ILIAS 9 ist da! Alle Infos zu den Highlights der neuen Version gibt es hier!

Documentation

Kitchen Sink documentation of style: 'Delos' of skin: 'ILIAS'

Linear

Description

Purpose
A linear workflow is the basic form of a workflow: the user should tackle every step, one after the other.
Composition
A linear workflow has a title and lists a sequence of steps. If the user is currently working on a step, the step is marked as active.
Effect
A Step MAY have an action; when clicked, the action is triggered.

Rules

Usage
  1. Use a Linear Workflow for a set of tasks that should be performed one after the other and where there are no inter-dependencies other than completeness of the prior task.
  2. You SHOULD NOT use Linear Workflow for workflows with forked paths due to user-decisions or calculations.
  3. You SHOULD NOT use Linear Workflow for continuous workflows; a linear workflow MUST have a start- and end-point.

Example 1: Base

Linear Workflow

  • step 1 available, successfully completed
  • step 2 available, successfully completed
  • step 3 available, in progress, active
  • step 4 not available, not started
  • step 5 not available, not started
<?php
 
declare(strict_types=1);
 
namespace ILIAS\UI\examples\Listing\Workflow\Linear;
 
function base()
{
    //init Factory and Renderer
    global $DIC;
    $f = $DIC->ui()->factory()->listing()->workflow();
    $renderer = $DIC->ui()->renderer();
 
    //setup steps
    $step = $f->step('', '');
    $steps = [
        $f->step('step 1', 'available, successfully completed')
            ->withAvailability($step::AVAILABLE)->withStatus($step::SUCCESSFULLY),
        $f->step('step 2', 'available, successfully completed')
            ->withAvailability($step::AVAILABLE)->withStatus($step::SUCCESSFULLY),
        $f->step('step 3', 'available, in progress, active ')
            ->withAvailability($step::AVAILABLE)->withStatus($step::IN_PROGRESS),
        $f->step('step 4', 'not available, not started')
            ->withAvailability($step::NOT_AVAILABLE)->withStatus($step::NOT_STARTED),
        $f->step('step 5', 'not available, not started')
            ->withAvailability($step::NOT_AVAILABLE)->withStatus($step::NOT_STARTED)
    ];
 
    //setup linear workflow
    $wf = $f->linear('Linear Workflow', $steps)
        ->withActive(2);
 
    //render
    return $renderer->render($wf);
}
 

Relations

Parents
  1. UIComponent
  2. Listing
  3. Workflow