Domino 9 und frühere Versionen > ND9: Entwicklung

Neuer Ordner erstellen

(1/2) > >>

paschalis:
Hallo zusammen

Mich würde interessieren, ob @Command([CreateFolder]) in unterschiedlichen Versionen ausgeführt werden kann.

Die Frage ist entstanden, weil wenn ich einen neuen Ordner im Mailfile erstelle, in der linken unteren Ecke den Button "Erweiterte Optionen" habe.
Wenn ich nun aber in den Lesezeichen, also im Navigator links in meinem Klient einen neuen Ordner erstelle, so ist diese Funktion nicht vorhanden.
Bringe ich die @Command([CreateFolder]) im Mailfile dazu einen neuen Ordner zu erstellen ohne das ich weitere Optionen zur Verfügung habe, oder wie wird in der Lesezeichen DB ein neuer Ordner erstellt?

Vielen Dank und Gruss

Tode:
Hmmm... Sehr interessante Erkenntnis... Tatsächlich ist es so: Wenn ich in der Bookmark.nsf @Command([CreateFolder]) aufrufe, dann kommt der Button für "Erweiterte Optionen" nicht, der selbe Befehl im Mailfile zeigt den Button... Versuche gerade rauszufinden, woran das festgemacht ist...

EDIT: Es scheint mit den Datenbank- Eigenschaften zusammenzuhängen.. ist der Type (erster Tab der Eigenschaften) auf "Standard", dann kommt die Option, bei "Portfolio" nicht... Mal ein bisschen weiter probieren...

paschalis:
Hallo Tode

sag wo findest du diese Einstellung?


***Gefunden***

Tode:
OK: Wollte das mal auf Basis dieser Erkenntnis ausprobieren, ob man was tricksen kann:
Also das Ganze geht mit Tricks und Entwickler- Zugriff:

3 Agenten.

Der erste ruft die beiden anderen auf. Formelsprache:

--- Code: ---@Command([RunAgent] ; "TestCreateFolder1" );
@Command([CreateFolder] );
@Command([RunAgent] ; "TestCreateFolder2" );
--- Ende Code ---

Der zweite ("TestCreateFolder1") setzt das Flag "Portfolio" im Datenbank- Icon:

--- Code: --- Dim doc As NotesDocument
Dim strFlags As String

Set doc = g_dbCurrent.GetDocumentByID("FFFF0010")
If InStr( strFlags, "u" ) = 0 Then
strFlags = doc.GetItemValue( "$Flags" )(0) & "u"
Call doc.Replaceitemvalue( "$Flags", strFlags )
Call doc.Save( True, True )
MsgBox "Flag set to portfolio: " & strFlags
Else
MsgBox "no need to set Flag"
End If
--- Ende Code ---

Und der dritte ("TestCreateFolder2") setzt das Flag wieder zurück:

--- Code: --- Dim doc As NotesDocument
Dim strFlags As String

Set doc = g_dbCurrent.GetDocumentByID("FFFF0010")
strFlags = Replace( doc.GetItemValue( "$Flags" )(0), "u", "" )
Call doc.Replaceitemvalue( "$Flags", strFlags )
Call doc.Save( True, True )
MsgBox "Flag reset : " & strFlags
--- Ende Code ---

Natürlich könnte man probieren, das mit den Designer- Berechtigungen via Agent auf dem Server zu umgehen, aber für eine gute Idee halte ich das nicht...
Das ist nur ein "proof of concept"... Einsetzen würde ich das nie im leben.

Die Infos übers Datenbank- Icon kommen übrigens hierher



paschalis:
wenn ich das richtig verstanden habe.....

Der Unterschied für den @Command([CreateFolder]) macht der DB Typ in den Eigenschaften.

Deine Agenten erstellen einen Ordner --> dann setzt der zweite Agend den DB Typ auf "Portfolio"
der letzte Agent setzt die DB Eigenschaft wieder auf Standard.

Frage: Bleibt das Verhalten des @Command([CreateFolder]) erhalten, also ohne Erweiterte Optionen oder werden diese wieder zurück gestellt nachdem der DB Typ wieder auf Standard gewechselt hast?

Vielen Dank

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln