Umstieg auf das neue React-File-Cover
Vorgehen
Ist eine Migration überhaupt notwendig?
Als erstes muss überprüft werden, ob zum Skript
Gadget_ou.spc.ptpREQ.filetype.field.cover ein gleichnamiges cust-Skript
existiert. Wenn nein, und wenn außerdem im spc-Skript nicht versehentlich direkt
Customizing betrieben wurde 🫣, ist keine Migration notwendig.
Migration durchführen
Falls also ein cust-Skript existiert, müssen dort folgende Anpassungen vorgenommen werden:
1. Die Importe anpassen
Folgender Import wird nicht mehr benötigt:
var ou_sp_gadget_MultiTable_1 = require("ou.sp.gadget.MultiTable");
Folgender Import muss hinzugefügt werden:
var ou_sp_ReactHelper_1 = require("ou.sp.ReactHelper");
2. Die Funktion getHtmlTemplate entfernen (davor notieren, wie die Custom Property heißt, die geladen wird)
/* Ab hier entfernen */
var getHtmlTemplate = function getHtmlTemplate() {
var htmlProperties = context.getCustomProperties("ou.sp.ptpREQ.filetype.field.html.cover");
if (htmlProperties.size() <= 0) {
throw new Error(context.getFromSystemTable("TE_DASHBOARD_ACTIVITIES_ERROR_TEMPLATE_NOT_FOUND"));
}
var htmlTemplateProperty = htmlProperties.first();
if (!htmlTemplateProperty.value) {
throw new Error(context.getFromSystemTable("TE_DASHBOARD_ACTIVITIES_ERROR_TEMPLATE_EMPTY"));
}
return "<div data-id=\"".concat(id, "\">").concat(htmlTemplateProperty.value, "<div>");
};
/* Bis hier entfernen */
3. Die Erstellung der HTML-Instanz ändern
Vorher:
/* Diesen Block entfernen */
var html = (0, gadgetAPI_module_gadgetAPI_1.getHTMLInstance)();
html.appendHtml(getHtmlTemplate());
html.setContextData(ou_sp_gadget_MultiTable_1.MultiTableOptionsHelper.stringify(options));
html.onGadgetLoad(onGadgetLoad);
return html;
/* Ende Block */
Nachher:
/* Diesen Block einfügen */
return (0, ou_sp_ReactHelper_1.createReactGadget)({
gadgetName: "RequestCover",
gadgetOptions: options
});
/* Ende Block */
4. Die Funktion onGadgetLoad entfernen
/* Ab hier entfernen */
function onGadgetLoad() {
/* ... function body */
}
/* Bis hier entfernen */
5. Überprüfen, ob im HTML-Code selbst customizing vorgenommen wurde
Dazu überprüfen, ob das in Schritt 2 notierte Custom Property "ou.sp.ptpREQ.filetype.field.html.cover" heißt. Wenn dem so ist (und auch ausgeschlossen wurde, dass in diesem Custom Property direkt Customizing betrieben wurde), ist die Migration abgeschlossen.
6. HTML-Customizing migrieren
Falls ein anderes Custom Property verwendet wird, z.B. "ou.cust.ptpREQ.filetype.field.html.cover", muss der Unterschied zwischen dem Inhalt der beiden Custom Properties evaluiert und anhand der Anleitung unter React File-Cover Customizing eine Customizing-Strategie gewählt werden. Auch CSS-Anpassungen müssen hier beachtet werden (z.B. in ou.cust.ptpREQ.clientHeaderCode.css.progressSteps).
Je nach Komplexität des vorhandenen Customizings lohnt es sich möglicherweise, hier einen Entwickler hinzuzuziehen.