Zum Hauptinhalt springen

Upgrade auf 24.2.0

gefahr

Unbedingt die aktuellen Installationsvoraussetzungen vorab prüfen!

tipp

Diese Anleitung berücksichtigt immer nur den Sprung von der vorhergehenden Version zu der gerade beschriebenen Version. Bei Upgrades über mehrere Versionen hinweg müssen alle Änderungen der Zwischenversionen ebenfalls beachtet werden! Siehe genereller Ablauf von Upgrades.

Breaking Changes

Es muss das neue Datenbank-Setup beachtet werden. Die Datenbankverbindungen für alle Lösungen werden nun zentral an einer Stelle verwaltet. Dazu wie folgt vorgehen (unbedingt vor dem XML Import des Updates durchführen):

  • Im Skript ou.spc.library.dbConnections überprüfen, ob die hinterlegten Datenbankverbindungen so richtig sind
    • wenn nicht, ein zugehöriges Cust-Skript (ou.cust.library.dbConnections) erstellen und die nötigen Anpassungen durchführen
    • im Standard wird mariadb als dbSystem gesetzt. Bei Windows-Installationen muss das typischerweise auf mssql geändert werden!
  • Anschließend 1x ou.sp.library.dbConnectionsTest ausführen um zu sehen, ob das neue Setup funktioniert

Was wurde gemacht?

Zusammenfassung

  • Die Konfiguration für die automatische Jira-Ticket-Erstellung wurde erweitert (POM-467)
  • Im Skript ou.cust.oud.settings wurden die Datenbank-Zugangsdaten entfernt. Diese können fortan aus der Library importiert werden (LIB-516)
  • Für den Benutzer 'lcmAdmin' (erstellt in OUSP Contract) wurde der Menüpunkt 'Deploy Wizard' entfernt (ou.cust.client.settings), da der 'Deploy Wizard' veraltet ist und die Paketverwaltung im AdminCenter verwendet werden muss. (LCM-26)
  • Die *.sql Dateien zur Einrichtung der ousp-Datenbank wurden entfernt und die Datenbankeinrichtung stattdessen in den Installer integriert (OUD-197)
  • Die Zugangsdaten für MailAgent können nun über die Umgebungsvariablen hinzugefügt werden (POM-465)

Manuell auszuführende Schritte

Umgebungsvariablen

Für die Konfiguration von MailAgent muss das Umgebungsvariablen-Script nochmals ausgeführt werden (siehe Installation).

Locale-Update manuell ausführen

Script mit folgendem Inhalt anlegen und ausführen:

context.enableModules();
const localeInstall = require("ou.sp.oud.installer.step.globalPropertiesLocales");
context.returnValue = localeInstall.install();

Das Script kann anschließend wieder gelöscht werden.

Cust-Skripte

ou.cust.oud.settings (POM-467, LIB-516)
  • Es muss ein neuer Eintrag für die Jira-Konfiguration hinzugefügt werden
  • Im Skript wird databaseConnections entfernt.

Vorher:

context.enableModules();

exports.clientHeaderCodeScriptsToLoad =
exports.jiraReportConfig =
exports.mailTemplateHandlebars =
exports.databaseConnections =
void 0;
// Immer direkt ou.sp.oud.settings importieren!
// Die Custom Änderungen werden im SolutionPackage importiert.
const dbUser = util.getEnvironment("OUSP_DATABASE_USER");
const dbPassword = util.getEnvironment("OUSP_DATABASE_PASSWORD");
const databaseConnections = {
ousp: {
dbType: "odbc",
dbName: "ousp",
dbUser,
dbPassword,
},
};
exports.databaseConnections = databaseConnections;
// Verzeichnisse
const mailTemplateHandlebars = util.isWindowsOS()
? `${context
.getServerInstallPath()
.replace(/\\server.*$/, "")}-ext\\reports\\ouMailTemplate.handlebars`
: "/usr/share/documents5-ext/reports/ouMailTemplate.handlebars";
exports.mailTemplateHandlebars = mailTemplateHandlebars;
const jiraReportDefault = {
customerEmail: "abc@xyz.com",
customerKey: "CXXXX",
systemKey: "OUK-XXXX",
productKey: "OUK-XXXX",
priority: "medium",
};
const jiraReportConfig = {
emailMonitoring: jiraReportDefault,
masterDataUpload: jiraReportDefault,
mailAgentSync: jiraReportDefault,
};
exports.jiraReportConfig = jiraReportConfig;
const clientHeaderCodeScriptsToLoad = [];
exports.clientHeaderCodeScriptsToLoad = clientHeaderCodeScriptsToLoad;

Nachher:

context.enableModules();

exports.clientHeaderCodeScriptsToLoad = exports.jiraReportConfig = exports.mailTemplateHandlebars = void 0;
// Immer direkt ou.sp.oud.settings importieren!
// Die Custom Änderungen werden im SolutionPackage importiert.
// Verzeichnisse
const mailTemplateHandlebars = util.isWindowsOS() ? `${context.getServerInstallPath().replace(/\\server.*$/, "")}-ext\\reports\\ouMailTemplate.handlebars` : "/usr/share/documents5-ext/reports/ouMailTemplate.handlebars";
exports.mailTemplateHandlebars = mailTemplateHandlebars;
const jiraReportDefault = {
customerEmail: "abc@xyz.com",
customerKey: "CXXXX",
systemKey: "OUK-XXXX",
productKey: "OUK-XXXX",
priority: "medium"
};
const jiraReportConfig = {
emailMonitoring: jiraReportDefault,
masterDataUpload: jiraReportDefault,
/* Neuer Code */
mailAgentSync: jiraReportDefault
/* Ende Neuer Code */
};
exports.jiraReportConfig = jiraReportConfig;
const clientHeaderCodeScriptsToLoad = [];
exports.clientHeaderCodeScriptsToLoad = clientHeaderCodeScriptsToLoad;

ou.cust.client.settings (LCM-26)

Deploy-Wizard Münüpunkt im Einstellungsmenü muss entfernt werden. Aus Customizing Gründen wurde als Beispiel ein Kommentar für einen bedingten Eintrag im Einstellungsmenü um ein Gadget zu öffnen hinzugefügt.

Vorher:

context.enableModules(); // ************************************************************************
// One Unity Consulting GmbH & Co. KG
// ************************************************************************
// Ein allg. Skript zum Definiern zusätzlicher Einträge für das Einstellungsmenü
// (Aufruf über das Zahnradsymbol unten rechts)
// siehe Property additionalSettingsScript auf Documents-Einstellung
// ************************************************************************
const entries = [{
name: "runScriptUserConfiguration",
label: context.getFromSystemTable("userconfig.form.title"),
tooltip: "Öffnet die Benutzerkonfiguration",
action: "runScript:ou.sp.client.action.openUserConfiguration"
}, {
name: "RULER",
label: ""
}];
if (context.currentUser === "lcmAdmin") {
entries.push({
name: "Deploy_Wizard",
label: "Deploy Wizard",
action: {
gadgetDialog: true,
gadgetScript: "Gadget_otrPkgDeploy_Wiz",
gadgetAction: "ShowDeployWizard",
gadgetWidth: 800,
gadgetHeight: 600
}
});
}
context.returnValue = JSON.stringify(entries);

Nachher:

context.enableModules(); // ************************************************************************
// One Unity Consulting GmbH & Co. KG
// ************************************************************************
// Ein allg. Skript zum Definiern zusätzlicher Einträge für das Einstellungsmenü
// (Aufruf über das Zahnradsymbol unten rechts)
// siehe Property additionalSettingsScript auf Documents-Einstellung
// ************************************************************************
const entries = [{
name: "runScriptUserConfiguration",
label: context.getFromSystemTable("userconfig.form.title"),
tooltip: "Öffnet die Benutzerkonfiguration",
action: "runScript:ou.sp.client.action.openUserConfiguration"
}, {
name: "RULER",
label: ""
}];
// Beispiel für einen bedingten Eintrag im Einstellungsmenü
// if (context.currentUser === "lcmAdmin") {
// entries.push({
// name: "Dialog_Name",
// label: "Dialog Label",
// action: {
// gadgetDialog: true,
// gadgetScript: "...script...",
// gadgetAction: "...action...",
// gadgetWidth: 800,
// gadgetHeight: 600,
// },
// });
// }
context.returnValue = JSON.stringify(entries);