Autor Thema: Abwesenheitsagent mit Vertreter auslesen  (Gelesen 3584 mal)

Offline sudsaat

  • Junior Mitglied
  • **
  • Beiträge: 78
Abwesenheitsagent mit Vertreter auslesen
« am: 18.01.11 - 16:39:45 »
Hi Community,

ich habe schon gesucht, aber leider nichts gefunden (vielleicht auch falsch gesucht :))

Ich suche nach einer Möglichkeit zu ermitteln, ob ein Benutzer seinen Abwesenheitsagenten aktiviert und eine Urlaubsvertretung angegeben hat. Das ganze sollte mit LotusScript realisiert werden.

Schwierigkeit ist, dass diese "Funktion" von allen Benutzern aufrufbar sein - diese haben aber keine Berechtigung an den Maildatenbanken der Benutzer.

Also genauer Ablauf sollte sein:

- Button wird von Benutzer X gedrückt
- In einem Auswahldialog über das Notes-Adressbuch wird ein Benutzer ausgewählt
- Nach der Auwahl soll eine Prüfung erfolgen, ob der ausgewählte Benutzer den Abwesenheitsagenten aktiviert hat,
- falls ja, hat er eine Urlaubsvertretung angegeben?
- wenn ja, mit diesem Namen erneut prüfen

..besteht diese Möglichkeit mittels Lotus-Script?

Ich freue mich auf euer Feedback
Thomas :-)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #1 am: 18.01.11 - 16:49:35 »
Prinzipiell zum Thema "Zugriff auf Datenbanken ohne eigenen Zugriff":
Du kannst in einer Anwendung Agenten im Namen des Servers starten (NotesAgent.RunOnServer). Hierzu sollte es dann ein personenbezogenes Dokument geben, dessen NoteID dem Agent übergeben wird und der dieses Dokument dann mit den gewünschten Angaben füllt.
Der Agent-aufrufende Teil des Codes präsentiert dann nach Beendigung des Agents dem Client das Ergebnis.

Eine Frage meinerseits: Wie willst Du denn wo auf einen Vertreter prüfen?

Bernhard

Offline sudsaat

  • Junior Mitglied
  • **
  • Beiträge: 78
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #2 am: 20.01.11 - 04:00:14 »
Hallo Bernhard,

danke für dein feedback, das mit dem Vertreter hab ich wieder verworfen, ist eine Modifikation bei meinem Auftraggeber die beim Kunden nicht ziehen würde :-)

Generell zum Thema Abwesenheit - wie kann ich da am besten rangehen bzw. wo befinden sich die Informationen, ob ein Benutzer den Abwesenheitsagenten aktiv hat? Im Agenten selbst oder kann ich das in der Mail-DB des Benutzers prüfen oder gibt es einen komplett anderen Weg?

Wer das schonmal gemacht hat - würde mich über ein kleines code-snippet auf dem ich aufbauen kann, freuen :-)

Grüße Thomas :-)

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #3 am: 20.01.11 - 07:28:09 »
Auch wenn sich mir der Sinn nicht ganz erschliesst, da Weg 1 der m.E. normale Weg ist. Hier zwei Denkanstöße:

Weg 1: Administrator aufmachen und auf dem Files-Tab in den Dateisystemordner mit den DBs schauen und nach rechtsscrollen. Fertig

Weg 2: Du schaust dir die NotesDbDirectory bzw. NotesDirectory Class an und wertest dann das Profildokument Outofofficeprofile in der Maildatenbank aus.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #4 am: 20.01.11 - 07:29:16 »
Hallo,

Du kannst doch mit der Klasse "NotesAgent" mit der Property "IsEnabled" pruefen, ob ein periodischer Agent aktiv ist oder nicht.

Ein entsprechendes Stueckchen Code findest Du in der Designer Hilfe.


Andreas

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #5 am: 20.01.11 - 07:32:40 »
@ Andreas

Das dürfte m.E. nicht funktionieren, wenn der OoO als Service läuft.

Offline sudsaat

  • Junior Mitglied
  • **
  • Beiträge: 78
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #6 am: 21.01.11 - 00:43:24 »
@Bernhard,

Konkret habe ich eine DB, in der Dokumente in bestimmten Zeiträumen abgearbeitet sein müssen. Die zuständigen Personen werden über eine Dialogbox ausgewählt und dann via Mail benachrichtigt.

Falls diese Person jedoch in Urlaub ist, bekommt der Benutzer diese Information erst, nachdem der OoO-Agent eine Antwortmail geschrieben hat.

Um nicht auf die Mail des OoO-Agents warten zu müssen, möchte ich dem Benutzer der eine Person auswählt direktes Feedback geben, ob diese nicht verfügbar ist.

Der Agent auf dem Server muss ja sein, da der Benutzer keine Berechtigungen auf die anderen Mail-Datenbanken hat. Aber wie kann ich prüfen, ob der Agent für den ausgewählten Benutzer aktiviert ist?


@oxd21
Zu 1: Ich suche eine Lösung mit Script (siehe 1. Post)
Zu 2: Dazu bräuchte aber der Benutzer die Berechtigung, um das in der Mailschablone der ausgewählten Person zu prüfen, oder lieg ich da falsch?

Danke und Grüße Thomas :-)


Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #7 am: 21.01.11 - 06:51:25 »
Die bisher gegebenen Antworten enthalten schon alles, was du zur Lösung der Aufgabe benötigst.

- einen Agenten, der mit den Rechten des Servers läuft und vom User getriggert wird
- die Eigenschaft IsEnabled der Notes Agent Class, die dir Aufschluss darüber gibt, ob der Agent aktiviert ist
- und wenn er aktiviert ist, musst du nur noch die MailDB des Users ermitteln und dann das CalendarProfile mittels des Agenten auslesen.

Code gibt es für alle Punkte in der Designer Hilfe.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Abwesenheitsagent mit Vertreter auslesen
« Antwort #8 am: 21.01.11 - 08:32:36 »
Wobei ich einen Agenten, der 1x (oder auch mehrmals) am Tag in deiner DB läuft und alle Mail-DBs abgrast sinnvoller halte.
Aus dem OOO-Profil kannst du dann auslesen, ob der Agent aktiv ist und ab wann der Benutzer tatsächlich abwesend ist.
Die abwesenden Personen würde ich dann in ein Profil oder in Statusdokumente ablegen, dann kann man schon bei der Auswahl (z.B. über Feldvalidierungsformel) prüfen ob die eingegebene Person abwesend ist.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz