Domino 9 und frühere Versionen > Entwicklung

Persönliche Ansichten ausfindig machen und löschen

<< < (3/3)

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