Domino 9 und frühere Versionen > ND8: Entwicklung
Designvererbung und Zugriffsschutz durch Rollen bei Views
_luki:
Guten Tag Forum,
guten Tag Experten...
Ich habe hier eine relative große Datenbank, welche zzt. nur intern verwendet wird. Dies soll sich aendern, denn auch externe Partner sollen hier zugreifen – dafuer sind jedoch einige Aenderungen noetig, bezueglich deren ich noch einige Fragen habe…
Die Datenbank hier besitzt > 200 Views, welche mit verschiedenen Statements gefuettert werden.
zB.:
--- Code: ---SELECT ( ((@Contains(Produkt; "Staubsauger")) & (@Contains(Produkt_Art; "Super_Strong"))) |
((@Contains(Produkt2; " Staubsauger ")) & (@Contains(Produkt_Art2; "Super_Strong"))) |
((@Contains(Produkt3; " Staubsauger ")) & (@Contains(Produkt_Art3; " Super_Strong "))) )
& (!@Contains(Art_des_Produkts; "Archiv"))
--- Ende Code ---
Noch ein Beispiel:
--- Code: ---SELECT ( ((@Contains(Produkt; "Fräse")) & (@Contains(Produkt_Art; "Mittelklasse"))) |
((@Contains(Produkt2; " Fräse ")) & (@Contains(Produkt_Art2; " Mittelklasse "))) |
((@Contains(Produkt3; " Fräse ")) & (@Contains(Produkt_Art3; " Mittelklasse "))) ) &
(!@Contains(Art_des_Produkts; "Archiv")) & (!@Contains(Art_des_Produkts; "Standard") &
(!@Contains(Produkt_Art; " Luxusklasse ")) & (!@Contains(Produkt_Art2; " Luxusklasse ")) &
(!@Contains(Produkt_Art3; " Luxusklasse ")))
--- Ende Code ---
Weiters gibt es in dieser DB 4 verschiedene Rollen zur Zugriffsbeschränkung:
- Admin
- Architekt
- Partner_A
- PL70plus
Ein Partner kann also entweder „Admin“, „Architekt“, „Partner_A“, oder „PL70plus“ sein. Genau diese Eigenschaften sind momentan auch in der Spalte „Art_des_Produkts“ enthalten (es handelt sich um Bauplaene).
Nun waere es natuerlich wuenschenswert, dass ein Partner, welcher die Rolle „Admin“ hat, alle Baupläne sehen kann; ein „Architekt“ jedoch nur jene, welche in der Spalte „Architekt“, oder „Partner_A“ enthalten… Es soll also eine Hierachie entstehen.
Momentan sieht noch jeder alles – wie kann ich das am besten realisieren?
Ein weiteres Problem ist, dass bei den > 200 Views das Design geändert werden muss. Dies ist natuerlich sehr, sehr mühsam. Deshalb wollte ich fragen, ob es die Möglichkeit gibt, eine „Master-View“ zu entwerfen, welche ihre „Design-Eigenschaften“ an alle anderen vererbt?
Da seitens des Marketings immer wieder Erneuerungen bzgl. Logo/Firmenfarben entstehen wuerde das verstaendlicherweise extrem viel Arbeit ersparen…
Ich habe jetzt schon sehr viel gegoogelt, bzw. die Domino-Hilfe befragt, bin jedoch noch nicht wirklich fündig geworden. Ich waere ueber jeden Tipp sehr dankbar.
Herzliche Grüße,
Luki
Peter Klett:
Von einer Masterview weiß ich nichts. Ich würde mir aber Gedanken um ein Redesign der Datenbank machen. Wenn ich das richtig verstanden habe, habt ihr deshalb über 200 Ansichten, um in jeder einzelnen Ansicht nur einzelne Produkte in unterschiedlichen Ausprägungen darstellen zu können. Das bedeutet, dass mit jeder Änderung im Produktkatalog das Design der Datenbank angepasst werden muss. Vorsichtig ausgedrückt halte ich das für Wahnsinn.
Wie navigiert Ihr über die vielen Ansichten?
Ich würde die Anzahl der Ansichten drastisch reduzieren und so verallgemeinern, dass sie auch bei neuen/geänderten Produkten ohne Designänderung funktionieren. Hierzu würde ich die Ansichten stark kategorisieren. Falls Ihr aber die vielen einzelnen Ansichten aus optischen Gründen beibehalten wollt, kannst Du in eine Maske mehrere Auswahlfelder einbauen, in der Produkte, Qualität und sonstige Eigenschaften auswählbar sind. In einer eingebetteten Ansicht zeigst Du dann nur die Dokumente, die den Inhalten der Auswahlfeldern entsprechen. Die Auswahllisten können sich aus den vorhandenen Dokumenten errechnen. Die EINE eingebettete Ansicht ist in der ersten Spalte nach allen Auswahlmöglichkeiten kategorisiert.
Dann fügst Du noch ein Leserfeld in die Dokumente ein, so dass die unterschiedlichen Benutzergruppen nur die relevanten Dokumente lesen können. Mit solch einer Struktur wirst Du in Zukunft wesentlich mehr Freude haben.
Falls es Dein einziger Job ist, diese Datenbank anzupassen, lass es lieber, sonst verlierst Du ihn danach :)
_luki:
--- Zitat von: Peter Klett am 15.06.10 - 10:36:49 ---Von einer Masterview weiß ich nichts. Ich würde mir aber Gedanken um ein Redesign der Datenbank machen. Wenn ich das richtig verstanden habe, habt ihr deshalb über 200 Ansichten, um in jeder einzelnen Ansicht nur einzelne Produkte in unterschiedlichen Ausprägungen darstellen zu können. Das bedeutet, dass mit jeder Änderung im Produktkatalog das Design der Datenbank angepasst werden muss. Vorsichtig ausgedrückt halte ich das für Wahnsinn.
Wie navigiert Ihr über die vielen Ansichten?
--- Ende Zitat ---
Es handelt sich um ein sehr, sehr breites Produktsortiment, navigiert wird ueber eine Gliederung - das funktioniert eigentlich ganz gut.
Unsere Produkte werden nicht geändert, es kommen maximal neue hinzu und die alten ins Archiv. Sollte ein neues Produkt hinzukommen wird fuer dieses wieder eine neue View angelegt.
--- Zitat ---Ich würde die Anzahl der Ansichten drastisch reduzieren und so verallgemeinern, dass sie auch bei neuen/geänderten Produkten ohne Designänderung funktionieren. Hierzu würde ich die Ansichten stark kategorisieren. Falls Ihr aber die vielen einzelnen Ansichten aus optischen Gründen beibehalten wollt, kannst Du in eine Maske mehrere Auswahlfelder einbauen, in der Produkte, Qualität und sonstige Eigenschaften auswählbar sind. In einer eingebetteten Ansicht zeigst Du dann nur die Dokumente, die den Inhalten der Auswahlfeldern entsprechen. Die Auswahllisten können sich aus den vorhandenen Dokumenten errechnen. Die EINE eingebettete Ansicht ist in der ersten Spalte nach allen Auswahlmöglichkeiten kategorisiert.
Dann fügst Du noch ein Leserfeld in die Dokumente ein, so dass die unterschiedlichen Benutzergruppen nur die relevanten Dokumente lesen können. Mit solch einer Struktur wirst Du in Zukunft wesentlich mehr Freude haben.
--- Ende Zitat ---
Gibt es eventuell so etwas wie eine "dynamische View"?
Momentaner Stand ist, dass wir eben > 200 Views haben, je ein SELECT-Statement.
Optimal waere, wenn je nachdem, welchen Gliederungspunkt ich klicke, ein bestimmtes SELECT-Statement erzeugt wird, durch welches widerum die dynamische View die gewuenschten Dokumente darstellt...
--- Zitat ---Falls es Dein einziger Job ist, diese Datenbank anzupassen, lass es lieber, sonst verlierst Du ihn danach :)
--- Ende Zitat ---
Wuensch mir Glueck. ;)
Peter Klett:
Die "dynamische View" kannst Du mit einer eingebetteten Ansicht in einer Maske (oder einer Seite? hab ich noch nicht mit gearbeitet) erreichen. Zwar wird dort nicht ein eigener Select definiert, aber Du kannst die Dokumente anzeigen, die der ersten Kategorie entsprechen. Dort würde ich z.B. Produkt#Qualität#SonstigesMerkmal eintragen, in der Maske wählst Du dann Produkt, Qualität und SonstigesMerkmal aus, und nach einem F9 werden nur die Dokumente in der Ansicht angezeigt, die dazu passen.
Thomas Schulte:
Designtechnisch ist was ihr macht IRRSINN. Und wenn ihr Zugriffsrechte vergeben wollt dann nehmt doch BITTE LESER UND AUTORENFELDER.
Ein "weiter so" ist in diesem Fall definitiv NICHT der beste Weg.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln