- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CorporateContent - Abonnement manipulieren
Hallo zusammen,
Es ist mรถglich die Knotenliste eines รคnderbaren Pakets รผber die API zu manipulieren.
Ich habe folgendes ausprobiert leider ohne Erfolg.
//!Beanshell
import de.espirit.firstspirit.access.packagepool.PackageManager;
import de.espirit.firstspirit.access.packagepool.Package;
import de.espirit.firstspirit.access.packagepool.Subscription;
import de.espirit.firstspirit.access.store.IDProvider;
import de.espirit.firstspirit.access.packagepool.Package;
import java.util.Collection;
import de.espirit.firstspirit.access.store.StoreElement;
StoreElement element = (StoreElement) context.getElement();
if(element.isSubscribedItem() && element.isChangeable()){
Package pack = element.getPackage();
PackageManager pm = (PackageManager) context.getConnection().getService(PackageManager.SERVICE_NAME);
Collection col = pm.getSubscriptions(pack);
if(col.size()>0){
Subscription sub = col.iterator().next();
sub.includeNode((IDProvider) element);
sub.save();
sub.refresh();
}
}
Der Geltungsbereich des Skripts ist Kontextmenรผ.
Hat jemand eine Idee warum es nicht funktioniert?
Danke & Grรผรe,
Fidel
- Labels:
-
Developers
-
Knowledgebase
-
Project Usage
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Ibrahim, hallo Fidel,
das funktioniert, ich habe es ausprobiert. Da muss man aber schon sehr genau in der Doku lesen, um das zu verstehen. Wobei es natรผrlich logisch ist, dass man nicht das lokale Element sondern das aus dem Master exkludieren bzw. inkludieren muss. Danke auf jeden Fall, ich kann das auch grad gebrauchen
Grรผรe
Matthias
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Fidel,
so wie ich das sehe รผbergibst du das falsche Element. Laut Doku muss es sich dabei um das IDProvider-Objekt aus dem Paket-Master handeln.
An diesen kommst du z.B. wie folgt ran:
...
IdTranslator idTranslator = sub.getElementIdTranslator();
Long idFromPublisher = idTranslator.translateIdToPublisher(element.getId());
IDProvider idProviderFromPublisher = element.getPackage().getPublisher().getUserService().getStore(Store.Type.SITESTORE, false).getStoreElement(idFromPublisher);
sub.includeNode(idProviderFromPublisher);
...
Dabei muss natรผrlich der korrekte Store.Type gewรคhlt werden.
Ich hoffe das hilft dir weiter
Viele Grรผรe,
Ibrahim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Ibrahim, hallo Fidel,
das funktioniert, ich habe es ausprobiert. Da muss man aber schon sehr genau in der Doku lesen, um das zu verstehen. Wobei es natรผrlich logisch ist, dass man nicht das lokale Element sondern das aus dem Master exkludieren bzw. inkludieren muss. Danke auf jeden Fall, ich kann das auch grad gebrauchen
Grรผรe
Matthias

