SnTT: Feststellen, ob das Design einer Datenbank verborgen ist

von Bernd, assono GmbH, Standort Hamburg, 23.10.2008

Letztens musste ich herausfinden, ob das Design einer Datenbank Anwendung verborgen ist. Leider gibt es in LotusScript keine Eigenschaft, die man einfach abfragen könnte. Die Lösung, die schließlich funktioniert hat, setzt auf DXL.

Der Trick besteht darin, dass ein DXL-Export einer Datenbank Anwendung mit verborgenem Design nur die Basisinformationen über die Datenbank Anwendung aber keine Designelemente enthält. Anschließend muss man nur noch suchen, ob es einen Eintrag für eine Maske "<form>" gibt. Wenn kein Eintrag vorhanden ist, ist das Design wohl verborgen. (Abgesehen von Notes Datenbanken Anwendungen die keine Maske enthalten. Aber die kann man wohl vernachlässigen.)

Function isDesignHidden(db As NotesDatabase) As Boolean

On Error Goto err_handler

Dim session As New NotesSession
Dim DXLExporter As NotesDXLExporter
Dim ncl As NotesNoteCollection
Dim dxlOutput As String


'Input
Set ncl = db.CreateNoteCollection(False)
ncl.SelectForms = True
Call ncl.BuildCollection

Set DXLExporter = session.CreateDXLExporter
DXLExporter.ExitOnFirstFatalError = True
dxlOutput = DXLExporter.Export(ncl)

If Instr(1, dxlOutput, "<form", 1) <> 0 Then
isDesignHidden = False
Else
isDesignHidden = True
End If

Exit Function
err_handler:

Messagebox "Upps! There was an error." & Chr$(10) & Chr$(10) & _
"Procedure: " & Getthreadinfo(1) & Chr$(10) & _
"Error nr.: " & Cstr(Err) & " / Line: " & Cstr(Erl) & Chr$(10) & _
Error, 16, "Error"

Resume err_resume

err_resume:
End
End Function

Statt das DXL zu parsen, wird einfach mit Instr gesucht, ob der String "<form" vorhanden ist. Da mit dem DXL anschließend nicht weiter gearbeitet werden soll, ist dieses die schnellste Methode.

Bernd Hort

Bernd Hort

Diplom-Informatiker, Software-Entwickler & Speaker auf Fachkonferenzen

Bernd Hort ist Expert Digital Business Consultant bei assono. Seit mehr als 20 Jahren entwickelt er erfolgreich individuelle Software-Anwendungen für Unternehmen verschiedener Branchen. Insbesondere in den Bereichen HCL Notes und Domino (ehemals IBM) als auch bei aktuellen, unternehmensrelevanten Themen wie Web-Entwicklung und Web-Architektur, bei Angular-Anwendungen als auch bei progressiven Web-Apps kennt er die neusten Entwicklungen und weiß, wie diese eingesetzt werden können, um den größten Kundennutzen zu erzielen. Aufgrund seines Expertenwissens ist Bernd Hort regelmäßiger Sprecher auf nationalen und internationalen Fachkonferenzen.

Fachbeitrag Entwicklung HCL Notes HCL Notes Traveler

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie haben Interesse an diesem Thema?

Gerne bieten wir Ihnen eine individuelle Beratung oder einen Workshop an.

Kontaktieren Sie uns

Weitere interessante Artikel