Domino 9 und frühere Versionen > ND8: Entwicklung

Anfänger GetProfileDocument("OutOfOfficeProfile")

<< < (2/4) > >>

ascabg:
Also nutz ihr bereits den Service.

Dann bringt Dich das OutOfOfficeProfile nicht wirklich weiter, da dieses, wenn ich das noch richtig im Kopf habe, vom Service nicht verwendet wird.

Ich glaube in der Maske (OOOServiceReport) gibt es ein Feld d_NOtifyNames, in dem die Namen der bereits benachrichtigten Personen enthalten sind.
Jedoch weiss ich nicht mehr genau, ob dieses auch als Profile-Dokument abgelegt wird.

Eventuell kannst Du ja mit entsprechenden Tools, z.B. NotesPeek, herausfinden, ob es sich hierbei um ein Profile handelt.


Andreas

Tode:
Das ist nicht korrekt @Andreas: Das OOO- Profile wird auch für die Konfiguration des Service verwendet (das Feld TaskType ist dabei für die Info Agent oder Service zuständig). Des weiteren gibt es noch ein "ooserviceprofile", das ebenfalls Daten enthält.

Die Liste der benachrichtigen User steht im OOO- Profile im Feld "Notified".
Was mich gerade etwas "neugierig" macht ist dieser Code im OutOfOffice- Agenten:

--- Code: ---If Me.m_nMultiNotification <> "0" Then
Call NotifySender(Me.m_noteDocument)
Else
--- Ende Code ---
wobei sich m_nMultiNotification auf das Feld "NotificationConfirmation" aus dem OOO- Profile bezieht, aber nur wenn im Kalenderprofile das selbe Feld gefüllt ist... siehe hier:

--- Code: --- If Me.m_CalendarProfile.HasItem("NotificationConfirmation") Then
Me.m_nMultiNotification = Me.m_OutOfOfficeProfile.GetItemValue("NotificationConfirmation")(0)
If Me.m_nMultiNotification<> "0" Then
  Me.m_nMultiNotification = "0"
End If

Else
Me.m_nMultiNotification = 0
End If
--- Ende Code ---
Offensichtlich hat hier mal jemand angefangen an "Multi- Notifications" zu arbeiten. Aber die Art und Weise, wie der Code geschrieben ist, lässt mich darauf schliessen, dass das nicht zu Ende gemacht ist (einmal Me.m_nMultiNotification = 0 also numerisch, dann wieder abgefragt auf "0" also Text....)... Dann wird ein Feld im CalendarProfile abgefragt, ob es gefüllt ist und danach das selbe Feld aus dem OOO- Profile gelesen... Da hat jemand Megamässig rumgepfuscht...

ascabg:
@Tode
Das das 'alte' OOO-Profile auch weiterhin verwendet wird, stelle ich nicht in Abrede.

Aber ich habe es eben in meiner Testumgebung nochmals nachgestellt.

Im Mailfile des Benutzers, der den OOO-Agent (Service) aktiviert hat, gibt es das OOServiceProfile.
In diesem wiederum gibt es ein Feld Notified_<Servername>.

In diesem Feld wird gespeichert, welche Benutzer bereits benachrichtigt wurden.

Der Servername bezieht sich aller Wahrscheinlichkeit auf den Server, auf dem siich das Mailfile des Benutzers befindet, der den 'Agenten' aktiviert hat.


Andreas

Tode:
Ok... Ich war echt der Meinung, dass das auch im oooprofile gespeichert wird... Weil das ooservice- profile hatte ich bei mir untersucht, und das war nur ein stub mit sehr wenigen Infos. danke für die Richtigstellung. Jetzt haben wir ja alle infos zusammen, die der Fragesteller braucht, um seine Aufgabe zu bewältigen.

Noch ein tipp: ibm vertraut selbst nicht auf das Feld TaskState des ooo profile wenn es darum geht, herauszufinden, ob der ooo- service aktiviert ist oder nicht (eigentlich sollte dieses Feld genau das anzeigen). In der entsprechenden scriptlib findet man bei der suche nach taskstate den code, den Ibm verwendet, um sicherzustellen, dass der ooo service WIRKLICH aktiviert oder deaktiviert ist...

Fanker:
Hallo,

vielen Dank für eure Unterstützung.

Wenn ich es richtig verstanden habe sollte ich mit

if GetProfileField("OutOfOfficeProfile";"TaskType") <> 0 then

               ??     GetProfileDocument("OOServiceProfile")
                ??    GetProfileField("OOServiceProfile";"Notified_Servername")
       end if
 

überprüfen, ob der Agent des Users gestartet wurde. Anschließend im OOServiceProfile die Liste der benachrichtigten Personen durchsuchen.

Gibt es hierzu auch eine Funktion GetNextField?
Oder wird bei der Funktion "Notified_Servername" eine Liste zurückgegeben?

TaskState: Wie finde ich die scriptlib bzw. den Beispielcode gibt es dazu einen Link für mich?

Vielen Dank

 


Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln