AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
28.03.20 - 19:11:56
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 8 und frühere Versionen
| |-+  ND7: Entwicklung (Moderatoren: eknori, koehlerbv)
| | |-+  Wie Folder per Script mit Template anlegen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Wie Folder per Script mit Template anlegen  (Gelesen 4729 mal)
Basti*
Junior Mitglied
**
Offline Offline

Beiträge: 87


« am: 02.07.13 - 14:22:11 »

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
Gespeichert
Tode
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 6355


Geht nicht, gibt's (fast) nicht... *g*


« Antworten #1 am: 02.07.13 - 15:03:15 »

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
Gespeichert

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen...

Mit jedem Tag meines Lebens erhöht sich zwangsweise die Zahl derer...
... denen ich am AdminCamp ein Bier schulde... Wenn ich hier jemanden angehe: Das ist nie persönlich, sondern immer gegen die "Sparwut" der Firmen gedacht, die ungeschultes Personal in die Administration unternehmenskritischer Systeme werfen... Sprecht mich einfach am AdminCamp an, ich zahle gerne zur "Wiedergutmachung" das ein oder andere Bierchen an der Bar
Basti*
Junior Mitglied
**
Offline Offline

Beiträge: 87


« Antworten #2 am: 02.07.13 - 15:31:41 »

Danke Torsten!

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

Basti
Gespeichert
jo@chim
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 246



« Antworten #3 am: 18.11.13 - 13:12:43 »

"Geht nicht gibts nicht", wie's bei Tode so schön zu lesen ist  Wink 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

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 Ahnungslos zu verzichten.
Gespeichert

Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7
Tode
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 6355


Geht nicht, gibt's (fast) nicht... *g*


« Antworten #4 am: 18.11.13 - 13:25:40 »

"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...
Gespeichert

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen...

Mit jedem Tag meines Lebens erhöht sich zwangsweise die Zahl derer...
... denen ich am AdminCamp ein Bier schulde... Wenn ich hier jemanden angehe: Das ist nie persönlich, sondern immer gegen die "Sparwut" der Firmen gedacht, die ungeschultes Personal in die Administration unternehmenskritischer Systeme werfen... Sprecht mich einfach am AdminCamp an, ich zahle gerne zur "Wiedergutmachung" das ein oder andere Bierchen an der Bar
jo@chim
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 246



« Antworten #5 am: 18.11.13 - 14:52:25 »

Das wäre eine... nun... doch erhebliche Sicherheitslücke, wenn Anwender den DefaultView definieren könnten, Tode (habs aber trotzdem nochmal getestet Grin )

Sollte aber kein Problem sein, wenn man den Code in einen Agenten mit entsprechenden Rechten packt.
Gespeichert

Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: