Rücktransport
Was ist die Rücktransport-Funktionalität?
Multisite Management (MSM) ermöglicht die Verteilung von Inhalten aus einem Quellprojekt in eines oder mehrere Zielprojekte. Die MSM Rücktransport-Funktionalität hingegen ermöglicht es Ihnen, Inhalte aus einem solchen Zielprojekt zurück in das Quellprojekt zu übertragen.
MSM Rücktransport deckt Anwendungsfälle ab, in denen Redakteure im Zielprojekt Inhalte verändern, die zuerst aus dem Quellprojekt in das Zielprojekt transportiert wurden. Diese Änderungen sollen zurück in das Quellprojekt übertragen werden. Dafür muss ein Change Request im Zielprojekt erstellt werden.
Change Requests können nur für Inhalte erstellt werden, die ursprünglich als Teil eines aktiven und ausgerollten Bundles vom Quellprojekt in ein Zielprojekt übertragen wurden.
Im Zielprojekt erfolgt die Change Request-Anfrage über ein benutzerdefiniertes ContentCreator-Skript oder mithilfe eines benutzerdefinierten Workflows. Im Quellprojekt steht Ihnen eine Benutzeroberfläche zur Verfügung, um eingehende Change Requests aus Zielprojekten zu verwalten.
Vorraussetzungen im Zielprojekt
Sie können Change Requests entweder über ein benutzerdefiniertes ContentCreator-Skript oder einen benutzerdefinierten Workflow erstellen. Sie müssen sowohl das Skript für den ContentCreator als auch den Workflow projektspezifisch anpassen.
In beiden Fällen muss im Skript geprüft werden ob eines oder mehrere Elemente geändert wurden.
Bei der Erstellung des Change Request-Skripts können Sie sich an folgendem Beispiel-Skript orientieren:
import java.util.*;
import de.espirit.firstspirit.agency.*;
import de.espirit.firstspirit.ui.operations.*;
import de.espirit.firstspirit.access.store.pagestore.*;
import de.espirit.firstspirit.modules.multisite.agency.MultisiteAgents;
import de.espirit.firstspirit.modules.multisite.agency.operation.*;
// Helper method that checks if an element has been modified and creates a new TransportRequest for it in that case.
createRequestIfModified(sourceProject, targetProject, language, element) {
modified = itemAgent.isModified(element, targetProject, language);
if (!modified) {
return;
}
// call operation
transportOperation = itemAgent.getTransportOperation(element);
transportOperation.source(language, element.getRevision()).target(targetProject);
transportOperation.perform();
}
// initialize variables
operationAgent = context.requireSpecialist(OperationAgent.TYPE);
requestOperation = operationAgent.getOperation(RequestOperation.TYPE);
element = context.getElement();
sourceProject = element.getProject();
// get target project
targetProjectName = "Mithras 1";
targetProject = context.getConnection().getProjectByName(targetProjectName);
if (targetProject == null) {
throw new RuntimeException("Project '" + targetProjectName + "' not found. Request cancelled.");
}
// get language to transport
languageAbbreviation = "EN";
language = sourceProject.getLanguage(languageAbbreviation);
if (language == null) {
throw new RuntimeException("Language '" + languageAbbreviation + "' not found. Request cancelled.");
}
// get ItemAgent
itemAgent = MultisiteAgents.create(context).getItemAgent();
// create request for the current element
createRequestIfModified(sourceProject, targetProject, language, element);
// special handling for pages: iterate over sections and create a request for each modified section
if (element instanceof Page) {
page = element;
for (section: page.getChildren(Section.class, true).toList()) {
createRequestIfModified(sourceProject, targetProject, language, section);
}
}
// log info
context.logInfo("Script executed without any errors.");
Verwaltung im Quellprojekt
Im Quellprojekt können Sie über die Benutzeroberfläche Change Requests einsehen und, falls notwendig, editieren, annehmen oder ablehnen.
Offene Change Requests anzeigen
Sie können eingegangene und noch nicht angenommene Change Requests aus Zielprojekten im Quellprojekt in der MSM-Benutzeroberfläche verwalten:
- Öffnen Sie das Quellprojekt im ContentCreator.
- Navigieren Sie zur MSM-Benutzeroberfläche.
- Öffnen Sie den Tab Pull.
→ Der Tab Change requests wird standardmäßig geöffnet. Hier können Sie alle eingegangenen und noch nicht angenommenen Change Requests verwalten.
Für jeden in der Liste angeführten Change Request steht die folgende Information zur Verfügung:
- Element: Typ sowie Name des betroffenen Elements
- Source Project: Name des Projekts, in dem der Change Request erstellt wurde.
- Languages: Sprache, die der Change Request betrifft.
- Date/Time: Datum sowie Uhrzeit, zu der der Change Request erstellt wurde.
- Conflicts: Zeigt an, ob das Element sprachunabhängige Formular-Elemente enthält, die bei Annahme des Change Requests überschrieben werden könnten.
Offene Change Requests filtern
Um die Verwaltung von Change Requests zu vereinfachen, können Sie die Liste der Change Requests filtern.
Es stehen Ihnen folgende Filter-Optionen zur Verfügung:
- Projects: Filtern Sie die Liste nach Zielprojekten, um nur Change Requests aus gewünschten Zielprojekten anzuzeigen.
- Languages: Filtern Sie die Liste nach Sprachen, um nur Change Requests für eine oder mehrere gewünschte Sprachen anzuzeigen.
- Conflicts: Filtern Sie die Liste nach Change Requests mit oder ohne Konflikte, um entweder nur Change Requests ohne Konflikte oder nur Change Requests mit Konflikten anzuzeigen.
Konflikte anzeigen
Wurde ein Change Request für ein Element, das sprachunabhängige Formular-Elemente enthält, erstellt, führt dies zu potenziellen Konflikten.
Sie können Konflikte für Change Requests in der Benutzeroberfläche einsehen:
- Navigieren Sie zum Tab Pull in der MSM Benutzeroberfläche.
- Klicken Sie auf im Listeneintrag des gewünschten Change Requests.
→ Eine Liste aller potenziellen Konflikte wird angezeigt.
Beispiel:
Sie erstellen einen Change Request für ein Element, das einen sprachabhängigen Text und ein sprachunabhängiges Bild enthält. Das sprachunabhängige Bild aus dem Zielprojekt ist nicht identisch mit dem Bild im Quellprojekt. Wenn Sie den Change Request ohne Bearbeitung annehmen, werden sowohl der sprachabhängige Text als auch das sprachunabhängige Bild in das Quellprojekt übertragen.
Offenen Change Request einsehen
Für jeden Change Request steht Ihnen ein Log zur Verfügung. Im Log finden Sie weitere Details zum gewählten Change Request, z.B. ob dieser editiert wurde.
- Navigieren Sie zum Tab Pull in der MSM-Benutzeroberfläche.
- Bewegen Sie die Maus über den Change Request, den Sie einsehen möchten.
→ Eine Toolbar wird angezeigt. - Klicken Sie auf das Symbol Show Log.
→ Die History für den offenen Change Request wird angezeigt.
Change Request editieren
Sie sollten alle Change Requests im Detail ansehen, bevor Sie diese annehmen. Im Editier-Modus können Sie einzelne Text-Elemente übernehmen und so den Change Request editieren. Dadurch können Sie auch sicherstellen, dass in einem Change Request mit Konflikt keine sprachunabhängigen Elemente rücktransportiert werden.
- Navigieren Sie zum Tab Pull in der MSM-Benutzeroberfläche.
- Bewegen Sie die Maus über den Change Request, den Sie einsehen möchten.
→ Eine Toolbar wird angezeigt. - Klicken Sie auf das Symbol Merge.
→ Im Editor sehen Sie links den Stand aus dem Zielprojekt, der rücktransportiert werden kann, und rechts den aktuellen Stand im Quellprojekt. - Um ein im Quellprojekt noch nicht enthaltenes Text-Element zu übernehmen, klicken Sie auf das Plus-Symbol . Um ein im Quellprojekt bereits enthaltenes aber im Zielprojekt geändertes Text-Element zu übernehmen, klicken Sie auf das Stift-Symbol .
Alternativ: Klicken Sie auf in der Toolbar um ein Text-Element zu übernehmen. - Optional: Um ein Text-Element auf den aktuellen Stand im Quellprojekt zurückzusetzen, klicken Sie auf in der Toolbar.
- Klicken Sie auf Speichern.
→ Die vorgenommenen Änderungen des Change Requests werden gespeichert.
Change Request annehmen
Sie können entweder einen einzelnen Change Request oder mehrere Change Requests aus der Liste gleichzeitig annehmen.
Einzelne Change Requests annehmen
- Navigieren Sie zum Tab Pull in der MSM-Benutzeroberfläche.
- Bewegen Sie die Maus über den Change Request, den Sie annehmen möchten.
→ Eine Toolbar wird angezeigt. - Klicken Sie auf das Symbol Apply.
→ Der Change Request wurde angenommen.
Mehrere Change Requests annehmen
- Navigieren Sie zum Tab Pull in der MSM-Benutzeroberfläche.
- Selektieren Sie einen oder mehrere Change Requests über die Checkbox in der Übersichtsliste.
- Klicken Sie Apply selected changes.
→ Die selektierten Change Requests wurden angenommen.
Change Request ablehnen
Sie können entweder einen einzelnen Change Request oder mehrer Change Requests in der Liste ablehnen.
Einzelnen Change Request ablehnen
- Navigieren Sie zum Tab Pull in der MSM-Benutzeroberfläche.
- Bewegen Sie die Maus über den Change Request, den Sie ablehnen möchten.
→ Eine Toolbar wird angezeigt. - Klicken Sie auf das Symbol Discard.
→ Der Change Request wurde abgelehnt.
Mehrere Change Requests ablehnen
- Navigieren Sie zum Tab Pull in der MSM-Benutzeroberfläche.
- Selektieren Sie einen oder mehrere Change Requests über die Checkbox in der Übersichtsliste.
- Klicken Sie Discard selected changes.
→ Die selektierten Change Requests wurden abgelehnt.
Angenommene Change Requests nachvollziehen
Sie können Change Requests auch nach der Annahme nachvollziehen.
- Navigieren Sie zum Tab Pull in der MSM-Benutzeroberfläche.
- Öffnen Sie den Tab History.
→ Hier können Sie alle angenommenen Change Requests einsehen. - Optional: Filtern Sie die Liste.
- Bewegen Sie die Maus über den Change Request, den Sie nachvollziehen möchten.
- Klicken Sie auf das Symbol Show Log .
→ Die History für den angenommenen Change Request wird angezeigt.