- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
DB-Module // DB-Layer zweier Schemata wechseln
Hallo zusammen,
wir verwenden in zusammenhang mit CorporateDatabase und CorporateContent das DB-Module zum wechseln des DB-Layers fรผr ein Schema. Wir haben jetzt aber zwei Schemata, bei denen auf den gleichen Layer gewechselt werden muss. Unsere Idee war es jetzt, dass man ja die Methode fรผr den Switch einfach zweimal hintereinander aufrufen kann:
//!Beanshell
import com.espirit.firstspirit.packagepool.ChangeDatabaseLayer;
ChangeDatabaseLayer.changeLayerInformation(context,"templates","SCHEMA1","FS_MASTER");
ChangeDatabaseLayer.changeLayerInformation(context,"templates","SCHEMA2","FS_MASTER");
Als Problem gestaltet sich hier nur, dass changeLayerInformation die Transition des Workflows automatisch weiter schaltet und somit den Workflow beendet bevor der zweite Methoden aufruf gestartet wurde.
Gibt's ein Best-Practise, wie hier vor zugehen ist? Kann man Workflows verketten?
Viele Grรผรe,
Jรถrn
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo zusammen,
die Lรถsung habe ich nun bereits selbst entdeckt ๐
Das weiterschalten der Transition kann dadurch verhindert werden, dass man dem Script vorgegaukelt, dass es vom Client ausgefรผhrt wird. D.h. man gibt keine WorkflowScriptContext hinein, sondern einen GuiScriptContext.
Dann muss man sich natรผrlich sich natรผrlich selbst darรผm kรผmmern, dass der Arbeitsablauf beendet wird.
//!Beanshell
import de.espirit.firstspirit.access.GuiScriptContext;
import com.espirit.firstspirit.packagepool.ChangeDatabaseLayer;
ChangeDatabaseLayer.changeLayerInformation((GuiScriptContext) context,"templates","SCHEMA1","FS_MASTER");
ChangeDatabaseLayer.changeLayerInformation((GuiScriptContext) context,"templates","SCHEMA2","FS_MASTER");
context.doTransition("transitionToEnd");
Auf die Idee bin ich gekommen, da das Script auch ohne einen Arbeitsablauf ausgefรผhrt werden kann. In diesem Falle wรผrde dann der changeLayerInformation ein GuiScriptContext รผbergeben.
Viele Grรผรe,
Jรถrn

