Scheduled Workflows
Scheduled Workflows zijn workflows die op een vast tijdschema automatisch worden uitgevoerd, zonder handmatige trigger of gebruikersinteractie. Ze worden geconfigureerd via de Workflow Scheduler in UCT en vormen de ruggengraat van automatische processen zoals PO-generatie, herinneringen, anonimisering en licentiemonitoring.
Gerelateerd: workflow-engine, workflow-instructies, workflow-debugger, standaard-workflows
Wat zijn Scheduled Workflows?bewerken
Een Scheduled Workflow is een workflow met WorkflowType="Scheduled" die periodiek wordt aangeroepen door de Ultimo Scheduler. In tegenstelling tot ChangeStatus-workflows (die worden getriggerd door een statuswijziging) of Standard-workflows (die worden aangeroepen via WorkflowCall), draait een scheduled workflow zelfstandig op basis van een tijdschema.
Kenmerkenbewerken
AllowUserInteractionis altijdFalse— er is geen UI beschikbaar- Draait onder een geconfigureerde systeemgebruiker (niet onder een ingelogde gebruiker)
- Moet minimaal de property
LastCheckvan typeDateTimebevatten om correct te functioneren - Wordt geconfigureerd via een cron-expressie of een recurrence pattern
- De standaard Ultimo-installatie bevat circa 91 scheduled workflows
Configuratie in UCTbewerken
Locatiebewerken
UCT > Business Rules > Workflow Scheduler
Lijstweergavebewerken
De lijstweergave toont alle geplande workflows met de volgende kolommen:
| Kolom | Beschrijving |
|---|---|
| Workflow name | Technische naam van de workflow |
| Active | Vinkje als de workflow actief is en wordt uitgevoerd |
| Cron | De cron-expressie die het schema definieert |
| Last run | Datum/tijd van de laatste uitvoering |
| Message | Status- of foutmelding van de laatste run |
Detailpaneel (3 tabbladen)bewerken
Tabblad Basic
| Veld | Beschrijving |
|---|---|
| Workflow Id | Unieke identificatiecode van de workflow |
| Workflow name | Technische naam |
| Workflow description | Beschrijving van de functie |
| Active | Of de workflow actief is en volgens schema wordt uitgevoerd |
| Last check | Datum/tijd van de laatste uitvoering |
| Next check | Datum/tijd van de volgende geplande uitvoering |
| User | De Ultimo-gebruiker waaronder de workflow draait (impersonation) |
| Companies | De bedrijven waartoe de gebruiker toegang heeft |
| Remarks | Opmerkingen bij het schedule |
Tabblad Properties
Toont de property-waarden van de geselecteerde workflow. Alleen properties die als Optional In of Required In zijn gemarkeerd worden getoond. De kolom Name toont de propertynaam, de kolom Value de waarde.
Tabblad Schedule
Definieert het recurrence pattern. Er zijn drie schedule types:
| Type | Beschrijving |
|---|---|
| Run once | Eenmalige uitvoering op een specifiek moment (YYYY-MM-DD hh:mm) |
| Repeat by minutes | Herhaling op basis van een interval in minuten |
| Recurrence pattern | Terugkerend patroon op basis van dagen, weken of maanden, met een starttijd en optioneel een einddatum of aantal herhalingen |
Cron-expressiesbewerken
In de lijstweergave wordt het schema weergegeven als cron-expressie. Veelvoorkomende patronen:
| Cron-expressie | Betekenis |
|---|---|
0 01 * * * |
Dagelijks om 01:00 |
0 02 * * * |
Dagelijks om 02:00 |
0 */2 * * * |
Elke 2 uur |
0 01 * * 1 |
Wekelijks op maandag om 01:00 |
0 06 1 * * |
Maandelijks op de 1e om 06:00 |
Belangrijke standaard Scheduled Workflowsbewerken
PO-resultaat emailbewerken
| Eigenschap | Waarde |
|---|---|
| Workflow | PmWorkOrder_SendAutomaticPmResultEmail |
| Functie | Verstuurt automatisch e-mails met PO-resultaten naar verantwoordelijke medewerkers |
| Typisch schema | Dagelijks |
Automatische PO-generatiebewerken
| Eigenschap | Waarde |
|---|---|
| Workflow | AutoPM-gerelateerde workflows |
| Functie | Genereert automatisch preventieve werkorders op basis van PmWorkOrder-definities en de NextRunDate |
| Typisch schema | Dagelijks om 01:00 |
| AET-setting | Gerelateerd aan PmWorkOrder NextRunDate-berekening |
Let op: De automatische PO-generatie is een van de kritische scheduled workflows. Als deze niet draait, worden preventieve werkorders niet aangemaakt en lopen onderhoudsschema's uit de pas.
GDPR anonimiseringbewerken
| Eigenschap | Waarde |
|---|---|
| Workflow | Anonimiserings-workflow |
| Functie | Maakt persoonsgegevens onherkenbaar conform AVG/GDPR-regelgeving |
| Typisch schema | Periodiek (afhankelijk van retentiebeleid) |
Per gebruiker kan in UCT de optie "Make user unrecognizable" worden ingesteld. Gebruikers met deze instelling worden bij uitvoering van de anonimiserings-workflow onherkenbaar gemaakt.
Licence Monitorbewerken
| Eigenschap | Waarde |
|---|---|
| Workflow | Licence Monitor workflow |
| Functie | Controleert licentie-informatie, actieve sessies en beschikbare modules |
| Typisch schema | Regelmatig (bijv. dagelijks) |
De resultaten zijn zichtbaar via UCT > Logging > Licence Monitor.
Een custom Scheduled Workflow aanmakenbewerken
Stap 1: Workflow aanmakenbewerken
- Ga naar
UCT > Business Rules > Workflows - Maak een nieuwe workflow aan met
WorkflowType="Scheduled" - Zet
AllowUserInteraction="False" - Definieer minimaal de property
LastCheckvan typeDateTime(Accessor:Optional, Direction:In) - Schrijf de gewenste bedrijfslogica in het
<Execution>blok
Zie workflow-engine voor de volledige XML-structuur. Het minimale vereiste is WorkflowType="Scheduled", AllowUserInteraction="False", en een property LastCheck van type DateTime.
Stap 2: Workflow inplannenbewerken
- Ga naar
UCT > Business Rules > Workflow Scheduler - Voeg de workflow toe en configureer het schema (cron-expressie of recurrence pattern)
- Stel de User in op een systeemgebruiker met de juiste rechten en de Companies op de relevante bedrijven
- Activeer de workflow door op Activate te klikken
Stap 3: Testenbewerken
- Gebruik de knop Run om de workflow handmatig uit te voeren (alleen beschikbaar als de workflow actief is)
- Controleer de Message-kolom op fouten en het Event Log / Debug Log in
UCT > Logging
Monitoringbewerken
- Event Log (
UCT > Logging > Event Log) — systeemgebeurtenissen inclusief workflow-uitvoeringen - Debug Log (
UCT > Logging > Debug Log) — gedetailleerde technische informatie bij het troubleshooten van falende workflows - Message-kolom — in de Workflow Scheduler lijstweergave; toont de status of foutmelding van de laatste run
Activeren en deactiverenbewerken
- Activeren: Selecteer een inactieve workflow en klik op Activate. De workflow wordt uitgevoerd volgens het schema.
- Deactiveren: Selecteer een actieve workflow en klik op Deactivate. De workflow wordt niet meer uitgevoerd.
- Handmatig uitvoeren: Klik op Run om een actieve workflow direct uit te voeren, ongeacht het schema.
Valkuilen en aandachtspuntenbewerken
- Deactiveer niet zonder reden — sommige standaard scheduled workflows zijn essentieel voor de correcte werking van Ultimo (bijv. automatische PO-generatie). Ultimo kan bij een upgrade of patch standaard workflows opnieuw activeren
- Systeemgebruiker — scheduled workflows draaien onder een specifieke gebruiker. Zorg dat deze gebruiker de juiste autorisaties heeft en niet wordt verwijderd of gedeactiveerd
- Licentie vereist — de licentie "Workflow Scheduler+" is vereist om workflows te kunnen inplannen. Neem contact op met Ultimo Sales voor meer informatie
- Cron-syntax — een fout in de cron-expressie kan ertoe leiden dat de workflow nooit of te vaak draait. Controleer de expressie zorgvuldig
- Package Manager — gebruik de package-manager om aanmaak, wijziging en verwijdering van scheduled workflows op te nemen, zodat ze overdraagbaar zijn naar andere omgevingen
- Alleen gelicentieerde workflows — je kunt alleen workflows inplannen die zijn opgenomen in je Ultimo-licentie
Best practicesbewerken
- Plan zware workflows buiten kantooruren — nachtelijke batch-taken (01:00-05:00) minimaliseren de impact op eindgebruikers
- Controleer regelmatig de Message-kolom — vroegtijdige signalering van fouten voorkomt dat processen ongemerkt stilvallen
- Documenteer custom scheduled workflows — leg vast wat de workflow doet, waarom deze is ingepland, en wie verantwoordelijk is
- Gebruik de Debug Log bij problemen — de Workflow Debugger en Debug Log bieden gedetailleerd inzicht in wat er misgaat
- Deactiveer in plaats van verwijderen — als een workflow tijdelijk niet nodig is, deactiveer deze in plaats van te verwijderen
Zie ookbewerken
- workflow-engine — Workflow Engine overzicht en WorkflowType uitleg
- workflow-instructies — Beschikbare workflow-instructies
- workflow-debugger — Debugging van workflows
- standaard-workflows — Overzicht standaard workflows per entiteit