Autor Thema: Anzahl neue eMails ermitteln ?  (Gelesen 3200 mal)

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Anzahl neue eMails ermitteln ?
« am: 19.10.04 - 10:47:50 »
Hallo zusammen,

für eine Portalseite möchte ich die Anzahl an neuen eMails im Postfach des Benutzers ermitteln und das möglichst mit der Formelsprache.

Da auf dem Intranetserver auch gleichzeitig Domino Web Access läuft (iNotes) liegen die Mailboxen sowieso lokal auf dem Server vor. In dem Bereich in dem diese Portalseite angezeigt werden soll ist der Benutzer auch schon am Webserver authentifiziert gegen die Names des Servers.

Allerdings habe ich keinen blassen Schimmer wie ich die Anzahl der neuen eMails in den Maildatenbanken ermitteln soll. Ich kann vorallem keine neue Ansicht hinzufügen über die ich das dann ermitteln könnte, da unsere Mailschablone ziemlich "dicht" ist und wir ausserdem sonst jede Mail-Datenbank ändern müssten.

Gibt es da eine andere Möglichkeit ?

Server ist eine Domino 6.5.2 auf Linux mit deutschem Sprachpaket.

Danke im Vorraus für das entfernen jeglicher Bretter vor meinem Kopf !

Jenson

Driri

  • Gast
Re: Anzahl neue eMails ermitteln ?
« Antwort #1 am: 19.10.04 - 12:01:35 »
Wie definierst Du "neu" ? Ungelesene Dokumente oder hinzugekommene Dokumente seit dem letzten Öffnen der Datenbank ?

Per Script gäbe es da UnprocessedDocuments und UnprocessedSearch. Ich bin mir aber nicht sicher, ob sich eine derartige Anforderung sauber umsetzen läßt.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Anzahl neue eMails ermitteln ?
« Antwort #2 am: 19.10.04 - 13:12:29 »
Hm, Ingo, die heissen zwar beide "Unprocessed", das hat aber in beiden Fällen nichts damit zu tun, was Jenson sucht, ich kenne jedenfalls keinen Weg über die genannten Properties an die gesuchten Werte zu kommen :( Aber auch was anderes sehe ich im Moment nicht.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Driri

  • Gast
Re: Anzahl neue eMails ermitteln ?
« Antwort #3 am: 19.10.04 - 15:20:00 »
Hallo Jens,

ich hatte mich da auf das Beispiel aus der Designer-Hilfe verlassen :

Zitat
This agent script runs on all unread documents, and its purpose is to put unread documents into a folder.
If the agent does not contain a search, UnprocessedDocuments returns all unread documents in the database each time the agent runs, regardless of whether the agent has already run on some of the unread documents.
If the agent does contain searches, UnprocessedDocuments returns all unread documents in the database that meet the search criteria, regardless of whether the agent has already run on some of the unread documents.
Sub Initialize
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim collection As NotesDocumentCollection
     Dim doc As NotesDocument   
     Set db = session.CurrentDatabase
     Set collection = db.UnprocessedDocuments
     Set doc = collection.GetFirstDocument()
     While Not(doc Is Nothing)
          Call doc.PutInFolder _
          ( "Stop dreaming! Read these documents!",True )
          Set doc = collection.GetNextDocument(doc)
     Wend
End Sub

Das Script soll angeblich alle ungelesenen Dokumente herauspicken können. Das wäre doch evtl. das, was Jenson will.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Anzahl neue eMails ermitteln ?
« Antwort #4 am: 19.10.04 - 15:30:09 »
Stimmt, hab ich übersehen, ist dann der Fall, wenn der Agent mit folgender Eigenschaft versehen ist:

All unread documents in  view

Heisst aber, dass man einen solchen Agenten nur aus einem View heraus starten kann. So aus dem hohlen Bauch heraus würde ich sagen, damit lässt sich das Ziel vermutlich irgendwie erreichen, es braucht aber wohl ein paar Verrenkungen, bis man soweit ist.

Danke für die Berichtigung
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Driri

  • Gast
Re: Anzahl neue eMails ermitteln ?
« Antwort #5 am: 19.10.04 - 17:22:49 »
Kein Problem. Und ich hab ja auch nicht behauptet, daß es einfach würde  ;)

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re: Anzahl neue eMails ermitteln ?
« Antwort #6 am: 28.10.04 - 17:03:41 »
:-) Etwas spät aber hier ist doch noch eine Antwort von mir :-) War in ungeplantem Urlaub.

Ich kann aber an den Mail-Datenbanken der User selber nix ändern, d.h. keine View hinzufügen oder an den vorhandenen etwas ändern. Die müssen Standard bleiben.

Also denke ich gibts da keinen Weg da dran zu kommen ?

Jenson

Driri

  • Gast
Re: Anzahl neue eMails ermitteln ?
« Antwort #7 am: 28.10.04 - 17:12:51 »
Ich denke, da wirst Du ansonsten keine Chance haben.

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Anzahl neue eMails ermitteln ?
« Antwort #8 am: 29.10.04 - 09:25:21 »
Jo, das sehe ich auch so.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Jenson

  • Senior Mitglied
  • ****
  • Beiträge: 291
  • Geschlecht: Männlich
  • Geht nicht gibts nicht!
    • is Industrial Services AG
Re: Anzahl neue eMails ermitteln ?
« Antwort #9 am: 29.10.04 - 15:16:34 »
Die Inbox der Mailbox ist auch keine Ansicht, oder? Wenn doch, dann könnte man doch die irgendwie nutzen ... Der Notes Client muss doch sicherlich auch über irgendein Merkmal die Farben z.B. auf rot setzen ...

Jenson

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Anzahl neue eMails ermitteln ?
« Antwort #10 am: 29.10.04 - 15:55:52 »
Die Inbox ist ein Ordner und nicht eine Ansicht
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: Anzahl neue eMails ermitteln ?
« Antwort #11 am: 29.10.04 - 16:13:36 »
Geht wohl derzeit nur über die C API:

Getting the unread count from inbox folder of mailbox

(gefunden im Domino R6 Forum)

http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/0fdabb5e8529814785256d7100397d0e?OpenDocument

You can use LotusScript along with the C API to get this information:

Put the following in your (Declarations) section:

Declare Function NSFDbOpen Lib "nnotes.dll" (Byval PathName As String,rethDB As Long) As Integer

Declare Function NSFDbClose Lib "nnotes.dll" (Byval hDB As Long) As Integer

Declare Function NSFDbGetUnreadNoteTable Lib "nnotes.dll" (_
Byval hDB As Long,_
Byval UserName As String,_
Byval UserNameLength As Integer,_
Byval fCreateIfNotAvailable As Boolean,_
rethUnreadList As Long) As Integer

Declare Function IDDestroyTable Lib "nnotes.dll" (Byval hTable As Long) As Integer

Declare Function IDEntries Lib "nnotes.dll" (Byval hTable As Long) As Long


Then the following function will return the unread count for a particular user in a particular database:

Function GetUnreadCount(server As String,database As String,username As String) As Long
Dim rc As Integer
Dim hDB As Long
Dim hTable As Long
GetUnreadCount=-1
rc=NSFDbOpen(server+"!!"+database,hDB)
If rc=0 Then
rc=NSFDbGetUnreadNoteTable(hDB,username,Len(username),0,hTable)
If rc=0 Then
GetUnreadCount=IDEntries(hTable)
IDDestroyTable hTable
End If
NSFDbClose hDB
End If
End Function


Make sure the username is passed in full canonical format (e.g. UserName property of NotesSession)


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz