Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Bullpack am 05.11.02 - 12:24:29
-
Hallo !
Da hab ich ja wieder mal ein nettes Problem auf meinem Schreibtisch ...
Ich möchte in einer Datenbank die User möglichst frei Ordner und Akten verwalten lassen. Aber begrenzt auf 5 Ebenen Tiefe.
Ist dies möglich ?
Als ich meine mit 5 Ebenen Tiefe :
Ordner 1
Ordner 2
Ordner3
Ordner4
Ordner5
Wäre schön, wenn wer von Euch da schon mal Erfahrungen gesammelt hat - und die mir mitteilt !
Danke im Voraus !
BullPack
-
Leider gibt's kein Event, was beim Erstellen eines Folders ausgelöst wird.
Aber Du könntest ev. das QueryDragDrop zur Prüfung heranziehen.
-
Hmmmmm.
Kann ich dann wenigstens einen Folder gegen Löschung schützen ? (Im Designer gibts bei den Folder Properties einen Karteireiter mit einem Schlüsselsymbol. Dort könnte man theoretisch Rechte einschränken - funktioniert aber nicht >:( )
Mir wär schon geholfen, wenn ich eine Grundordner Struktur VORGEBEN KÖNNTE und diese ist dann NICHT MEHR VERÄNDERLICH !
Hat da wer eine Idee ???
Also :
Fix Ordner 1
Fix Ordner 2
freidefinierbarer Ordner 1
freidefinierbarer Ordner 2
freidefinierbarer Ordner 3
freidefinierbarer Ordner 3.1
usw.
Ist halt eine Vorgabe des Systems, einen Teil der Struktur fix vorzugeben. Ansonsten legen die User zig Folder an, in denen man sich nie mehr richtig zurechtfindet...
Greez
BullPack ;) :) :D ;D
-
Die Folder Eigenschaften funktionieren schon, Benutzung des Verzeichnisses + Bearbeiten des Inhalt im Verzeichnis.
Mir ist nicht bekannt das du dem Benutzer eine Folder Struktur vorgeben kannst - hat der einmal die Rechte einen shared oder private Folder zu erstellen - darf der das tun.
Das mit den usern ist immer so eine Sache - lieber lässt man dem Benutzer mehr Freiheiten als erlaubt ;-) , jeder ist verantwortlich für sein Tun.
cu
-
Wie Performance schon sagte, Rechte sind ok, nämlich lesen/'editieren' der Inhalte - sprich Leser-/Autorenfelder im Designdokument. Aber Folder verwenden eben keine Maske zur Erstellung, die man schützen könnte.
Brutale Methode: Beim Start der DB die unerwünschten Folder löschen (naja, auch nicht das wahre).
Spricht eigentlich QueryDocumentDelete auch bei Designdokumenten an?
Grundstruktur klappt natürlich, aber Dann mußt Du Den Usern die Rechte nehmen, eigene zu erstellen.
Ev. noch Änderung des Titels durch den Benutzer?
Ist jetzt alles Brainstorming, nichts was ich geprüft oder in dieser Form verwendet hätte. Aber ev. hilft's ja...
-
wie sieht es denn aus, wenn du statt einer Ordnerstruktur eine kategorisierte Ansicht verwendest.
die erste Spalte Kategorisiert und als spaltenwert ein Feld im Dokument, das sich wie folget zusammensetzt:
OberKategorie\1Unter\2Unter\UnterUnter
in der ansicht wird das dann so dargestellt
Oberkategorie
1Unter
2Unter
UnterUnter
und hier das eigentliche Dokument.
Jetzt hast du mehrere Möglichkeiten:
Du kannst deinen Usern eine Maske anbieten ( Schaltfläche im Dokument) mmit 5 Eingabefeldern; damit hast du schonmal die Begrenzung auf 5 Ebenen.
Das feld wird dann aus den 5 Einzeleingaben und dem \ zusammengebaut.
Oder du läßt deine User den Feldinhalt nach o.a. Muster eingeben und prüfst dann in der Eingabevalidierung z.b. wie oft der \ in dem Strin vorkommet. ( > 4 dann Fehlermeldung )
auch damit hast du dann deine Begrenzung auf 5 Ebenen, bist aber sehr flexibel.
eknori
-
HI Eknori !
Die Idee ist klasse, aber im Detail sehe ich Schwierigkeiten ...
Zum Beispiel : Löschen eines Ordners!
Oder die Selektion eines Bereiches - wenn viele Unterbereiche existieren ...
Eine Lösung wäre wenn ich zum Löschen einen Button klicke, und mir dann eine TreeView der Folderstruktur angezeigt wird. dann selektiere ich aus der View einen Ordner und klicke auf OK - Diese Struktur sollte dann in die 5 Felder übertragen werden ... GEHT DAS ???
Greez
BullPack
-
Das Aufteilen ist im Grunde recht einfach.
baue dir eine versteckte Ansicht mir 5 Splten.
Spalte 1 enthält den ersten Wert bis zum "\" (@Word(Feld;"\";1)
das machst du dann für alle 5 Spalten.
In deiner maske, die die 5 Eingabezeilen enthält machst selectierst du für das erste Feld die erste Spalte dieser Ansicht mir @DBColumn.
Du musst die Feldeigenschaften noch so einstellen, das die Eingabe neuer Werte Möglich ist.
Damit hast du die Sache schön dynamisch.
"Ordner" löschen ?? Solange es noch ein Dokument mit dem entsprechenden String in dem "Strukturfeld" gibt, gibt es auch den Ordner.
Wenn du Dokumente in einen anderen "Ordner" verschieben möchtest, ist dies hier http://www.eknori.de/tips/update.htm das richtige für dich.
Ich denke, mit dieser Lösung kommst du gut durch die Tür.
eknori