Zum Hauptinhalt springen

Produktentwicklung / Versionen

Konventionen

Installer-Dateien

Die Haupt-Installer-Datei (welche installOrUpgrade aufruft) sollten wie folgt benannt sein:

  • ou.sp.$PRODUKTKÜRZEL.installer.ts

Sollten verlinkte Schritte notwendig sein (Testbarkeit, Übersichtlichtkeit), sollten diese wie folgt benannt sein:

  • ou.sp.$PRODUKTKÜRZEL.installer.runner.ts - Script, welches die einzelnen Subtasks aufruft, sofern nötig (kann auch in der ou.sp.$PRODUKTKÜRZEL.installer.ts implementiert werden)
  • ou.sp.$PRODUKTKÜRZEL.installer.step.$BESCHREIBUNG.ts - Subtask

Update-Dateien

Update-Dateien sollten wie folgt benannt sein:

  • ou.sp.$PRODUKTKÜRZEL.installer.update.$VERSION.ts - Die Version muss hierbei natürlich mit der Version, zu der das Update gehört, gleich sein.

Sollten mehrere Features oder Fixes mit einer Version hereinkommen, welche ein Update-Script benötigen, so muss dies in der Update-Datei sichtbar sein. Beispielsweise über nach Issue-ID (z.B. POM-123) benannte Step-Funktionen:

import type { InstallStepInputOptions } from "@one-unity/library/ou.sp.Package";
const { Package } = require("ou.sp.Library");

function pom123(options: InstallStepInputOptions): void {
options.appendToResultSuccess("testing 123...");
}

function inv456(options: InstallStepInputOptions): void {
options.appendToResultSuccess("testing 456...");
}

module.exports = Package.createInstallerModule(
[
{ id: "POM-123", execute: pom123 },
{ id: "INV-456", execute: inv456 },
],
{ message: "Applying update X.Y.Z", asUser: "oucadmin" }
);

Neue Update-Dateien (Version NEXT)

Bei neuen Update-Dateien, bei denen die neue Version noch nicht klar ist, muss wie folgt benannt werden:

  • ou.sp.$PRODUKTKÜRZEL.installer.update.next.ts

Hierbei muss in der ou.sp.$PRODUKTKÜRZEL.installer.ts auch ein Placeholder verwendet werden:

...
updateScriptsJs: [{
version: "{{VERSION_NEXT}}",
updateScriptName: "ou.sp.$PRODUKTKÜRZEL.installer.update.{{VERSION_NEXT}}"
}],
...