Autor Thema: [Gelöst] Private Termine vom iPhone (Traveler) in Lotus Notes  (Gelesen 4913 mal)

Offline damnstamn

  • Junior Mitglied
  • **
  • Beiträge: 54
Hallo in die Runde,

aktuell habe ich folgende Problemstellung:
Das iPhone kann ja bekanntlich nicht zwischen privaten und geschäftlichen Terminen unterscheiden (Works as Designed). Unser Chef hätte das gerne anders. Auf meiner langen Suche bei Google habe ich auf dieser Seite http://www.vsb.de/newsanzeige/items/iphone-lotus-traveler-private-termine.html eine Anleitung gefunden, die mich in die Richtung bringt wo ich hin möchte.
Ich baue einen Agenten mit folgendem Code

Sub Initialize
Const cPrivateMarker = "P:"
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim Subject As String
Set db = s.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
On Error Resume Next
While (Not doc Is Nothing)
   Subject = doc.Subject(0) + " "
   If (Left$(Subject,Len(cPrivateMarker)) = cPrivateMarker) Then
      doc.Subject = Trim(Mid$(Subject,Len(cPrivateMarker)+1))
      doc.OrgConfidential = "1"
      Call doc.Save(True, False, False)
   End If
   Set doc = dc.GetNextDocument(doc)
Wend
End Sub

Lasse das Ganze dann bei "Neuen oder geänderten Dokumenten" laufen und nach ca. 5 Minuten nachdem auf dem iPhone der Termin mit dem Betreff P: eingestellt wurde, hat das Feld "OrgConfidential" den Wert 1. Soweit so gut. Leider kann aber immer noch jeder, der öffentliche Dokumente des Nutzers lesen kann, diesen Termin lesen.

Gehe ich nun in Lotus Notes in den Kalender, öffne den Eintrag zur Bearbeitung und speichere diesen, ohne das ich etwas ändere, ist der Kalendereintrag nicht mehr lesbar und korrekt eingestellt.

Wir setzen aktuell Domino Server 8.5 ein sowie den Lotus Notes Client in der Version 8.51 FP4 mit der 8.5er Schablone auf allen Postkörben.

Hat jemand evt. eine Idee oder einen Tipp, was dieses erneute speichern mit dem Eintrag macht? Oder sehe ich gerade den Wald vor lauter Bäumen nicht?
Oder gibt es vielleicht schon andere Lösungen die ich bei Suchen im Forum oder bei Google übersehen habe?

Über Rückmeldung jeglicher Art würde ich mich freuen.

Schonmal ein schönes Wochenende

Markus Stammen
« Letzte Änderung: 14.05.12 - 13:04:35 von damnstamn »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Private Termine vom iPhone (Traveler) in Lotus Notes
« Antwort #1 am: 11.05.12 - 14:54:17 »
Hallo,

Schon mal in dem 'erneut' gespeicherten Dokument nachgesehen, welche Felder sich geaendert haben?
(speziell - gibt es das Feld $PublicAccess)


Andreas

Offline damnstamn

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Private Termine vom iPhone (Traveler) in Lotus Notes
« Antwort #2 am: 11.05.12 - 15:39:02 »
Hallo ascabg,

das Feld $PublicAccess hat den Wert 1.
Ein von Hand angelegter Termin hat kein Feld mit dem Namen in der Feldübersicht des Dokumentes.
Auch wenn ich den Traveler-Termin bearbeite und speichere, wird das Feld entfernt.

Reicht es, wenn ich über den Agenten das Feld lösche? Oder muss erst der Agent laufen und dann in Verkettung bzw. nach Zeit x ein weiter Agent laufen?

Über Tipps würde ich mich freuen.

Beste Grüße

Markus

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Private Termine vom iPhone (Traveler) in Lotus Notes
« Antwort #3 am: 14.05.12 - 07:57:10 »
Das Feld steuert den Zugriff auf 'oeffentliche' Dokumente, was Kalender-Dokumente nun einmal von Haus aus sind.
(ACL - Read and Write Public Documents)

Entfernst Du dieses Feld, so werden daraus ganz 'normale' Dokumente, fuer die die allgemeinen Zugriffssteuerungen gelten.


Andreas

Offline damnstamn

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Private Termine vom iPhone (Traveler) in Lotus Notes
« Antwort #4 am: 14.05.12 - 10:29:23 »
Ok, ich hab jetzt folgendes versucht
Zwischen
While (Not doc Is Nothing)
      Subject = doc.Subject(0) + " "
      If (Left$(Subject,Len(cPrivateMarker)) = cPrivateMarker) Then
         doc.Subject = Trim(Mid$(Subject,Len(cPrivateMarker)+1))
         doc.OrgConfidential = "1"
         field.PublicAccess = "0"

und

         Call doc.Save(True, False, False)
      End If
      Set doc = dc.GetNextDocument(doc)

habe ich dann mit der Referenz folgendes eingefügt.
Sub Delete [ $PublicAccess ] End Sub

Leider meckert der Domino Designer, sobald ich ein $Feld löschen möchte. Oder hab ich da den falschen Ansatz?
Irgendwie stehe ich auf dem Schlauch. Ich muss auch zugeben, das Lotus Script nicht gerade meine Stärke ist...

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Private Termine vom iPhone (Traveler) in Lotus Notes
« Antwort #5 am: 14.05.12 - 10:49:52 »
Call doc.RemoveItem ("$PublicAccess")

EDIT: Was ist denn field.PublicAccess = "0"?
« Letzte Änderung: 14.05.12 - 10:53:15 von Peter Klett »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Private Termine vom iPhone (Traveler) in Lotus Notes
« Antwort #6 am: 14.05.12 - 10:52:44 »
Und wenn Du sowas im Zusammenhang mit "$-Items" doch mal brauchen solltest:
Ersetze Dein (mehrfach falsches)
field.PublicAccess = "0"
entweder durch
doc.~$PublicAccess = "0"
oder
doc.ReplaceItemValue ("$PublicAccess, "0")

HTH,
Bernhard

Offline damnstamn

  • Junior Mitglied
  • **
  • Beiträge: 54
Re: Private Termine vom iPhone (Traveler) in Lotus Notes
« Antwort #7 am: 14.05.12 - 13:03:55 »
Vielen Dank, das Problem ist gelöst.

Das field.PublicAccess = "0" war ein missglückter Test.
Hab das aus dem Code wieder entfernt.
@Bernhard: Danke für die Tipps um die Werte zu setzen.

Ich danke allen für schnelle Hilfe.

Einen stressfreien Tag noch

Markus

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz