Ein Archiv kann nicht die gleiche Replik-ID, wie die Quelldatenbank haben, denn anhand der ReplikID werden von Notes Repliken (also logisch gleiche Datenbanken an unterschiedlichen Standorten) erkannt, die dann beim Replizieren auf den gleichen Inhalt gebracht werden.
Ein archiviertes Dokument sollte in der Archivdatenbank immer die gleiche Dokument-ID bekommen, da in der Dokument-ID auch das Erstelldatum des Dokuments verschlüsselt ist. Diese Information, die ich nicht für ganz unwesentlich halte, sollte durch den Archivierungsvorgang (egal, ob durch eine Original-Archivierungsmethode, wie bei der Maildatenbank, oder eine selbst- oder fremderstellte für andere Datenbanken) nicht vernichtet werden.
Wir haben uns für die Problematik verlorener bzw. veralteter Links eine eigene Methode gebaut, die wir "Dynamische DokLinks (DDL)" genannt haben. Der Hintergrund ist fachlich ein bißchen anders gelagert, aber vielleicht ist eine Anregung für das eigene Problem dabei.
Problemstellung bei uns: Verlinkungen auf organisatorische Dokumente (z.B. Arbeitsanweisungen) veralten, da wir bei Änderungen von diesen Dokumenten neue Dokumente erstellen und die alten für ungültig erklären. So halten wir die gesamte Historie fest und wissen immer, von wann bis wann welche Regelung gegolten hat.
Ein Doklink auf eine aktuelle Anweisung veraltet durch das Erstellen einer neuen Ausgabe dieser Anweisung. Natürlich kann es sinnvoll sein, einen Link zu einer Anweisung zu erstellen, die genau zu einem bestimmten Zeitpunkt gültig war. Das leistet ein normaler DokLink. Wenn wir aber einen Link zu der jeweils aktuellen Anweisung erstellen wollen ("Die aktuelle Anweisung finden Sie hier -> LINK"), müsste dieser Link bei jeder Aktualisierung der Anweisung angepasst werden. Da das nicht praktikabel ist, kommen jetzt unsere dynamischen DokLinks ins Spiel.
In der DDL werden Ziele definiert. Ein Ziel ist eine Datenbank und eine Regel, z.B. eine Ansicht oder eine Selektionsformel und ein Feld. Die Ziele definiert i.d.R. ein Mitarbeiter mit Admin- oder Entwickler-Hintergrund. Auf Basis der Ziele erfolgt die Definition von Verknüpfungen. In der Verknüpfung wird das Ziel ausgewählt und ein Schlüssel eingetragen. Ist im Ziel eine Ansicht definiert, ist der Schlüssel der Suchwert in der Ansicht, bei Selektionsformeln wird die im Ziel angegebene Selektionsformel um die Bedingung Feld = Schlüssel ergänzt. So ist es für den normalen Benutzer einfach, ein Verknüpfungsdokument zu erstellen. Er wählt das Ziel (z.B. "Arbeitsanweisungen") und trägt den Schlüssel ein ("Arbeitsanweisung XY"). Das Verknüpfungsdokument kann aktiviert und deaktiviert werden. Ist es deaktiv, öffnet sich das Verknüpfungsdokument und kann bearbeitet werden. Ist es aber aktiv, öffnet sich statt des Verknüpfungsdokuments das Dokument, das definiert wurde (also die aktuelle Arbeitsanweisung XY ).
Als DokLink wird dann ein Link auf das Verknüpfungsdokument in der DDL erstellt. Das Verknüpfungsdokument darf dann natürlich nie gelöscht werden, sonst funktionieren die Links darauf nicht mehr. Der statische Doklink, der genau auf ein Dokument zeigt, wird bei uns so dynamisch und verweist immer auf das inhaltlich gemeinte Dokument, auch dann, wenn es physikalisch ein anderes ist.