aVogt
Returning Creator

Werte zur Freigabe einer Entity aus der Historie

Jump to solution

Hallo,

bei uns wird eine Auswertung von Änderungen in Datenquellen gewünscht.

Dabei sollen nur die freigegebenen Änderungen, also keine Zwischenspeicherungen berücksichtigt werden.

Über session.getHistory(ent.getKeyValue()) komme ich an die historischen Elemente. Damit natürlich auch die Arebitsversionen.

Im SiteArchitekt (Versionshistorie eines Datensatzes) wird z.B. der Redakteur, Kommentar und Freigabe angezeigt. Wie komme ich an die Felder ran?

Über den Kommentar (bestimmte Arbeitsablauf) kann ich dann ermitteln ob die Revision freigegeben wurde.

Danke und Grüße

Andreas

screen.png.

0 Kudos
1 Solution

Accepted Solutions
felix_reinhold
Returning Responder

Hallo Andreas,

schon mal versucht mit den Datasets statt den Entities zu arbeiten?

Wenn du dir über die Tabellenvorlage oder die Datenquelle den Datensatz holst hast du ja einen normalen HistoryProvider mit all seinen Funktionen und den üblichen Revision-Objekten (mit den von dir angesprochenen Feldern). Auf den Datensätzen kannst du auch den ReleaseState abfragen und dort nur die freigegebenen Revisionen nehmen, um Zwischenspeicherungen zu ignorieren.

Viele Grüße

Felix

View solution in original post

0 Kudos
5 Replies
felix_reinhold
Returning Responder

Hallo Andreas,

schon mal versucht mit den Datasets statt den Entities zu arbeiten?

Wenn du dir über die Tabellenvorlage oder die Datenquelle den Datensatz holst hast du ja einen normalen HistoryProvider mit all seinen Funktionen und den üblichen Revision-Objekten (mit den von dir angesprochenen Feldern). Auf den Datensätzen kannst du auch den ReleaseState abfragen und dort nur die freigegebenen Revisionen nehmen, um Zwischenspeicherungen zu ignorieren.

Viele Grüße

Felix

0 Kudos

Besten Dank!

Danach habe ich gesucht.

Grüße

Andreas

0 Kudos
aVogt
Returning Creator

Doch noch eine Frage.

An die gesuchten Felder komme ich nun ran. Wie bekomme ich aber nun die Felder der Revision, die in der Datenquelle eingepflegt wurden?

An Revision hab ich nichts gefunden. 😞

Grüße

Andreas

0 Kudos

Auf deinem Dataset gibt es die Methode getInRevision(Revision revision).

Dann hast du entsprechend den Datensatz in der mitgegebenen Revision. Hier kannst du wie gewohnt über getFormData() die Formulardaten holen, oder über getEntity() das entsprechende Entity(). Der Weg über die FormData des Datensatzes ist aber meines Wissens nach der bevorzugte.

Beispiel:

Dataset oldDataset = dataset.getInRevision(revision);

FormData frmData = oldDataset.getFormData();

String headline = frmData.get(irgendeineLanguage, "tt_headline").get();

Gruß

Felix

0 Kudos

perfekt!

Besten Dank!

Grüße

Andreas

0 Kudos