Questions & Answers

SOLVED
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

Type a product name