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 derou.sp.$PRODUKTKÜRZEL.installer.tsimplementiert 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}}"
}],
...