aVogt
Returning Creator

"Freigabe nutzen" nur in bestimmten Bereichen

Hallo,

ehe ich ein FR erstelle:

Wir haben Medien, bzw. Inhalte die noch mal durch eine zweite person kontrolliert werden müssen. Deswegen nutzen wir die Freigabe mit einem 4-Augen -Arbeitsablauf. Dadurch müssen aber auch alle anderen Inhalte und Medien freigegeben werden (einfacher Arbeitsablauf). Das gefällt den Redakteuren nicht.

Gibt es eine Möglichkeit die Freigabe (Einstellung unter Projekteinstellungen -> Optionen -> Freigabe nutzen) nur auf bestimmte Bereiche festzulegen?

0 Kudos
3 Replies
feddersen
Community Manager

Nein, die Einstellung wirkt sich immer auf das gesamte Projekt aus. Sie können natürlich unterschiedliche Freigaberechte und auch unterschiedliche Freigabeworkflows verwenden. So kann in einem Bereich ein 4-Augen-Arbeitsablauf notwendig sein, während in einem anderen Bereich jeder Objekte freigeben darf.

0 Kudos

Ok. Das Freigeben der eigenen Objekte ist sicher möglich, das gefällt aber den Nutzern (leider) nicht. Die sehen auch event. Vorteile nicht (z.B. Arbeitsstand - morgen weiter arbeiten). Der Klick "Freigabe" ist denen zu viel

0 Kudos
hoebbel
Crownpeak employee

Hallo Herr Vogt,

dann besteht natürlich die Möglichkeit, die Freigabe vor der Veröffentlichung automatisiert durchzuführen.

Folgendes Skript habe ich mal geschrieben, um sicherzustellen, dass alle Ordner in der Inhalte-Verwaltung im Freigabestand vorhanden sind [Grundgedanke ist hier, dass sichergestellt wird, dass Seiten in der Inhalte-Verwaltung durch geschickte Verschiebeoperationen nicht aus dem Freigabestand ausgehängt werden können]

Solcher Code macht natürlich nur bei relativ kleinen Projekten Sinn. Wenn Sie große Projekte haben, dann wäre es sinnvoller, über die Änderungen seid der letzten Durchführung des Skriptes zu iterieren und eine Liste mit geänderten Knoten zu ermitteln und diese dann entsprechend abzuarbeiten.

import de.espirit.firstspirit.access.store.Store;

import de.espirit.firstspirit.access.store.IDProvider;

userservice = connection.getProjectById(context.getProject().getId()).getUserService(); //schreibender Zugriff, also muss eine eigene Verbindung definiert werden, wobei der angegebene Benutzer ausreichend rechte haben muss!

pagestore = userservice.getStore(Store.Type.PAGESTORE,false);

storeElements = pagestore.getChildren(de.espirit.firstspirit.access.store.pagestore.PageFolder.class,true);

storeElementCounter = storeElements.iterator();

while (storeElementCounter.hasNext()) {

    elem = storeElementCounter.next();

    if (!elem.isInReleaseStore()) {   

        try {

            elem.setLock(true,false);

            elem.release(false);

        } catch (Exception e) {

            context.logInfo("lock or release not possible for pagestore folder:" + elem.getUid() + " (ID:" + elem.getId() + ")");

        }

        try {

            elem.setLock(false,false);

        } catch (Exception e) {

        }

    }

}

context.setStartTime(new Date());

Viele Grüsse aus Dortmund,

  Holger Höbbel

0 Kudos