Autor Thema: Im Delegierungsprofil per LS eine Gruppe hinzufügen  (Gelesen 3529 mal)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Hallo an alle,

bei uns soll im Delegierungsprofil aller Mitarbeiter per LS eine Notes-Gruppe  in das Feld "WriteCalendar" (Nur die folgenden Personen/Gruppen können meinen Kalender verwalten) angefügt werden.

Kann mir hierfür jemand ein Script zur Verfügung stellen?

Danke im Voraus!!!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #1 am: 17.03.03 - 19:49:54 »
... das geht nur dann unproblematisch, wenn jeder User die Aktion bei sich auf dem Rechner ausführt. Ich würde dazu per Mail einen Button versenden. Die Empfänger drücken diesen Button mit der folgenden Formel:

@SetProfileField("CalendarProfile" ; "PublicWrite" ; "0" ; @UserName );
@SetProfileField("CalendarProfile" ; "WriteCalendar" ; "DerNameDerGruppe" ; @UserName );

... das sollte es eigentlich schon sein...

... ein anderer Weg wäre ein Server-basierter Agent, doch der muß auf dem Server gestartet werden und dürfte in LS umsetzbar sein - dann braucht man den User nicht...

ata
« Letzte Änderung: 17.03.03 - 19:56:53 von ata »
Grüßle Toni :)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #2 am: 25.03.03 - 14:36:03 »
Hallo Ata,

hast Du mir vielleicht einen Ansatzunkt, wie ich per Script die einzelnen Mail-Datenbanken anpsrechen muss und wie ich dann zum Delegierungsprofil gelange?

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #3 am: 27.03.03 - 23:41:34 »
... um die Mailboxen von anderen anzusprechen mußt du die entsprechenden Rechte auf die Datenbanken von den jeweiligen Usern bekommen...

... was spricht gegen den Weg, den ich dir bereits genannt habe. Der User erhält per Mail eine Schaltfläche, die er zu drücken hat. Wenn du darüber Kontrolle haben möchtest, dann laß dir noch eine Kontrollmail vom User zukommen...

ata
« Letzte Änderung: 28.03.03 - 14:02:18 von ata »
Grüßle Toni :)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #4 am: 28.03.03 - 11:38:09 »
Hallo ata,

gegen die Button-Lösung spricht, dass das einfach nicht geht (und vermutlich so auch nicht gehen kann), da beim Öffnen des Deligierungsprofils die entspr. Rechte aus der ACL in das Feld WriteCalendar eingelesen und beim Speichern wieder in die ACL geschrieben werden. Somit kann ich nicht einfach "nur" die Werte per Schaltfläche in das Feld schreiben.

Wenn ich den Wert per @SetProfileField... in das Feld schreibe und gleich anschl. per @GetProfileField... auslese steht der gewünschte Wert drin. Sobald ich aber das Delegierungsprofil-Dokument einmal manuell öffne habe ich wieder den alten Zustand.

Die Sache scheint wohl etwas komplizierter zu sein, oder sehe ich das falsch???

Wenn ich das richtig sehe, muss ich wohl oder übel jedem Mitarbeiter eine Mail mit einer Anleitung senden wie er die Gruppe manuell in sein Delegierungsprofil einfügt!!!????. Ich darf gar nicht daran denken, wie oft danach mein Telefon klingeln wird.......!!!!! ;-((((

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #5 am: 28.03.03 - 14:04:05 »
... ich werde mich der Sache mal annehmen, allerdings wird das heute nichts mehr, denn ich muß mich noch auf ein Konzert vorbereiten - vielleicht am WE...

ata
Grüßle Toni :)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #6 am: 28.03.03 - 20:17:18 »
... wäre bombastisch, wenn das am WE klappen würde, ansonsten muss ich am Montag an ca. 400 Mitarbeiter eine Mail mit Anleitung für die manuelle Pflege senden.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #7 am: 29.03.03 - 11:37:24 »
... wenn, dann am Sonntag...

ata
Grüßle Toni :)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #8 am: 30.03.03 - 11:29:54 »
... hier wäre die Version mit der Schaltfläche in einer Mail. Der User benötigt Managerrechte in seiner Mail-DB...

Code
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim docMail As NotesDocument
   Dim acl As NotesACL
   Dim entry As NotesACLEntry
   Dim sGroupName As String
   Dim sReturnMailAddress As String
   Dim sThankYou As String
   
   sGroupName = "DeineKalenderGruppe"
   sReturnMailAddress = "info@anton-tauscher.de"
   sThankYou = "Vielen Dank. Der Vorgang wurde erfolgreich abgeschlossen. Dieses Dokument wird geschlossen."
   
   Set db = session.CurrentDatabase
   Set acl = db.ACL
   
   ' # Gibt es die Gruppe bereits in der ACL?
   Set entry = acl.getEntry( sGroupName )
   If Not entry Is Nothing Then      
      Set docMail = db.CreateDocument
      docMail.Form = "memo"
      docMail.Subject = |ACHTUNG: User "| + session.UserName + |" hatte die Gruppe "|+sGroupName+|" bereits eingetragen.| 
      Call docMail.Send( False , sReturnMailAddress)
      Msgbox |Die Gruppe "|+sGroupName+|" gibt es bereits... | , 0 , "ACL-Prüfung"
      Exit Sub
   End If
   
   ' # Die Gruppe eintragen mit den erforderlichen Rechten...
   Set entry = acl.CreateACLEntry(sGroupName , 0)   
   entry.IsPublicReader = True
   entry.IsPublicWriter = True   
   Call acl.Save
   
   ' # Jetzt zur Sicherheit noch das Profildokument updaten...
   Set doc = db.GetProfileDocument("CalendarProfile")
   Set uidoc = ws.EditDocument(True , doc)
   Call uidoc.Save
   Call uidoc.Close
   
   Set docMail = db.CreateDocument
   docMail.Form = "memo"
   docMail.Subject = |User: "| + session.UserName + |" hat die Gruppe "|+sGroupName+|" eingetragen.| 
   Call docMail.Send( False , sReturnMailAddress )
   
   Msgbox sThankYou
   ws.CurrentDocument.Close

... den Code in eine Schaltfläche und per Mail an alle betroffenen User versenden...

... es gibt noch die Möglichkeit, den Code in einen Agent einzubauen, der dann auf dem Server gestartet werden muß. ACHTUNG: der Agent muß mit einer ID unterzeichnet werden, die berechtigt ist Änderungen in den ACL's der Maildatenbanken vorzunehmen.

... so in der Art könnte der Agent aussehen

Code
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Dim docMail As NotesDocument
   Dim acl As NotesACL
   Dim entry As NotesACLEntry
   Dim sGroupName As String
   Dim pathName As String, fileName As String
   
   sGroupName = "DeineKalenderGruppe"
   pathName = "D:\Server5\Lotus\Domino\Data\Mail\*.*"
   fileName = Dir$(pathName, 0)
   Do While fileName <> ""
      Msgbox fileName
      Set db = session.GetDataBase("Celerona/Celerona" , "Mail\"+fileName)
      If db.Isopen Then
         Set acl = db.ACL
         
         ' # Gibt es die Gruppe bereits in der ACL?
         Set entry = acl.getEntry( sGroupName )
         If Not entry Is Nothing Then
            Msgbox |Die Gruppe "|+sGroupName+|" gibt es bereits... | , 0 , "ACL-Prüfung"
            Exit Sub
         End If
         
         ' # Die Grupe eintragen mit den erforderlichen Rechten...
         Set entry = acl.CreateACLEntry(sGroupName , 0)   
         entry.IsPublicReader = True
         entry.IsPublicWriter = True   
         Call acl.Save
         ' # Jetzt zur Sicherheit noch das Profildokument updaten...
         Set doc = db.GetProfileDocument("CalendarProfile")
         Set uidoc = ws.EditDocument(True , doc)
         Call uidoc.Save
         Call uidoc.Close
      End If      
      fileName = Dir$()
   Loop   
   Print "Agent abgeschlossen"

ata
Grüßle Toni :)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #9 am: 30.03.03 - 12:50:00 »
Hallo ata,

hast Du es doch tatsächlich war gemacht in Sonntagsarbeit mir nicht nur eine sondern gleich zwei Lösungen zu zaubern.....!!!!!!

Ich kann Dir gar nicht sagen, wie dankbar ich Dir bin! Natürlich werde ich es gleich morgen früh ausprobieren und Dich dann wieder informieren.

Bis dahin noch einen schönen Sonntag und nochmal viiiiiieeeeelen Dank!!!!!!!!!!!!!!!!!!!!!

Gruß
Armin

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #10 am: 30.03.03 - 15:36:32 »
... ich hoffe die Rechte sind entsprechend verteilt...

... toi toi toi

ata
Grüßle Toni :)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #11 am: 31.03.03 - 10:53:22 »
Hallo Ata,

habe mich für die Schaltflächen-Lösung entschieden und ich kann Dir ein dickes Lob aussprechen, die Sache funktioniert BESTENS!!!

Herzlichen Dank nochmal, Du warst mir eine große Hilfe!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #12 am: 31.03.03 - 13:11:38 »
... na dann bin ich mal gespannt, wieviele Mails ich bekomme...  ;D ;D ;D

ata
Grüßle Toni :)

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #13 am: 31.03.03 - 13:29:23 »
... Mails wirst Du nicht viele erhalten, ich habe die eMail-Adresse natürlich geändert ...

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Im Delegierungsprofil per LS eine Gruppe hinzufügen
« Antwort #14 am: 31.03.03 - 16:44:34 »
... war nur so zum Spaß, obwohl mir das neulich bei einer ähnlichen Anfrage so erging - es waren ca. 250 Mails...  ;D ;D ;D

... Hauptsache das Dingens lief...

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz