Questions & Answers

SOLVED
nil_mon
Occasional Observer

GidAgent adaptGid in Skript

Jump to solution

Moin moin,

ich habe gerade ein Script in der Hand, mit dem Redakteure Metadaten von Dateien Ordnerweise bearbeiten kรถnnen. Die Dateien des Ordners werden in eine Liste gesteckt und in eine temporรคre Datenbank gespeichert.

Ich habe im Rahmen der Umstellung von FS-List auf FS-Index das Script bearbeiten mรผssen und muss deshalb รผber den GID-Agent den Eintrรคgen eine GID zuweisen. Das tue ich รผber

gidAgent = context.requireSpecialist(GidAgent.TYPE);

gidAgent.adaptGid(mediumDatasource.getSchema(), Collections.singletonList(mediumEntity), true);

DataAccessSession<Dataset> dataAccessSession = mediumList.createSession(context);

String identifier = dataAccessSession.getIdentifier(mediumDatasource.getDataset(mediumEntity));

Index.Record record = mediumList.create(identifier );

mediumList.add(record);

Leider funktioniert das nur als Admin-Benutzer. Dem Redakteur wird eine Fehlermeldung geworfen:

SecurityException: Access not allowed ....

Gibt es eine Mรถglichkeit, hier als Redakteur eine GID zu erstellen? Bzw., im Rahmen der Ausfรผhrung des Skriptes eine Admin-Rolle anzunehmen?

Mit besten GrรผรŸen
Nils Knudsen

1 Solution

Accepted Solutions
nil_mon
Occasional Observer

Konnte den Fehler lรถsen, indem ich ein .commit() nach der erzeugung der Entity auf der basierenden Session aufrufe. So brauche ich GidAgent nicht.

Aber was mich ggf. noch interessiert ist, ich kann eine Verbindung รผber den ConnectionManager aufbauen und mir dann requireSpecialist aufrufen. Hole ich mir hierรผber den GidAgent, kriege ich nur null zurรผck.

Gibt es eine Mรถglichkeit sich den Agenten zu holen oder zu erstellen?

View solution in original post

0 Kudos
2 Replies
nil_mon
Occasional Observer

Konnte den Fehler lรถsen, indem ich ein .commit() nach der erzeugung der Entity auf der basierenden Session aufrufe. So brauche ich GidAgent nicht.

Aber was mich ggf. noch interessiert ist, ich kann eine Verbindung รผber den ConnectionManager aufbauen und mir dann requireSpecialist aufrufen. Hole ich mir hierรผber den GidAgent, kriege ich nur null zurรผck.

Gibt es eine Mรถglichkeit sich den Agenten zu holen oder zu erstellen?

0 Kudos

Hallo Nils,

ich vermute das liegt in dem Fall daran, dass du keinen projektgebundenen broker nutzt - den musst du dir erst noch besorgen. Wie das geht siehst du z.B. hier:

Re: WorkflowAgent in Modul

Viele GrรผรŸe

Michael

Type a product name