Service-Release-Modus
Nachdem eine Package-Version versiegelt wurde und dadurch die weitere Bearbeitung von Inhalten unterbunden wurde. kann sie wieder für eine eingeschränkte Bearbeitung im Service-Release Modus geöffnet werden.
Bei jedem Kompilieren einer Package-Version wird diese mit einem neuen Stempel (Compile-Stamp) versehen. Dieser hat zur Folge, dass alle darauf aufsetzenden Package-Versionen ebenfalls neu kompiliert werden müssen. Dadurch wird sichergestellt, dass alle Schnittstellen-Änderungen auch in den abhängigen Package-Version korrekt berücksichtigt werden. Eine Fehlerkorrektur in einer Package-Version, auf der viele andere Package-Versionen aufsetzen, führt so zu einem aufwändigen Update-Szenario, da alle abhängigen Package-Versionen ebenfalls neu kompiliert werden müssten.
Der Service-Release-Modus löst genau diese Problematik:
- Er ermöglicht eine eingeschränkte Bearbeitung mit Framework-Studio und lässt dabei aber keine Änderung von Schnittstellen zu.
- Bei einem anschließenden Kompilieren bleibt der zuletzt vor der Versiegelung erzeugte Compile-Stamp erhalten.
- Er bietet einen speziellen Export, der nur die seit der Versiegelung bearbeiteten Elemente berücksichtigt. Die relativ kleine Export-Datei kann schnell in einem Ziel-Repository importiert werden. Dabei werden die geänderten Daten einfach ersetzt und stehen sofort auch ohne zusätzliches Kompilieren in den abhängigen Package-Versionen zur Verfügung.
Wenn sich eine Package-Version im Service-Release-Modus befindet, dann sind in Framework Studio grundsätzlich alle Eingaben gesperrt und es können weder neue Elemente (z.B. Components oder Forms) angelegt, noch bestehende Elemente gelöscht werden.
Ausschließlich die folgenden Änderungen sind möglich:
- Es können alle Methoden-Inhalte bearbeitet werden.
- Bei Individual Component-Properties können die Get- und die Set-Methode bearbeitet werden.
- An Custom Control Data Sources können die Methoden GetXML und SetXml bearbeitet werden.
- In Text-Collections können neue Einträge angelegt werden. So können in Methoden neue Meldungen mit dem Exception- oder MessageBox-Wizard erzeugt werden.
- In ReportDocumentTypes können vorhandene Report-Dateien bearbeitet werden. Eine Änderung der Schnittstelle (XSD-Datei) ist nicht möglich.
- Beschriftungen / MLKeys können durchgängig geändert werden.
- Eigenschaften von Form-Controls können geändert werden.
Strukturelle Erweiterungen
Important
Im Service-Release sollten grundsätzlich nur Fehler behoben werden. Die hier aufgezeigten Möglichkeiten sind ausdrücklich nicht dafür gedacht, neue Funktionalitäten zu realisieren.
Im Service-Release-Modus sind alle existierenden Strukturen vor Änderungen geschützt. Das stellt sicher, dass sich die Schnittstellen nicht ändern und es so in abhängigen Package-Versionen nicht zu Compile-Fehlern kommt.
Das umfasst z.B. die folgenden Regeln:
- Datenbank-Strukturen dürfen nicht geändert werden.
- Es dürfen keine Elemente (Metadatentypen, Components, Forms, ...) umbenannt oder gelöscht werden.
- Innerhalb dieser Elemente dürfen Properties und Methoden nicht umbenannt oder gelöscht werden.
- Die Deklaration von Methoden darf nicht geändert werden.
In einem begrenzten Umfang können auch im Service-Release neue Strukturen angelegt werden. Diese werden nicht geschützt und können bis zur nächsten Auslieferung geändert oder gelöscht werden.
Important
Findet am Ende des Service-Release-Zyklus eine Auslieferung statt, dann muss im Package-Manager an der Package-Version mit Button Start new Service Release cycle das Auslieferungs-Datum (Last Deployment) gesetzt werden. Nur so werden die bis jetzt neu angelegten Strukturen ebenfalls geschützt.
Folgende strukturelle Erweiterungen sind möglich:
Components
- Neue Methoden
- Neue Properties
Forms
- Neue Methoden
- Neue Properties
Service Contract
- Neue Methoden
Service
- Neue Methoden
Service Host
- Neue Methoden
Service Proxy
- Neue Methoden
Data Contract
- Neue Properties
Resourcen
- Neue Resourcen hinzufügen
- Resourcen importieren
Methoden im Service-Release-Modus
Von Methoden kann nur der Inhalt bearbeitet werden. Die Deklaration der Methode wird nicht im Code-Editor angezeigt, damit keine versehentlichen Änderungen durchgeführt werden können.