Announcement

Collapse
No announcement yet.

HTTP API: Get updated contacts - keine gelöschten Kontakte?!?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • HTTP API: Get updated contacts - keine gelöschten Kontakte?!?

    Hallo Community,

    ich tüftel derzeit an einer Synchronisationslösung zwischen meinem openXChange-Server und meinem Androidhandy. Um die Änderung des Servers abzurufen nutze ich aus der HTTP-API die Methode "Get updated contacts". Das funktioniert insofern wunderbar, als das ich neue und geänderte Kontakte wie in der Dokumentation beschrieben zugesendet bekomme. ABER ich bekomme keinerlei Information vom Server wenn ein Kontakt gelöscht wurde

    Ich hab meine ganze Kommunikation bereits mit tcpdump&wireshark überprüft. Ich konnte keinen Fehler erkennen. Wenn ein Kontakt gelöscht wurde erhalte ich als Antwort vom Server nur den obligatorischen timestamp und ein leeres "data"-Feld. Auch in den Serverlogs ist nichts zu sehen.

    Ist vielleicht "ignore"-Parameter standardmäßig auf "deleted" gesetzt? Kann ich mir zwar nicht vorstellen, da dieser Parameter ja "deprecated" ist, die Beschreibung würde aber perfekt zu meinem Problem passen: "causes deleted object IDs not to be returned".

    Ich bin für jeden Tipp dankbar

    MfG
    Christoph

  • #2
    Ist vielleicht "ignore"-Parameter standardmäßig auf "deleted" gesetzt?
    Zur Zeit unterstützt der Server nichts anderes, deswegen wird der Parameter komplett ignoriert. Er war mal dazu gedacht, die gelöschten Objekte doch irgendwann mal zurückgeben zu können. So schnell wird daraus aber nichts, da es Komplikationen beim Verschieben von Objekten gibt (sie landen nicht in der "gelöscht"-Tabelle, da sie ja nicht wirklich gelöscht wurden).
    Die GUI stellt deswegen immer zwei Abfragen auf einmal: eine action=all&columns=1,20 liefert die aktuelle Liste der Objekt-IDs, und eine action=updates&columns=.... liefert die aktualisierte Objekte mit allen benötigten Details.
    Last edited by Viktor Pracht; 07-25-2011, 12:08 PM.

    Comment


    • #3
      Das habe ich jetzt nicht ganz verstanden. Wie helfen mir die zwei von dir beschriebenen Abfragen um mein Problem zu lösen?
      Ich will ja einfach "nur" mitbekommen, wenn Kontakte aus dem von mir abgefragten Ordner rausgeflogen sind. Egal ob sie gelöscht oder verschoben wurden.

      Comment


      • #4
        Der einzige Weg, verschwundene Objekte zu erkennen, ist sich die Liste aller Objekt-IDs zu holen und sie mit den lokalen IDs zu vergleichen.

        Comment


        • #5
          Alles klar, jetzt hab ichs kapiert

          Müsste unter diesen Umständen nicht die Dokumentation http://oxpedia.org/wiki/index.php?ti...dated_contacts aktualisiert werden?

          Darf man sich Hoffnung darauf machen, dass die HTTP-API-Methode "Get Updated Contacts" bald wieder alles (also auch gelöschte Kontakte) zurückliefern wird?

          mfg
          Christoph

          Comment


          • #6
            Originally posted by Christoph Häfner View Post
            Müsste unter diesen Umständen nicht die Dokumentation http://oxpedia.org/wiki/index.php?ti...dated_contacts aktualisiert werden?
            Das wurde sie bereits. Was genau fehlt da bzw. ist unverständlich?

            Originally posted by Christoph Häfner View Post
            Darf man sich Hoffnung darauf machen, dass die HTTP-API-Methode "Get Updated Contacts" bald wieder alles (also auch gelöschte Kontakte) zurückliefern wird?
            Wieso "wieder"? Das konnte die API noch nie.

            Comment


            • #7
              Folgender Satz in der Dokumentation hört sich ganz schwer danach an als ob die Methode es könnte und ist daher meiner Meinung nach fehl am Platz:
              "Deleted contacts are identified by their object IDs as plain strings, without being part of a nested array."

              Daraus habe ich geschloßen, dass die API es schon einmal konnte und gehofft sie wird es in naher Zukunft auch wieder. Die Vorgeschlagene Lösung ist gerade für den mobilen Bereich (z.B. Smartphones) eine echte Krücke, da dort jede Abfrage die übers Netzwerk geht eine zu viel ist.

              Comment


              • #8
                Ich habe den Satz überall in der HTTP API angepasst. Hoffentlich ist es jetzt klarer.

                Um wenn nicht die Bandbreite, dann zumindest die Anzahl der Abfragen zu minimieren, könnte und sollte das "multiple"-Modul verwendet werden, um die beiden Anfragen zu einer zusammenzufassen.

                Comment

                Working...
                X