- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Benutzer bleibt in Workflow nicht erhalten
Hallo,
wir erzeugen aus einem Modul heraus einen Workflow in einem anderen Projekt und starten diesen (1. Transitionsschritt).
Wird dies fรผr ein neu erzeugtes Projekt durchgefรผhrt ist die Funktion korrekt.
Wird dieses Projekt exportiert und reimportiert, damit es als zusรคtzliches Projekt verfรผgbar ist so schlรคgt der Prozess fehl.
Durchgefรผhrte Schritte sind folgende:
vorliegender Parameter: de.espirit.firstspirit.access.project.Project project
de.espirit.firstspirit.access.UserService service = project.getUserService();
de.espirit.firstspirit.access.Task newTask = project.getUserService().createTask(...);
MyWorkflowContext wc = new MyWorkflowContext(newTask);
Im korrekten Projekt liefert:
service.getUser()=SYSTEM (SYSTEM)
wc.getUser()=SYSTEM (SYSTEM)
Im Negativfall ergibt sich:
service.getUser()=SYSTEM (SYSTEM)
wc.getUser()=null
Wer hat eine Idee zur Ursachenermittlung und -beseitigung?
Grรผรe,
Marc Thomas
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
wie sieht denn die Klasse MyWorkflowContext aus?
Wie wird der Workflow erzeugt?
Das ganze sollte ja in etwa wie folgt aussehen, so dass der aktuelle User genutzt wird:
final Workflow workflow = userService.getTemplateStore().getWorkflowByName("workflow_uid");
final Task task = userService.createTask(storeElement, workflow, "Task created by Module");
Viele Grรผรe,
Jรถrg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
der Workflow wird genau so erzeugt.
Der MyWorkflowContext enthรคlt folgenden Konstruktor
public MockWorkflowContext(final Task task, final User user) {
_task = (TaskImpl) task;
_project = task.getProject();
_connection = (ServerConnection) _task.getProject().getUserService().getConnection();
_workflow = task.getWorkflow();
_workflowable = task.getWorkflowable();
_user = user;
if (_workflowable instanceof StoreElement) {
_storeElement = (StoreElement) _workflowable;
} else if (_workflowable instanceof ContentWorkflowable) {
_storeElement = ((ContentWorkflowable) _workflowable).getContent();
} else {
_storeElement = null;
}
}
und bei getUser wird auf das Workflowobjekt zugegriffen
public User getUser() {
return _workflow.getEditor();
}
Viele Grรผรe,
Marc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Marc,
wenn ich es richtig verstanden habe tritt das Problem nur auf, wenn ihr ein Projektkopie auf dem gleichen Server erstellt? Das hรถrt sich ja merkwรผrdig an. Kรถnntet ihr uns das Modul (inkl. Code), das Projekt und eine Reproduktionsanleitung zur Verfรผgung stellen? Eventuell lรคsst sich das vorher auch noch Abspecken.
Viele Grรผรe
Christoph

