Entwicklerforum - opencaching.de Forum Index Entwicklerforum - opencaching.de
Ein ruhiges Plätzchen für die Phantasien von morgen
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

XML-Interface Version 1.1
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Entwicklerforum - opencaching.de Forum Index -> Interfaces und Datenformate (XML, GPX, LOC usw.)
View previous topic :: View next topic  
Author Message
Kalli



Joined: 13 Nov 2005
Posts: 27

PostPosted: Sat Mar 25, 2006 2:10 pm    Post subject: Reply with quote

tja, Essig mit dem Wochenende Crying or Very sad

Bei Caches mit HTML-Beschreibungen gibts Probleme. Grund: einige HTML-Zeichen müssen übersetzt werden wie z.B. ">" nach "&gt". In dem Code für den GPX-Export gibts eine Funktion, die das erledigt. Aber keine Eile, ich habe noch genügend andere Sache zu tun. Very Happy

Ansonsten funzt das schon wunderbar, Bilder bekomme ich auch schon geladen, jetzt gehts an die Log.

Ach, eine Frage fällt mir noch ein. Muss "removedobject" unterstützt werden oder dient das eher der "Müllabfuhr"? Kann man bei Euch Caches löschen?
Back to top
View user's profile Send private message
Tiger



Joined: 13 Nov 2005
Posts: 86

PostPosted: Sat Mar 25, 2006 5:08 pm    Post subject: Reply with quote

Kalli wrote:
Bei Caches mit HTML-Beschreibungen gibts Probleme. Grund: einige HTML-Zeichen müssen übersetzt werden wie z.B. ">" nach "&gt".


recode iso-8859-1..html sollte die lösung sein. Weitere Infos z.B. hier: http://directory.fsf.org/recode.html damit habe ich das Problem für die Schwarzwald-Karten und meine Google Earth Sachen gelöst.

Tiger
Back to top
View user's profile Send private message
Oliver



Joined: 02 Nov 2005
Posts: 577

PostPosted: Sat Mar 25, 2006 5:15 pm    Post subject: Reply with quote

Kalli wrote:
Bei Caches mit HTML-Beschreibungen gibts Probleme. Grund: einige HTML-Zeichen müssen übersetzt werden wie z.B. ">" nach "&gt". In dem Code für den GPX-Export gibts eine Funktion, die das erledigt. Aber keine Eile, ich habe noch genügend andere Sache zu tun. Very Happy


ok, kommt auch noch rein ... auch wenn < und > innerhalb von CDATA XML-konform sein sollten ...

Kalli wrote:
Ach, eine Frage fällt mir noch ein. Muss "removedobject" unterstützt werden oder dient das eher der "Müllabfuhr"? Kann man bei Euch Caches löschen?


ja, das ist die Müllabfuhr für alles was gelöscht wird ... also auch Bilder, Logs usw. Müssen tut natürlich niemand ... aber ohne removed-Objects wird es inkrementell _nie_ funktionieren (Alternative wäre für jeden Datensatz ein XML-Attribut "deleted").

Caches löschen kann ich im moment nur direkt in der DB ... ist auch schonmal vorgekommen (oder auf Anfrage) ...
Back to top
View user's profile Send private message Send e-mail
Kalli



Joined: 13 Nov 2005
Posts: 27

PostPosted: Sat Mar 25, 2006 7:36 pm    Post subject: Reply with quote

Oliver wrote:
ok, kommt auch noch rein ... auch wenn < und > innerhalb von CDATA XML-konform sein sollten ...

Ist mir eben auch eingefallen, Xerces fand die Datei ja auch OK. Ich schickst mal durch unseren XML-Wandler. Aber irgendetwas bringt unseren XML-Parser (MinML) durcheinader und er wirft eine Exception. Mit Zeichensätzen ist EWE auch nicht so reichhaltig ausgestattet, da gibt's nur ASCII (wobei er schon mit Zeichen über 127 klarkommt) und UTF.
Back to top
View user's profile Send private message
Kalli



Joined: 13 Nov 2005
Posts: 27

PostPosted: Sat Mar 25, 2006 9:13 pm    Post subject: Reply with quote

Oliver wrote:
ja, das ist die Müllabfuhr für alles was gelöscht wird ... also auch Bilder, Logs usw. Müssen tut natürlich niemand ... aber ohne removed-Objects wird es inkrementell _nie_ funktionieren (Alternative wäre für jeden Datensatz ein XML-Attribut "deleted").

Da scheint es dann aber keinen Zusammenhang mit den Cachedaten zu geben, die ich lade. Ich habe z.B. eine Abfrage gemacht, bei der zwei Caches rauspurzeln, die Anfang März gelegt wurden, <removedobject> bekomme ich aber jede Menge, nämlich seit August 2005 (ich lade noch komplett, nicht inkrementell). D.h. also, ich bekomme hier mitten in Hessen mit, wenn auf Rügen ein Log gelöscht wird (etwas übertrieben ausgedrückt).

Du hast natürlich recht, dass man Mechanismen benötigt, um zwei Datenbanken zu synchronisieren zu können. Die Frage ist, wie ein Update von Daten stattfindet, wird wohl am meisten bei Cachebeschreibungen und Logs vorkommen.

Beispiel Cachebeschreibung:
Läuft das so:
Code:
  ID ABC....
    Text dies ist ein Text
Update
  ID ABC
  Text dies ist ein neuer Text


oder so:
Code:
  ID ABC....
 Text dies ist ein Text
Update
  ID DEF...
  Text dies ist ein neuer Text

  Removeobject ABC

Also gibt es einen Updatesatz mit der gleichen ID oder gibt es einen neuen Satz mit einer anderen ID und eine Löschung des alten.

Ich würde es ehrlich gesagt hinnehmen, wenn mal ein Log nicht gelöscht wird. Wenn die Beschreibung aktualisiert wird oder der Cache gar nicht mehr da ist, muss das der CW das wissen.
Back to top
View user's profile Send private message
Oliver



Joined: 02 Nov 2005
Posts: 577

PostPosted: Sat Mar 25, 2006 9:39 pm    Post subject: Reply with quote

Kalli wrote:
Da scheint es dann aber keinen Zusammenhang mit den Cachedaten zu geben, die ich lade.


doch, die UUID

Kalli wrote:
Ich habe z.B. eine Abfrage gemacht, bei der zwei Caches rauspurzeln, die Anfang März gelegt wurden, <removedobject> bekomme ich aber jede Menge, nämlich seit August 2005 (ich lade noch komplett, nicht inkrementell). D.h. also, ich bekomme hier mitten in Hessen mit, wenn auf Rügen ein Log gelöscht wird (etwas übertrieben ausgedrückt).


Das Problem ist, dass der geografische Bezug beim Löschen eines Logs verloren geht (momentan wird nur Datensatztyp, Datum und UUID beim Löschen gespeichert) ... und deshalb werden eben alle (seit modifiedsince-Paramter) gelöschten Objekte ausgegeben.

Quote:
Du hast natürlich recht, dass man Mechanismen benötigt, um zwei Datenbanken zu synchronisieren zu können. Die Frage ist, wie ein Update von Daten stattfindet, wird wohl am meisten bei Cachebeschreibungen und Logs vorkommen.

...


Wo es oft und wo selten vorkommt spielt eher keine Rolle ... ansonsten bin ich mir nicht ganz sicher worauf du hinaus willst.

So wie die Replikation momentan implementiert ist, sind wir bei einer sehr niedrigen Fehlerquote ... und die Fehler sind abfangbar.

Bsp.
User a ändert seinen Namen in b
User c ändert seinen Namen in a
User a ändert seinen Namen in xyz

Wenn diese 3 Änderungen zwischen einem inkrementellen Aufruf stattfinden, bekommt der Client die Änderung von a nach b nicht mit und wenn c in a geändert wird, gibt es schon einen a Rolling Eyes

Die Lösung liegt darin, das Update von c auf a zurückzustellen und nach der Änderung von c auf a nochmals zu versuchen ...

Ich hoffe das war verständlich ... vermute aber fast, dass die Beschreibung kaum zu verstehen ist Embarassed

Ähnlich:
User a wird gelöscht
Neuer User a wird angemeldet

Da immer erst am Ende einer XML-Datei gelöscht wird, gibt es noch einen User a ...

"User a" = Benutzer mit (unique) Username "a"

Sowas kommt aber wohl höchst selten vor ...



... das soll jetzt aber wieder genug an Verwirrung sein Wink

Um die beschriebene Fehlermoglichkeit auszuschließen, müsste jede Änderung in einer Art Journal mitgeschrieben werden ... mal kucken ob wir das beim Redesign gelöst bekommen (auch wenn das eher Nice2Have ist).



Schöne Grüße,
Oliver
Back to top
View user's profile Send private message Send e-mail
Kalli



Joined: 13 Nov 2005
Posts: 27

PostPosted: Sat Mar 25, 2006 9:59 pm    Post subject: Reply with quote

Oliver wrote:

Wo es oft und wo selten vorkommt spielt eher keine Rolle ... ansonsten bin ich mir nicht ganz sicher worauf du hinaus willst.

Naja, ich sehe die Welt halt durch die CW-Brille, und da sind mir die User erst mal egal, dass, was ich an User-Angaben brauche, habe ich im Klartext. Wenn nun also ein User seinen Namen ändert, und im Log steht noch sein alter Name, ist mir das ziemlich egal. Wenn man zu einem Zeitpunkt x die Daten ausgedruckt hätte, würde es auch so auf dem Papier stehen, und der CW soll ja in erster Linie das Papier ersetzen.

Mir ist schon klar, dass die Angaben zum User letzlich in einer Tabelle stehen und Du ein Interface gemacht hast, um Datenbanken zu aktualisieren.

Ich gehe zur Zeit so vor, dass ich mir nur die id des Caches merke, cachedesc, cachelog und picture haben ja auch die cache id mit drin und so bekomme ich den Zusammenhang mit. Es würde mir also nichts ausmachen, wenn sich die ID von cachedesc bei einem Update ändert, da ja immer noch auf den gleichen cache gezeigt wird. Das gleiche gilt natürlich auch für cachelog und picture. Da ich mir die IDs der einzelnen Objekte ( außer die des caches selbst) also nicht speichere, kann ich auch gar nicht nachhalten, wenn sie gelöscht werden (und wie gesagt, dass ist mir auch egal).

Ich will halt "nur" sicherstellen, dass die Informationen, die man zum Suchen eines Caches benötigt, aktuell sind (wenn der Benutzer regelmäßig aufs Knöpfchen drückt). Und da Caches (und somit die cache ID) sehr selten gelöscht werden, müsste ich doch mit meinem Minimalansatz gar nicht so verkehrt liegen.
Back to top
View user's profile Send private message
Oliver



Joined: 02 Nov 2005
Posts: 577

PostPosted: Sat Mar 25, 2006 10:56 pm    Post subject: Reply with quote

Kalli wrote:
Ich will halt "nur" sicherstellen, dass die Informationen, die man zum Suchen eines Caches benötigt, aktuell sind (wenn der Benutzer regelmäßig aufs Knöpfchen drückt). Und da Caches (und somit die cache ID) sehr selten gelöscht werden, müsste ich doch mit meinem Minimalansatz gar nicht so verkehrt liegen.


Für den Anfang sicher Wink
Muss ja nicht alles sofort und 100%ig sein ...
Back to top
View user's profile Send private message Send e-mail
Oliver



Joined: 02 Nov 2005
Posts: 577

PostPosted: Sat Mar 25, 2006 11:00 pm    Post subject: Reply with quote

XML-Interface-Update!

siehe http://www.opencaching.de/doc/xml/xml11.htm Abschnitt XML-Optionen.

- cdata und charset sind neu
- xmldecl, doctype und ocxmltag waren noch nicht dokumentiert

Bitte testen und bei Fehlern und Fragen ganz laut schreien Wink
Back to top
View user's profile Send private message Send e-mail
Kalli



Joined: 13 Nov 2005
Posts: 27

PostPosted: Sun Mar 26, 2006 9:08 am    Post subject: Reply with quote

Super Very Happy Very Happy Very Happy Very Happy
Jetzt klappt's auch mit dem XML-Parser. Ich nutze jetzt UTF-8 und cdata=0, somit ist die Sache "GPX-kompatibel".

Danke.
Back to top
View user's profile Send private message
RedHunters



Joined: 16 Nov 2005
Posts: 11

PostPosted: Wed Apr 12, 2006 7:59 am    Post subject: Reply with quote

Oliver wrote:
Bitte testen und bei Fehlern und Fragen ganz laut schreien Wink


Habts ihr mal eine Tipp für mich wenn bei folgender Abfrage
http://www.opencaching.de/xml/ocxml11.php?modifiedsince=20050801000000&cache=1&cachelog=1&removedobject=1&country=AT&cdata=0&charset=utf-8

Trotzdem die Texte in CDATA gefasst und auch nicht utf-8 sind ?

Stefan
Back to top
View user's profile Send private message
Oliver



Joined: 02 Nov 2005
Posts: 577

PostPosted: Wed Apr 12, 2006 2:38 pm    Post subject: Reply with quote

Hi,

RedHunters wrote:
Habts ihr mal eine Tipp für mich wenn bei folgender Abfrage
http://www.opencaching.de/xml/ocxml11.php?modifiedsince=20050801000000&cache=1&cachelog=1&removedobject=1&country=AT&cdata=0&charset=utf-8

Trotzdem die Texte in CDATA gefasst und auch nicht utf-8 sind ?


Erste Abfrage zum starten der Session:
http://www.opencaching.de/xml/ocxml11.php?modifiedsince=20050801000000&cache=1&cachelog=1&removedobject=1&country=AT&cdata=0&charset=utf-8


2. bis x. Abfrage zum abrufen der Daten:
http://www.opencaching.de/xml/ocxml11.php?sessionid=548&file=1&cdata=0&charset=utf-8


Oder alles auf einmal:
http://www.opencaching.de/xml/ocxml11.php?modifiedsince=20050801000000&cache=1&cachelog=1&removedobject=1&country=AT&cdata=0&charset=utf-8&session=0


Hoffe das hilft ...

Schöne Grüße,
Oliver
Back to top
View user's profile Send private message Send e-mail
goldensurfer



Joined: 13 Jan 2006
Posts: 7

PostPosted: Wed Apr 19, 2006 10:21 am    Post subject: Reply with quote

Wie komme ich eigentlich an die Beschreibung und die Logs eines bestimmten Caches, ohne ALLE laden zu müssen? Geht das, indem ich irgendwie (und wenn ja: wie genau? Wink ) die UUID mit übergebe? Einen "Trick" könnte ich mir vorstellen, indem ich die Koordinaten des Caches mit übergebe und einen sehr kleinen Suchradius. Oder gibt es einen einfacheren Weg?
_________________
--
goldensurfer (Ralf)
Back to top
View user's profile Send private message Visit poster's website
Oliver



Joined: 02 Nov 2005
Posts: 577

PostPosted: Wed Apr 19, 2006 3:10 pm    Post subject: Reply with quote

goldensurfer wrote:
Wie komme ich eigentlich an die Beschreibung und die Logs eines bestimmten Caches, ohne ALLE laden zu müssen? Geht das, indem ich irgendwie (und wenn ja: wie genau? Wink ) die UUID mit übergebe? Einen "Trick" könnte ich mir vorstellen, indem ich die Koordinaten des Caches mit übergebe und einen sehr kleinen Suchradius. Oder gibt es einen einfacheren Weg?


Dazu wurde das Interface nicht entwickelt ...

Hier empfehle ich dir den GPX-Download über die Suchfunktion:
http://www.opencaching.de/search.php?searchto=searchbycacheid&showresult=1&cacheid=104636&output=gpx


Hoffe das hilft weiter,
Oliver
Back to top
View user's profile Send private message Send e-mail
goldensurfer



Joined: 13 Jan 2006
Posts: 7

PostPosted: Wed Apr 19, 2006 5:08 pm    Post subject: Reply with quote

Hallo Oliver,
ohja, das hilft weiter - ist dann sogar noch einfacher, da ich nur eine Datei laden muss Very Happy
Ist die Suchfunktion irgendwo dokumentiert?
_________________
--
goldensurfer (Ralf)
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Entwicklerforum - opencaching.de Forum Index -> Interfaces und Datenformate (XML, GPX, LOC usw.) All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group