Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich benutze folgendes Skript, um für den aktuellen User die Elemente eines Ordners aus dem Inhaltebereich automatisiert als Kopiervorlagen (Bookmarks) zu hinterlegen:
import de.espirit.firstspirit.access.BaseContext;
import de.espirit.firstspirit.access.UserService;
import de.espirit.firstspirit.access.store.IDProvider;
import de.espirit.firstspirit.access.store.IDProvider.UidType;
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.access.store.pagestore.Page;
import de.espirit.firstspirit.access.store.pagestore.PageStoreRoot;
import de.espirit.firstspirit.client.bookmark.BookmarkAgent;
import de.espirit.firstspirit.client.bookmark.BookmarkGroup;
import de.espirit.firstspirit.client.bookmark.IDProviderBookmark;
String uid = "copy_master";
UserService uss = context.getUserService();
final String CM = "CopyMaster";
PageStoreRoot psr = (PageStoreRoot) uss.getStore(Store.Type.PAGESTORE, true, false);
IDProvider folder = psr.getStoreElement(uid, UidType.PAGESTORE);
BookmarkAgent agent = context.requestSpecialist(BookmarkAgent.TYPE);
BookmarkGroup cmGroup = agent.getGroup(CM);
if (cmGroup == null) cmGroup = agent.createGroup(CM);
for (IDProvider cm : folder.getChildren(Page.class, true)) {
IDProviderBookmark bm = cmGroup.createBookmark(IDProviderBookmark.class);
bm.setElement(cm);
bm.setMaster(true);
cmGroup.adopt(bm);
}
cmGroup.save();
Ziel des Skriptes ist am Ende jedoch, dies für bestimmte User als Admin auszuführen (Bspw. möchte ich, dass alle User einer bestimmten Gruppe einen bestimmten Ordner als Kopiervorlage bekommen). GIbt es eine Möglichkeit das umzusetzen oder bin ich mit dem BookmarkAgent an den aktuell angemeldeten Benutzer gebunden?
(Eine neue Verbindung über Credentials aufbauen und entsprechend einen neuen Broker anfordern ist natürlich keine gangbare Option )
Danke und Gruß
Felix
(FirstSpirit Version 5.0.424.59809)
Eine Möglichkeit für andere Benutzer Bookmarks anzulegen gibt es nicht. Eventuell wird es in einer kommenden Version von FirstSpirit "globale Bookmarks" geben, aber darauf zu warten ist wohl keine Option
Du kannst aber über ein JavaClientPermanentPlugin (und/oder WebeditPermanentPlugin) die Funktionalität selber implementieren.
Dafür brauchst du einen eigenen Storage für die Bookmarks (über einen Service oder eine geeignete Stelle im Projekt, z.B. eine Datei im Mediastore).
Im "setUp(..)" des Plugins kannst du dann die Bookmarks des aktuellen Benutzers damit abgleichen.
Da wir das Problem wenn möglich zeitnah lösen müssen, erlaube ich mir mal, den Beitrag nochmal zu pushen 😉
Hat niemand eine Idee?
Eine Möglichkeit für andere Benutzer Bookmarks anzulegen gibt es nicht. Eventuell wird es in einer kommenden Version von FirstSpirit "globale Bookmarks" geben, aber darauf zu warten ist wohl keine Option
Du kannst aber über ein JavaClientPermanentPlugin (und/oder WebeditPermanentPlugin) die Funktionalität selber implementieren.
Dafür brauchst du einen eigenen Storage für die Bookmarks (über einen Service oder eine geeignete Stelle im Projekt, z.B. eine Datei im Mediastore).
Im "setUp(..)" des Plugins kannst du dann die Bookmarks des aktuellen Benutzers damit abgleichen.
Hallo Peter,
danke für die Antwort, habe ich mir fast gedacht 🙂
Dann werde ihc mal schauen, ob sich eine eigene Implmentierung lohnt,
oder ob wir das organisatorisch lösen.
Besten Dank und Gruß
Felix