Das Dokumentenmodul ist die zentrale Einheit des RM-Dienstes, von dieser aus werden
nahezu alle notwendigen Vorgänge angestoßen und synchronisiert. Sie stellt den
Zugang zu allen anderen Klassen, wie auch zu dem „unmanaged“ Lizenzmodul, her.
Des Weiteren werden in dieser Klasse die Rechte, der Nutzungszeitraum und die
berechtigten Benutzer festgelegt und übergeben. Dieser Abschnitt gibt einen Überblick,
welche Klassen es beinhaltet und wie diese interagieren, wobei aber nicht auf
jedes Detail eingegangen werden kann.
5.4.1 Publish
Die Publish Methode verschlüsselt ein Objekt, erstellt die benötigte Veröffentlichungslizenz
und erzeugt eine neue Container-Hülle (VUNO), in die das verschlüsselte
Objekt und die dazugehörige Veröffentlichungslizenz geschrieben werden. Die
dabei ablaufenden Vorgänge werden im Folgenden kurz gezeigt:
· Die Informationen über das neue Objekt, wie zum Beispiel sein Speicherort und
sein interner Veröffentlichungsstatus werden in einem „Speicher-Objekt“
(m_RmhDocProp) abgelegt.
· Durch die Erstellung eines ein neues RMSWsrv Objektes, welches einen asynchronen
Zugriff auf die Crypto.Encrypt Funktion ermöglicht, wird mit der Verschlüsselung
begonnen.
· Nun wird durch Aufruf der privaten Funktion GetUnsignedPublishingLicense die
unsignierte Veröffentlichungslizenz erstellt. Durch die Webschnittstelle können
hier weitere Informationen, wie die Gültigkeitsdauer oder andere Metainformationen
zu der Veröffentlichungslizenz hinzugefügt werden. Benutzerrechte werden
durch Aufruf der Rmhstore.StoreUserRights Methode zugewiesen.
· Durch Aufruf der privaten Funktion GetSignedPublishingLicense wird die Veröffentlichungslizenz
signiert.
· Die signierte Veröffentlichungslizenz wird durch Aufruf der Lizenzmodul-
Funktion AddPublishingLicense der dem VUNO hinzugefügt.
· Der Dokumentenstatus wird aktualisiert und schlussendlich wird das neue Dokument
durch Aufruf der Checkin Methode, als fertig gelistet.
5.4.2 Republish
Die Methode Republish ersetzt eine existierende signierte Veröffentlichungslizenz
durch folgende Schritte:
· Sie liest die Container Hülle durch Aufruf der Checkout Methode aus.
· Dann wird die existierende Veröffentlichungslizenz aus der Datei kopiert (Get-
PublishingLicense).
|