Autor Thema: Aufgabe aktualisieren  (Gelesen 4266 mal)

Offline Michael Patzak

  • Frischling
  • *
  • Beiträge: 28
  • I love YaBB 1G - SP1!
Aufgabe aktualisieren
« am: 06.09.11 - 21:45:45 »
Moin,

als "stiller" Mitleser muss ich doch auch mal ein Frage stellen.

Ich nutze privat den Notes Client seit 5.0 und zur Zeit Notes 8.5.2 unter Ubtuntu 10.04 LTS. Der Hintergrund ist, dass ich die Datenbank Private Office
von INTRAWARE seit 1999 einsetze und auch entsprechend nutze, also meine ganzen Adressen incl. der dazugehörigen Vorgänge sind dort abgelegt.

Mittlerweile umfassen meine DB ca. 2,0 GB (Mail, Private Office und meine Notizen (Journal Schablone)). Schick ist es auch mit den Aufgaben zu arbeiten.

Seit meinem Umstieg von Windows zu Linux funktioniert allerdings der Agent "Aufgabe aktualisieren|Update Tasks" nicht mehr.

Was ich bislang versucht habe:

http://atnotes.de/index.php/topic,46766.0.html
http://atnotes.de/index.php/topic,51557.msg331493.html#msg331493
http://atnotes.de/index.php/topic,51557.0.html

Dann eine neue leere DB erstellt mit der Schablone "StdR85Mail/de"
Neuen Agenten erstellt names Test
In die leere DB eine Aufgabe eingetragen
Am nächsten Tag aus der Kalenderansicht Menü Aktionen Test ausgewählt und siehe da ..... es funzt.

Jetzt die Frage ... was kann ich noch tun, damit der o.g. Agent funktioniert oder muss ich jetzt von meiner Original Mail DB alles in die neue Mail DB kopieren?

Kennt vielleicht einer dazu eine Lösung? Vielen Dank im voraus.  ???

mfg

Michael

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Aufgabe aktualisieren
« Antwort #1 am: 06.09.11 - 22:50:49 »
In keiner Version der Mailschablone seit der ersten Notes-Version gibt es Agents, die vom OS abhängig wären (ausser dass es vor Version 8 keine Clients für andere OS als Windows gegeben hat, dafür liefen aber die Agents auf dem 3er Server vor allen unter OS/2 oder Netware).

Da muss also irgend etwas anderes faul sein - am OS liegt es nicht und nicht an der Schablonenversion.

Abgesehen davon kannst Du über Deine 5er Mail-DB die 8er-Schablone auch drüberbügeln (aber Achtung - das ist auf einem pure Client eine etwas eigene Sache und sollte nicht mit Schablone wechseln oder aktualisieren gemacht werden!). Es ist nicht erforderlich, dass Du hier irgendetwas kopierst (das wird sogar kontraproduktiv sein).

Bernhard

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: Aufgabe aktualisieren
« Antwort #2 am: 07.09.11 - 06:42:03 »
Moin,

was steht denn im Serverlog ? Oder läuft alles rein lokal ?

Funktioniert denn bei Dir der Agent in der Standardschablone ?

CU,
Axel

Offline Michael Patzak

  • Frischling
  • *
  • Beiträge: 28
  • I love YaBB 1G - SP1!
Re: Aufgabe aktualisieren
« Antwort #3 am: 07.09.11 - 17:13:59 »
Moin,

erstmal vielen Dank.

@koehlerbv   Die Schablone ist bereits ne 8er

@wildVirus   Ja, es läuft alles rein lokal

Kurioserweise werden die Aufgaben verschoben, wenn diese geöffnet und wieder gespeichert werden. ???

mfg

Michael

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Aufgabe aktualisieren
« Antwort #4 am: 07.09.11 - 18:39:08 »
Das ist überhaupt nicht kurios, da im Speichern-Code für *ein* (das) Dokument genau das ausgeführt wird, was der Agent sonst für alle ToDos nächtens macht.

Bernhard

Offline Michael Patzak

  • Frischling
  • *
  • Beiträge: 28
  • I love YaBB 1G - SP1!
Re: Aufgabe aktualisieren
« Antwort #5 am: 07.09.11 - 20:35:14 »
Moin,

nochmals vielen Dank.

@Bernhard          .........das ist auf einem pure Client eine etwas eigene Sache und sollte nicht mit Schablone wechseln oder aktualisieren gemacht werden!).

Was würdest Du dann empfehlen?

mfg

Michael

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Aufgabe aktualisieren
« Antwort #6 am: 07.09.11 - 21:30:16 »
Hallo Michael,

auf dem Domino wäre es der Convert-Task, der laufen müsste, um Mail-DBs zu heben. Auf dem Client ist es das Program nconvert.exe - aber "nur" unter Windows. Wie der Programmaufruf unter Deinem speziellen Linux lautet, entzieht sich meinem Wissensbereich als Notes-Programmierer.

Wie der Convert-Task tut und was für Parameter es brauchst, findest Du in der Admin-Doku-NSF, die Dir als Standalone-User aber vermutlich nicht nur Verfügung steht. Die Doku habe ich aber gerade gestern hier
http://atnotes.de/index.php/topic,52530.0.html
in Post #3 verlinkt - IBM Lotus stellt die auch im Net zur Verfügung.

HTH,
Bernhard

Offline Michael Patzak

  • Frischling
  • *
  • Beiträge: 28
  • I love YaBB 1G - SP1!
Re: Aufgabe aktualisieren
« Antwort #7 am: 08.09.11 - 17:07:19 »
Moin,

jetzt ist es gelöst:

Mal eben auf einem Test PC einen "nackten" Client installiert (Gleiches Betriebssystem, gleiche Notes Version) unbd die Agenten verglichen. Es fehlte folgender Code:

Bei Declaration:

Dim itemDates As notesitem

Dim dtInstance As NotesDateTime

Sub Initialize

   Dim session As New NotesSession

   Dim db As notesdatabase

   Dim viewTodo As NotesView

   Dim note As NotesDocument

   Dim dtToday As NotesDateTime

   Dim viewEntries As NotesViewEntryCollection

   Dim viewEntry As NotesViewEntry

   Dim vTodo As Variant

   

   ' Initialize variables

   Set db = session.currentdatabase

   Set viewTodo = db.GetView("Tasks")

   

   If (viewTodo Is Nothing) Then Exit Sub

   

   ' Enumerate the todo entries

   Set viewEntries = viewTodo.AllEntries()

   

   Set viewEntry = viewEntries.GetFirstEntry()

   

   While Not(viewEntry Is Nothing)

      If (viewEntry.IsDocument()) Then

         Set note = viewEntry.Document

         

         If (CanProcessNote(note)) Then

            If (NOTEUserIsCreator(note)) Then

               Set vTodo = New NotesCSEventOwnerDocument(2)

            Else

               Set vTodo = New NotesCSEventParticipantDocument(2)

            End If

            ' See if this is a repeating entry

            If (note.HasItem("OrgRepeat")) Then Call InitTodoObject(vTodo, note)

            

            Call vTodo.Init(note)

            Call vTodo.SetDueState()

            Call vTodo.SetCalendarDateTime()

            If Not(note.GetItemValue("DueState")(0)=10) And Not(note.GetItemValue("DueState")(0)=9) Then

               Call vTodo.SetViewIcon()

            End If

            

            Call note.replaceitemvalue("tmpMod", "1")

            

            Call vTodo.MarkTempItems()

            

            If (note.HasItem("OrgRepeat")) Then

               vTodo.RepeatModify = REPEAT_CURRENT

               Call vTodo.CreateRepeatExceptions(REPEAT_CURRENT)               

            End If

            Call note.save(True, True, True)

         End If

      End If

      Set viewEntry = viewEntries.GetNextEntry(viewEntry)

   Wend

End Sub


Function CanProcessNote(note As NotesDocument) As Integer

   CanProcessNote = False

   

   ' make sure this is a to do item

   If (Strcomp(note.GetItemValue("Form")(0), "Task") <> 0) Then Exit Function

   

   ' make sure this is not completed

   If (note.hasitem("AssignState")) Then

      If (note.GetItemValue("AssignState")(0) > 8) Then Exit Function

   End If

   

   ' make sure we are not processing a repeat parent

   If (note.HasItem("OrgRepeat") And Not(note.IsResponse)) Then Exit Function

   

   ' make sure we are not processing a draft

   If (note.GetItemValue("TaskType")(0)="2")  And Not(note.hasItem("PostedDate")) Then Exit Function

   

   'make sure we are not processing a message

   If (note.GetItemValue("$CSFlags")(0)="m") Then Exit Function   

   

   ' make sure we are not processing a repaired instance or message

   If (note.GetItemValue("$CSFlags")(0)="x") Then Exit Function   

   

   CanProcessNote = True

End Function


Sub InitTodoObject(vTodo As Variant, note As notesdocument)

   Dim itemDates As notesitem

   Dim dtInstance As NotesDateTime

   

   ' seed the calendar instance with the first date in the list

   Set itemDates = note.GetFirstItem(vTodo.StartItemName)

   

   Call TIMEGetNotesFromLS(itemDates.Values(0), dtInstance)

   

   Set vTodo.CalendarInstance = dtInstance

End Sub

Jetzt noch den Auslöser von Menü "Aktionen" auf täglich und siehe da ..... funzt.

Nochmals vielen Dank für Eure Antworten.

mfg

Michael  ;D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz