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.WorkitemDescriptionAttributist die Eigenschaft ClientComponentClassName belegt- Gibt den Namen einer Typescript Klasse an, die
PiB.ProcessModel.Ui.Components.IWorkitemUIimplementiert
- Gibt den Namen einer Typescript Klasse an, die
Es wird von
PiB.ProcessModel.WorkitemWithDataBaseund der Typ der EigenschaftWorkdataverwendet einen Typen, der seinserseits das AttributIduIT.Core.PropertyModel.PropertyModelClassAttributeverwendet.Beides ist nicht gegeben: in dem Fall wird eine Instanz eines __FormlessWorkitemUI erstellt.
Zuletzt geändert: 16.12.2020 14:55:58 (erstmals erstellt 27.05.2024) // Alias: ""