Skip to main content

Aktualisierung Datenquelle nach Löschworkflow

Comments

10 comments

  • Zendesk API User
    Author: kohlbrecher - 7/7/2015 8:57

    Hallo Ralph,

    beim ersten Vergleich von deinem Code mit dem des Basicworklfows zum Löschen fällt auf, dass du auf dem StoreElement ein setLock und save aufrufst und nicht auf einem Content2.

    final ContentWorkflowable contentWorkflowable = (ContentWorkflowable) workflowScriptContext.getWorkflowable();

            final Content2 content2 = contentWorkflowable.getContent();

            // delete current state

            try {

                Session session = entity.getSession();

                session.delete(entity);

                session.commit();

            } catch (Exception e) {

                Logging.logError(EXCEPTION + entity, e, LOGGER);

            } finally {

                try {

                    // lock/unlock content2 to force a refresh

                    content2.setLock(true, false);

                    content2.save();

                    content2.setLock(false, false);

                } catch (LockException e) {

                    Logging.logError(EXCEPTION + entity, e, LOGGER);

                } catch (ElementDeletedException e) {

                    Logging.logError(EXCEPTION + entity, e, LOGGER);

                }

            }

            // delete release state

            Session releaseSession = content2.getTemplate().getSchema().getSession(true);

            //delete page entity (release state)

            releaseSession.rollback();

            Entity entityRelease = releaseSession.find(entity.getKeyValue());

            if (entityRelease != null) {

                // if in release store

                try {

                    releaseSession.delete(entityRelease);

                    releaseSession.commit();

                } catch (Exception e) {

                    Logging.logError(EXCEPTION + entityRelease, e, LOGGER);

                    result = false;

                }

            }

    Werden denn sowohl der current als auch der release Stand nicht aktualisiert?

    Grüße

    Jan

    0
  • Zendesk API User
    Author: rkurz - 7/7/2015 9:32

    Hallo Jan-Philipp,

    danke für's drüber schauen!

    Laut log ist storeElement ein Content2Impl.

    Die Entites werden in current und release zwar gelöscht, aber die Ansicht wird nicht aktualisiert.

    Grüße

    Ralph

    0
  • Zendesk API User
    Author: kohlbrecher - 7/7/2015 9:37

    Hallo Ralph,

    einfach mal ins Blaue geraten:

    Du machst den session.commit nach dem Refresh. Warum nicht direkt hinter dem session.delete(entity)?

    Grüße

    Jan

    0
  • Zendesk API User
    Author: rkurz - 7/7/2015 9:47

    Hallo Jan-Philipp,

    eine Begründung dafür gibt es nicht - nach der Änderung hat es auch nichts bewirkt.

    Grüße

    Ralph

    0
  • Zendesk API User
    Author: rkurz - 7/8/2015 9:31

    Gibt es noch andere Möglichkeiten, die Ansicht zu aktualisieren?

    0
  • Zendesk API User
    Author: marro - 7/8/2015 14:26

    Hallo Ralph,

    wie sieht's denn aus, wenn Du den Code aus den Basicworkflows 1:1 übernimmst?

    Viele Grüße

    Donato

    0
  • Zendesk API User
    Author: rkurz - 7/9/2015 8:45

    Hallo Donato,

    danke für den Hinweis.

    Habe es gerade mit einem BasicWorkflow-Modul bzw. der entspr. executable probiert und die Ansicht aktualisiert sich dann auch nicht.

    Viele Grüße

    Ralph

    0
  • Zendesk API User
    Author: MichaelaReydt - 7/9/2015 10:02

    Hallo Ralph,

    ich hab mir gerade einmal lokal die Basic Workflows in der aktuellsten Version 1.0.8 installiert. Bei mir wird ein Datensatz erwartungskonform gelöscht. D.h. er ist direkt nach der Löschung nicht mehr in der Datenquelle sichtbar - weder im current noch im releast Stand.

    Hast du evtl nur das Modul aktualisiert, aber seine Verwendung nicht aktualisiert? Oder hast du möglicherweise die Skripte nicht angepasst?

    Viele Grüße

    Michaela

    0
  • Zendesk API User
    Author: rkurz - 7/9/2015 10:43

    Hallo Michaela,

    danke für die Hinweise.

    Das Modul ist aktuell und eingebunden ist es wie folgt:

    #!executable-class

    com.espirit.moddev.basicworkflows.delete.WfDeleteExecutable

    Könnte es der dahinter liegende Arbeitsablaus sein?

    Beim Testen ist es dieser:

    Der "große" aus den BasicWorkflows schmeißt bei mir in 5.0.606 einen Fehler:

    java.lang.NoSuchMethodError: de.espirit.firstspirit.access.store.templatestore.WorkflowScriptContext.getElement()Lde/espirit/firstspirit/access/store/IDProvider;

              at com.espirit.moddev.basicworkflows.delete.WfBranchIfFolderExecutable.execute(WfBranchIfFolderExecutable.java:64)


    Das Löschen bzw. den Arbeitsablauf starte ich aus der Statuszeile bei "nicht freigegeben" - aber auch die Wege über "Entf" oder den Papierkorb auf dem Datensatz machen es nicht.

    Danke und Viele Grüße

    Ralph

    0
  • Zendesk API User
    Author: MichaelaReydt - 7/9/2015 10:59

    Hallo Ralph,

    für die Version 1.0.8 muss laut den ReleaseNotes für die BasicWorkflows mindestens die FS-Version 5.1 eingesetzt werden. Deinem ersten Posting nach setzt du jedoch 5.0 und 5.2 ein.

    Für 5.0 müsstest du eine ältere Version des Moduls einsetzen.

    Hast du mit der FS-Version 5.2 und der Modul-Version 1.0.8 trotzdem dasselbe Problem?

    Viele Grüße

    Michaela

    0

Please sign in to leave a comment.