Archiv der Kategorie Lotus Notes

Warum man den Feldnamen “URL” in Notes nicht nutzen sollte…

Durch einen Blogeintrag von Tim Tripcony ist mir ein bereits wieder vergessenes Problem bewußt geworden.

Vor einiger Zeit saß ich an einer Notes-Datenbank, die ich für das Web “aufhübschen” wollte. Um die Ansichten ordentlich zu gestalten, habe ich diese via HTML/CSS aufgebaut. In diesem Fall muß man sich um die Linkspalte selber kümmern, um Verknüpfungen für die Dokumente zur Verfügung zu haben.

Sinnigerweise hatte ich für diesen Zweck ein Feld “URL” in der Maske angelegt, in dem ich den Link für das jeweilige Dokument berechnen lassen wollte, um dieses Feld später in der Webansicht als Link anzuzeigen.

Im Vorgabewert stand in etwa so eine Formel :

"<a href=\"0/"+@Text(@DocumentUniqueID) + "\">"+Nachname+ "</a>"



In der Webdarstellung funktionierte das Konstrukt auch wunderbar. Allerdings hatte ich einige Zeit später plötzlich im Notes-Client ein merkwürdiges Phänomen.

Wenn ich im Client eine Dokumentverknüpfung erstellen wollte, um diese z.B. per Mail an einen Kollegen zu schicken, bekam ich beim Einfügen nicht den erwarteten DocLink, sondern den Inhalt des Feldes “URL”. Das Erzeugen eines DocLinks per LotusScript funktionierte dagegen wie gewohnt.

WTF ?

Scheinbar war ich über einen reservierten Feldnamen gestolpert, der allerdings in den mir bekannten Listen nicht auftauchte. Erst durch einen Thread im AtNotes-Forum wurde ich darauf hingewiesen.

Böse Falle !

Reiner Zufall…

Bereits vor einiger Zeit habe ich aus einer Laune heraus eine kurze Random-Funktion für LotusScript geschrieben, die sich über Parameter ein wenig steuern läßt (Link).

Mittlerweile ist daraus eine kleine Scriptbibliothek entstanden, die unterschiedliche Random-Funktionen zur Verfügung stellt. Ich nutze diese Funktionen in einem selbst geschriebenen Test-Dokument-Creator, um in einer beliebigen Datenbank Testdokumente mit “zufälligem” Inhalt zu erzeugen.

Das Errorhandling ist sehr rudimentär gehalten. Fehler können über die OpenLog-Datenbank protokolliert werden (siehe About-Dokument in der Datenbank).

Die Bibliothek enthält folgende Funktionen (genauere Beschreibung siehe About-Dokument) :

  • Zufallszahl mit Unter-/Obergrenze und Anzahl Dezimalstellen
  • Zufälliger Wert aus einem Multivalue-Item
  • Zufällige Position eines Dokumentes in einer Ansicht
  • Wert eines bestimmten Items aus einem per Zufallsposition in der Ansicht ermittelten Dokumentes
  • Zufälliger Benutzername (FullName) aus dem Domino Directory

Die Bibliothek oder Auszüge daraus stehen für die nicht kommerzielle Nutzung zur freien Verfügung. Die Verwendung des Codes erfolgt dabei auf eigenes Risiko.

Für Anmerkungen und Verbesserungsvorschläge bin ich natürlich offen :-)

RandomLib