Prozesse und Arbeitsaufgaben
Prozesse ("Vorgänge", =Process) und Arbeitsaufgaben (=Workitem) sind PiBObjekte spezieller Ausprägung.
D.H alle Eigenschaften und Funktionen die Objekte haben, gelten auch für Prozesse und Arbeitsaufgaben (Kommentare, Historie, Beziehungen, Dateien usw.)
Prozesse
Ein Prozess ist ein Container für Arbeitsaufgaben. Technisch handelt es sich um eine (c#) Klasse, die von PiB.ProcessModel.ProcessBaseBase
ableitet.
Optional kann das Attribut ProcessDescription
angegeben werden (was i.d.R. auch immer gemacht werden sollte).
[PiB.ProcessModel.ProcessDescription("Untersuchung X")]
class SampleProc : PiB.ProcessModel.ProcessBaseBase
{
}
Rückmeldungen von der Workflow-Engine
Prozesse können IduIT.PiB.ProcessModel.IProcessDefinitionInteraction
implementieren, um auf Ereignisse des Workflows reagieren zu können (OnCreated, OnBeforeCreateWorkitem)
Workitems (Arbeitsaufgaben)
Eine Arbeitsaufgabe ist der aktive Bestandteil eines Prozesses.
Arbeitsaufgaben sind (c#) Klassen, die von der Basis PiB.ProcessModel.WorkitemBase
ableiten.
Optional kann das Attribut WorkitemDescription
angegeben werden (was i.d.R. auch immer gemacht werden sollte).
[PiB.ProcessModel.WorkitemDescription(
Title = "Durchführung der Prüfung",
Description = "Beschreibung ...",
DisallowCreateInteractive = true,
IconCls = "FA:raygun",
OnlyOnePerProcess = true,
ApplicableProcessTypes = new[] { typeof(SampleProc) })
]
class SampleWI : PiB.ProcessModel.WorkitemBase
{
}
Rückmeldungen von der Workflow-Engine
Arbeitsaufgaben können PiB.ProcessModel.Workflow.IWorkitemInteraction
implementieren, um auf Ereignisse des Workflows reagieren zu können (OnStart, OnFinish usw.)
Es handelt sich dabei durchgängig um die serverseitige Ausführung.
Interaktive Arbeitsaufgaben.
I.d.R. sind Arbeitsaufgaben interaktiv, d.h. sie verfügen über UI Elemente.
Die Speicherung der Daten kann dabei innerhalb des Workitem erfolgen (JSON serialisiert in der Pib-internen Tabelle). Verwende in diesem Fall PiB.ProcessModel.WorkitemWithDataBase
als Basisklasse.
Es gibt drei mögliche Formulartypen:
In dem
PiB.ProcessModel.WorkitemDescriptionAttribut
ist die Eigenschaft ClientComponentClassName belegt- Gibt den Namen einer Typescript Klasse an, die
PiB.ProcessModel.Ui.Components.IWorkitemUI
implementiert
- Gibt den Namen einer Typescript Klasse an, die
Es wird von
PiB.ProcessModel.WorkitemWithDataBase
und der Typ der EigenschaftWorkdata
verwendet einen Typen, der seinserseits das AttributIduIT.Core.PropertyModel.PropertyModelClassAttribute
verwendet.Beides ist nicht gegeben: in dem Fall wird eine Instanz eines __FormlessWorkitemUI erstellt.
Zuletzt geändert: 02.05.2024 16:25:25 (erstmals erstellt 24.11.2020)