Kontextus
Létre kell hoznom egy szerzői munkafolyamatot (checkin, checkout, validation...).
Egyes állapotátmeneteknél a felhasználónak jelentést kell kitöltenie. Amikor a felhasználó megváltoztatja egy O objektum állapotát S1 állapotról S2 állapotra, jelentést kell kitöltenie.
- A felhasználó törölheti a jelentést, O az S1 állapotban marad.
- A felhasználó bezárhatja a böngészőt, O az S1 állapotban marad.
- Ha érvényesíti a jelentést, O az S2 állapotba kerül.
Próbálok olyan keretet találni, ahol ezeket a korlátokat megvalósíthatom.
jBPM / Drools
Meg tudom valósítani az 1-et és a 3-at S1 és S2 közötti emberi feladattal, de ez egy egyszerű jelentéshez kissé túlzás. Az 1 megvalósításához kétirányú kapcsolatot kell létrehoznom az S1 és az emberi feladat között. A 2. pontot nem tudom megtenni: ha a felhasználó bezárja a böngészőt, az O Human Task állapotban marad.
Egy másik módja ?
Egy másik lehetőség egy külső fájl használata. Ez a fájl megadja egy adott S1-›S2 átmenethez, hogy melyik jelentést kell megjeleníteni.
Van más mód? És szerinted mi a legjobb felhasználási eset?
Köszönöm a segítséget.