Das Notes Forum
Domino 9 und frühere Versionen => ND9: Administration & Userprobleme => Thema gestartet von: hoschie am 05.04.16 - 15:23:48
-
Hallihallo,
ich stehe vor einem (für mich momentan) unlösbaren Problem und möchte euch gern "belästigen" bzw. eure Meinung lesen.
Hintergrund:
wir haben grosse Teams in der Firma und es wird öfters jemand krank. Die Abteilungleiter sollen nun in der Lage sein, die Abwesenheitsagenten der User in ihren Abteilungen zu aktivieren im Bedarfsfall (damit externe Kunden benachrichtigt werden), allerdings ohne Zugriff auf die MailDB des jeweiligen Users zu haben.
Da ein einfaches Db.getAgent("OutOfOffice").isEnable = true NICHT funktioniert (nicht mal bei mir als Manager auf meine eigene Datenbank), habe ich gesucht und einen Mechanismus gefunden:
Über die ElementID Zugriff holen (result = NIFFindDesignNote(hdb, notename, notetype, hnote)) und $AssistFlags manipulieren ("Es"=aktiviert und "s"=deaktiviert).
Leider funktioniert das auch nur mit entsprechenden Rechten. Die "normalen" User bekommen keinen Zugriff auf das Designelement.
Auch den Code im Agenten unter meinem Namen mit vollen Rechten ausführen zu lassen, half nicht.
Letzter Versuch war ein Call DB.SetOption(DBOPT_OUTOFOFFICEENABLED, True), Code ausgeführt auf meine eigene MailDB, aber keine Aktivierung.
Gibt es hier noch andere, programmatische Möglichkeiten?
Danke für eure Hinweise und Kommentare!
-
Moin
Ihr solltet euch unbedingt das Thema Out Of Office Service anschauen.
Da müsste es nämlich ausreichen, die entsprechenden Werte im richtigen Profildokument zu setzen.
Der Out Of Office Agent ist sowas von 2010 .... >:D
-
ALSO: Damit der Out Of Office (Agent oder Service) aktiviert werden kann musst Du ja zuerst:
- Das OutOfOfficeProfile in die Hand nehmen und Start- und Ende- Datum anpassen
- im OutOfOfficeProfile den Status auf "Enabled" setzen
- den Agenten aktivieren / den Service anstossen.
Hierfür braucht er zwangsläufig Zugriff auf die Datenbank des Mitarbeiters
Das gesamte Handling (inklusive Adminp- Anfrage erstellen zur Aktivierung des Agenten bei zu wenig Berechtigung) ist ja in der "OutOfOfficeLib" bzw "OutOfOfficeLib_de-DE" in der Klasse "OutOfOfficeObj" hinterlegt. Dummerweise hat die Klasse im Konstruktor ein NotesUIDocument als Parameter, so dass ein "RunOnServer" mit einem entsprechend signierten Agenten nicht funktionieren wird.
Kurz gesagt: Du kannst Dir die ganzen notwendigen Einzelschritte aus der Funktion "OfficeControl.ToggleEnableDisable("Enable")" der Klasse "reverse engineeren", oder Du gibst einfach den Leuten die notwendigen Berechtigungen.
-
Danke für die Hinweise!
An das ProfilDokument habe ich gar nicht mehr gedacht. :-\
Über den out of office service werde ich mich auch nochmal informieren.