Domino 9 und frühere Versionen > Entwicklung
Persönliche Ansichten ausfindig machen und löschen
eknori (retired):
schon mal hier geschaut:
http://eknori.dyndns.org/knowledge/devidea.nsf/703257f00a483fb180256879002c0178/f47cd88278936aaf4125689b005b5138?OpenDocument
eknori
Jérôme:
Vielen Dank für die vielen Antworten *freu*
Ich werde dann mal anfangen, Autoren- und Leserfelder einzubauen. Dazu habe ich aber noch eine Frage:
Es sind in der Datenbank schon Produktivdokumente erstellt worden (mein Chef hat darauf bestanden, dass die Datenbank beim derzeitigen Stand schon produktiv eingesetzt wird, also würde ich mich freuen, wenn keine Kommentare wie "Das kann man doch nicht machen" oder "Selbst schuld" kämen, das weiß ich nämlich auch ;) ).
Kann ich solche Leser- und Autorenfelder auch nachträglich in die Dokumente einbauen? Wie geschieht das? Wo im Dokument würden die denn dann auftauchen?
Performance:
Bevor du die Leser/Autorenfelder reinmachst kopiere erst die db (und ein backup vom produktiv) lokal und teste zuerst.
Die Felder kannst du oben in die Maske integrieren - ich mache mir immer eine subform mit dem namen Header
und tue die dann einfügen. Die Felder sind versteckt und berechnet beim anlegen.
- mach dir eine view wo alle doks der db (oder zumindest die wo die neuen Felder rein sollen) selektiert werden - diese verwendest du in einem Agenten.
- im agent holst du dir die view und gehst jedes dok über eine while Schleife durch.
- bevor du den Agent startest sollen die neuen Felder auf berechnet gesetzt werden - nach dem update berechnet beim Anlegen(weniger overhead)
Form/Subform:
Felder -> DefaultAuthor - Autorfeld(multivalue)/berechnet beim Anlegen - Formelwert="[Admin]":"[DBManager]"
-> DocAuthor - Autorfeld/berechnet beim Anlegen - Formelwert=@@244@@
-> optional OtherAuthor - Autorfeld/berechnet beim Anlegen - Formelwert="[AutorRole]"
-> DefaultReader - Readerfeld(multivalue)/berechnet beim Anlegen - Formelwert="[Admin]":"[DBManager]"
-> DocReader - Readerfeld/berechnet beim Anlegen - Formelwert=@@244@@
-> optional OtherReader - Readerfeld/berechnet beim Anlegen - Formelwert="[ReaderRole]"
- du musst dir überlegen wer im Feld OtherReader/-Author steht - entweder nur Leser oder auch Autoren.
Rollen: Admin, DBManager, AutorRole, ReaderRole
- stelle dir eine Tabelle mit den Leser/Autoren auf - checke Plausibilitäten
Agent:
Dim s as New NotesSession
Dim db as NotesDatabase
Dim v As NotesView
Dim doc as Notesdocument
Dim item As NotesItem, item1 As NotesItem, item2 as NotesItem
Dim actReader As Variant
Set db = s.currentDatabase
Set v = db.GetView("AlleDoksAnsicht")
Set doc = v.GetFirstDocument
While Not ( doc Is Nothing )
'' kannst den Agent mehrfach laufen lassen - zum testen wird das Feld immer gelöscht
If doc.HasItem("DefaultAuthor") Then doc.removeItem("DefaultAuthor")
'' --> das gleiche mit DocAuthor + OtherAuthor
'' Autorenfelder setzen
Set item = New NotesItem( doc, "DefaultAuthor", "[Admin]:[DBManager]" , AUTHORS )
'' Readerfelder setzen
Set item1 = New NotesItem( doc, "DefaultReader", "[Admin]:[DBManager]" , READERS )
''' usw
'' wenn du noch kein Reader/Autorfeld hast, holst du dir den Reader/Autor aus dem $Updated Feld - Der erste in der Liste - wenn du schon einen Autor hast setzt du den ins Feld
actReader = doc.GetItemValue( "$UpdatedBy")
Set item2 = New NotesItem( doc, "DefaultReader", actReader(0), READERS )
item2.IsSummary = True
Call doc.Computewithform(True, False)
Call doc.Save (True, false)
Set doc = v.GetNextDocument( doc )
Wend
- ich habe den Code nicht getestet aber die Logik sollte stimmen
cu
tabama:
Hallo,
ich poste hier auf einen "uralt" Eintrag.
Ich bin auf in durch Suchen für das Löschen von privaten Ansichten gestossen. Ich habe in meinen Dokumenten ordnungsgemäße Leser-Felder. Die privaten Ansichten habe ich bei der DB-Entwicklung nur gemacht, da Spaltensummen bei öffentlichen Ansichten trotz Leser-Felder immer für die gesamten Dokumente angegeben werden.
Hat sich hier mal was getan?
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln