Search the FirstSpirit Knowledge Base
Hallo,
wie kann man mittels Java/Groovy alle freigegebenen Datensätze einer Datenquelle auflisten?
Eigentlich genau die Auflistung, welche man im FS Client unter der "Freigegebene Datensätze" Übersicht einer Datenquelle bekommt, nur programmtechnisch.
Danke!
Hallo Olga,
dazu gibt es die Methode Session#getReleasedDeleted(...). Mit den entsprechenden Ergebnissen kannst Du die Datensätze bzw. Entities dann auch aus dem Freigabestand löschen.
Viele Grüße
Michael
Hallo Olga,
man könnte über die Datensätze iterieren und die freigegebenen Datensätze sammeln:
StoreAgent storeAgent = specialistsBroker.requireSpecialist(StoreAgent.TYPE);
ContentStoreRoot contentStore = (ContentStoreRoot) storeAgent.getStore(Store.Type.CONTENTSTORE);
Content2 dataSource = contentStore.getContent2ByName("dataSource");
List<Dataset> releasedDatasets = dataSource.getDatasets().stream()
.filter(IDProvider::isReleased)
.collect(Collectors.toList());
Grüße,
Philipp
Hallo Philipp,
danke für die Antwort.
Ich dachte, dass via Content2.getDatasets() nur Datensätze aus dem aktuellen "Arbeitsstand" bekommt oder aus dem Freigabestand auch?
Mein Ziel ist, Leichen im Freigabestand zu finden, die nicht mehr im Arbeitsstand enthalten sind, was meistens passiert, wenn man beim Löschen des Datensatzes die Checkbox zum Löschen auch im Freigabestand nicht aktiviert.
Gruß,
Olga
Hallo Olga,
dazu gibt es die Methode Session#getReleasedDeleted(...). Mit den entsprechenden Ergebnissen kannst Du die Datensätze bzw. Entities dann auch aus dem Freigabestand löschen.
Viele Grüße
Michael
Hallo Michael,
danke für die Antwort. Ich glaube, das ist genau, was ich brauche. Nur mich irritiert, warum ich die gelöschten Datensätze nicht mehr unter dem Reiter "Freigegebene Datensätze" der Datenquelle finde (beim Filtern nach fs_id werden da keine angezeigt)? Eigentlich meiner Erwartung nach, sollen in diesem Reiter alle freigegebene Datensätze aufgelistet sein inklusiv die im "Arbeitsstand" gelöscht wurden ohne im Freigabestand gelöscht zu werden. Oder verstehe ich was falsch?
Wie löscht man dann diese Phantom-Datensätze endgültig? Nur mittels ein Script?
Danke!
Gruß,
Olga
Hallo Olga,
eigentlich sollten dort alle freigegebenen Datensätze auftauchen. Bei denen, die aus dem Current-Stand schon gelöscht wurden, sollte dort ein Mülleimer-Button ganz links erscheinen, über das diese Datensätze dann auch im Freigabestand gelöscht werden können.
Du kannst dort sogar im SA einen "eingebauten" Filter setzen, der Dir nur die gelöschen anzeigt. Dann kannst Du mit STRG-A und ENTF diese Datensätze in einem Rutsch löschen.
Viele Grüße
Michael
Aha... dann stimmt was mit der Suche nicht wirklich im SA, weil wenn ich über das Suchfeld im Reiter "Freigegebene Datensätze" nach fs_id des gelöschten Datensatzes suche, dann kommt nichts (wobei meistens suche ich genauso nach bestimmte Datensätze), wenn ich aber über den Filter "Status: gelöscht" diese ausgeben lasse, dann kommen schon welche mit dem Eimer links.
Auf jeden Fall danke für den Tipp! Dieser spart mir sogar die "programmtechnische Suche"
Gruß,
Olga
Hallo Olga,
... und gerade wollte ich noch nachfragen wie Du genau gesucht hast
Die "Volltextsuche" funktioniert nur auf dem Current-Stand, weil sie über den Suchindex läuft und nur der Current-Stand indiziert wird.
Genau darum ist mit der aktuellsten Version 2018-07 auch das Suchfeld für die Volltextsuche im Release-Stand der Datenquellen raus gefallen, weil es - wie man ja in Deinem Fall gesehen hat - zu Verwirrungen geführt hat.
Viele Grüße
Michael
Hallo Michael,
aha, ok, dann jetzt verstehe ich, warum ich nichts gefunden hatte.
D.h. es gibt gar keine Möglichkeit über den Freigabestand zu suchen?
Mit freundlichen Grüßen,
Olga Lobanova