Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Matze84 am 13.07.15 - 11:16:57

Titel: Designupdate - Überschreiben Vererbung eines einzelnen Designelements
Beitrag von: Matze84 am 13.07.15 - 11:16:57
Hallo zusammen!

Ich habe ein Template (ntf) , welches als Mastertemplate für eine Reihe von Notes Datenbanken (nsf) fungiert.  Das Template enthält eine Maske und eine Scriptbibliothek, die von einem anderen Template erben.

Nach Änderungen im Template, soll die Vererbung bei der Maske und der Scriptbibliothek überschrieben werden (d.h. es soll nicht mehr von einem anderen Template geerbt werden). Wenn ich diese Änderungen im Template vornehme, dann wird das über den Design-Refresh Prozess jedoch nicht an die Notes Datenbanken weitergegeben, sondern die beiden Designelemente bleiben vor Änderungen geschützt.

Gibt es eine Möglichkeit wie ich die Änderungen aus dem Template in die Notes Datenbanken bekomme, ohne jede Datenbank im Designer zu öffnen und die Property "Inherit from the design template" bei den zwei Designelemente zu deaktiveren?

Gruß

Matthias
Titel: Re: Designupdate - Überschreiben Vererbung eines einzelnen Designelements
Beitrag von: Matze84 am 13.07.15 - 12:40:28
Ich habe einen Lösungsansatz bei Stackoverflow gefunden:

http://stackoverflow.com/questions/1255549/remove-lotus-notes-design-element-inheritance-programatically (http://stackoverflow.com/questions/1255549/remove-lotus-notes-design-element-inheritance-programatically)

Code
Private Sub clearDesignInheritance(db As notesdatabase)
	On Error Goto errorthrower

	Dim nc As NotesNoteCollection
	Set nc = db.CreateNoteCollection(True) ' Select all note types...
	nc.SelectDocuments=False ' ...except data documents.

	Call nc.BuildCollection

	Dim noteid As String
	noteid = nc.GetFirstNoteId

	Dim doc As notesdocument

	Do Until noteid=""
		Set doc = db.GetDocumentByID(noteid)
		If doc.HasItem("$Class") Then
			Call doc.RemoveItem("$Class")
			Call doc.save(False,False,False)
		End If
		noteid = nc.GetNextNoteId(noteid)
	Loop

	Exit Sub
ErrorThrower:
	Error Err, Error & Chr(13) + "Module: " & Cstr( Getthreadinfo(1) ) & ", Line: " & Cstr( Erl )
End Sub