Zum Hauptinhalt springen

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).

tipp

Je nach Komplexität des vorhandenen Customizings lohnt es sich möglicherweise, hier einen Entwickler hinzuzuziehen.