Domino 9 und frühere Versionen > ND7: Entwicklung

Wie Folder per Script mit Template anlegen

(1/2) > >>

Basti*:
Hallo zusammen!

Wie kann man einen Folder per Script anlegen? Und zwar so, dass er eine View als Template nimmt?

Geht das auch über db.CreateView(folder_name ,"" , tmplview,False )? Nur wie sagt man der View jetzt, dass sie ein Folder ist?

Hat da jemand einen Tipp?

Grüße
Basti

Tode:
Mit CreateView geht dasd leider nicht...
Wenn man einen Ordner anlegen will, der wie ein anderer aussieht gibt es nur EINE einfache Möglichkeit: Man legt den "Vorgabeordner" an wie man ihn braucht, und setzt dort das Häkchen "Vorgabegestaltung für neue Ordner" (oder so ähnlich) in den Ansichtseigenschaften.
Der gilt dann aber für ALLE neuen Ordner / Ansichten, auswählen kann man das nicht...

Es gibt noch drei weiter Möglichkeiten, die mir spontan einfallen, sowas zu tun, aber alle setzen "advanced" Programmierkenntnisse voraus. Hier mal in Stichworten:

1. Ordner anlegen und dann @UpdateViewDesign verwenden (Beispiel wie man das auch in Script verwendet im "Upgrade Folder Design"- Agenten des Mailfiles)
2. NotesDocument des Original- Ordners per unid holen und per CopyToDatabase kopieren, und dann die wichtigen Items wie "$Title", "$Name", etc. setzen... (nötige Items halt durch inspizieren des Ordner- Design- Elements ermitteln
3. Vorgabeordner ist "leer", damit auch der angelegte Ordner, und dann geht man über NotesView.Columns und kopiert die aus einem anderen vorgegebenen Ordner

Basti*:
Danke Torsten!

Mist, ich hab es geahnt, dass es nicht so einfach geht. Auf advanced hab ich gerade keinen Bock (=> zahlt keiner ;) ) Dann werd ich es halt simpel machen und die VorgabeView entsprechend basteln. Ist zwar nicht elegant, aber was solls :)

Basti

jo@chim:
"Geht nicht gibts nicht", wie's bei Tode so schön zu lesen ist  ;) Und es geht sogar sehr einfach:

--- Code: ---Sub CreateMyFolder(defaultview as String, foldertemplate as String, foldername as String)
'defaultview - Vorgabeansicht der Datenbank
'foldertemplate - Notes View als Ordnervorlage
'foldername - Name des zu erstellenden Ordners

Dim session As New NotesSession
Dim db As NotesDatabase
Dim folder As NotesView

Set db = session.CurrentDatabase
Set folder=db.Getview(foldertemplate)
folder.Isdefaultview=True
Call db.EnableFolder(foldername)
Set folder= db.GetView(defaultview)
folder.Isdefaultview=True
Exit Sub
--- Ende Code ---

Wir hatten im 8er Entwicklungsbereich darüber diskutiert - mit dieser Lösung geht es sehr einfach, benutzerspezifische Ordner anzulegen und endlich endlich endlich auf die  SPOFU :-: zu verzichten.

Tode:
"IsDefaultView" ist aber -korrigiere mich, wenn ich falsch liege- eine Property, für die ich Designer- Rechte brauche, um die zu setzen... Wenn das also mit den richtigen Rechten läuft, geht es... Im usercontext vermutlich eher nicht... Aber WENN ich falsch liege, dann ist das natürlich eine einfach geniale weil genial einfache Möglichkeit...

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln