Frage

Ich bin mit dem Lotus Notes 6.5.1 Java API eine .nsf Datei zu lesen. Jedes Dokument, in der .nsf Datei hat mehrere Dokument Geschichte. Während in der .nsf Datei durch die Dokumente durchqueren den Lotus Notes-Java-API Ich erhalte alle Dokumentversionen als separate Dokumente.

Wie stelle ich sicher nur die neueste Version jedes Dokuments von Lotus Notes abgerufen wird? Gibt es eine Möglichkeit, ein Dokument und all seine Version der Geschichte als seine Kinder eindeutig zu identifizieren?

War es hilfreich?

Lösung

Es wird ein für die Versionierung von Dokumenten in Notes Domino in Funktion gebaut. Je nach Hows es in dem Datenbank-Design konfiguriert ist (und unter der Annahme der Datenbank-Entwickler nicht ihre eigene Rolle) die Versionen werden entweder Antworten auf einen ursprünglichen Elternteil oder umgekehrt, wo neue Versionen die Eltern werden, die mit älteren Versionen zu sein Antworten.

dies jedoch Alles tut, ist eine Antwort-Hierarchie in der Datenbank automatisch für Sie einrichten, wenn Sie die Dokumente bearbeiten. Wie der Rest der Datenbank-Designs mit dieser Hierarchie interagiert mit dem Entwickler liegt.

Was möchten Sie wahrscheinlich zu tun ist, eine Ansicht erstellen, die nur Dokumente an der Spitze der Antworthierarchie zeigt. Anschließend können Sie diese Ansicht durchlaufen und wissen, dass die Dokumente, die Sie von ihm erhalten sind die neuesten Versionen.

Also, wenn Sie Dokumente mit einem Formular „Artikel“, die Formel-View-Auswahl erstellt haben würde.

SELECT form*="Article" & !@IsAvailable($ref)

Damit werden alle Artikel Dokumente, die nicht Antworten sind. Jetzt in Code können Sie einfach die Ansicht öffnen und durchqueren.

Wenn Sie einen Griff auf einem Dokument haben, können Sie seine unmittelbare Kind Antworten durch

erhalten
doc.getResponses()

Dies gibt eine DocumentCollection, die Sie rekursiv können Antworten auf Antworten zu finden. Sie können kein übergeordnetes Dokument direkt erhalten. Sie müssen zuerst seine ID mit doc.getParentDocumentUNID() bekommen und dann db.getDocumentByUNID() nennen. Natürlich kann man das kombinieren:

db.getDocumentByUNID(doc.getParentDocumentUNID())

In jedem Fall werden Sie an, was Ihre Datenbank aussehen müssen, ist tatsächlich tun, wie es ursprünglich entwickelt wurde und passen damit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top