efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehmen?

Diskussion, Fragen, Anregungen und Wünsche zu efa2

Moderatoren: nick, smg

Forumsregeln
Verfasse bitte die Beiträge in den passenden Kategorien und gib ihnen einen aussagekräftigen Betreff.
Antworte bitte nur zum Thema und beginne ein neues Thema, falls Du noch etwas Zusätzliches sagen möchtest.
skc-andreas
Beiträge: 96
Registriert: So 1. Jan 2012, 22:22
Wohnort: Schleswig
Kontaktdaten:

efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehmen?

Beitrag von skc-andreas » Sa 4. Feb 2012, 00:11

Hallo Nicolas,

für die Synchronisation der Fahrten in efa mit denen im eFB (elektronisches Fahrtenbuch des DKV für Kanuten) benötigt man neben den Zugangsdaten zum eFB (Benutzername + Passwort) auch die "Kanu-eFB ID" der "Personen" und der "Boote", die man in efa2 in der Administration jeweils im "Expertenmodus" auf der Registerkarte "weitere Daten" eintragen kann. Das habe ich soweit gefunden. Nur wie komme ich an die entsprechenden ID's? - Im eFB habe ich leider nirgends diese ID's finden können.

Viele Grüße
Andreas

P.S.: Die Adressen zur Anmeldung am eFB haben sich übrigens geändert. Die neue "Login URL" lautet: "http://manni.kanu-efb.de/services/login" und die "Request URL" entsprechend: "http://manni.kanu-efb.de/services".

nick
Beiträge: 1300
Registriert: Sa 10. Jul 2010, 11:45

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von nick » Sa 4. Feb 2012, 05:50

Hallo Andreas,

ursprünglich war es mal so gedacht, daß die ID's für die User manuell eingetragen werden müssen. Das habe ich aber inzwischen geändert, so daß efa alle Personennamen Deines Vereins im eFB abfragt und versucht, dazu passende in der Personenliste von efa zu finden (analog wie dies umgekehrt auch mit den Booten und Gewässern funktioniert). Zur Zeit passiert dieser Abgleich auf Basis des Namens. Zukünftig könnte ich mir vorstellen, daß dem Admin passende Namen vorgeschlagen werden und er die automatisch erkannte Übereinstimmung akzeptieren oder ändern kann.

Damit das funktioniert, muß Dein eFB-Account, den Du in efa einträgst, mit den Rechten eines eFB-Bevollmächtigten/Vereinsbevollmächtigten ausgestattet sein. Wir hatten im eFB-Team mal diskutiert, ob dafür eventuell eine spezielle Rolle im eFB eingeführt werden sollte.

Was die Login-URL angeht - nunja, solange die Schnittstelle nur einen Demo-Charakter hat, belasse ich es mal bei der URL. Die kannst Du ja in der efa-Konfiguration selbst anpassen (hast Du sicherlich gefunden). Wie schnell wir zu einer voll funktionsfähigen Schnittstelle kommen, hängt auch stark vom Interesse seitens der eFB/efa-Nutzer ab, da das die Priorisierung der wenigen Entwicklerreourcen beeinflussen kann. Falls Du also auf Deinem Workshop noch weitere Clubs für diese Idee begeistern kannst, kommt die Schnittstelle vielleicht schneller!

Gruß,
Nicolas

skc-andreas
Beiträge: 96
Registriert: So 1. Jan 2012, 22:22
Wohnort: Schleswig
Kontaktdaten:

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von skc-andreas » So 5. Feb 2012, 22:19

Hallo Nikolas,

als eFB-Account hatte ich bereits meinen Zugang als eFB-Vereinsbevollmächtigten verwendet. Ich habe jedoch gesehen, dass es bei der Synchronisation zu einer Fehlermeldung kommt - siehe Screenshot.
efa2beta-Fehler_bei_Synchronisation.png
Screenshot
efa2beta-Fehler_bei_Synchronisation.png (72.27 KiB) 11193 mal betrachtet
Für die "Login URL" habe ich "http://manni.kanu-efb.de/services/login" und für die "Request URL" http://manni.kanu-efb.de/services" verwendet.

Auszug aus der Logdatei "efa.log":

Code: Alles auswählen

[05.02.2012 19:27:53] - efaBths - 02209 - INFO    - EVT001 - PROGRAMMSTART
[05.02.2012 19:27:53] - efaBths - 02209 - INFO    - INF002 - Version efa: 1.9.9_33 -- Java: 1.6.0_26 (JVM 20.1-b02) -- OS: Linux 2.6.38-13-generic
[05.02.2012 19:27:57] - efaBths - 02209 - INFO    - RMT001 - efaRemote Server läuft auf Port 3834
[05.02.2012 19:28:00] - efaBths - 02209 - INFO    - EVT011 - Projekt 'Fahrtenbuecher_des_SKC' geöffnet.
[05.02.2012 19:28:00] - efaBths - 02209 - INFO    - EVT012 - Fahrtenbuch '2012' geöffnet.
[05.02.2012 19:28:00] - efaBths - 02209 - INFO    - EVT013 - BEREIT
[05.02.2012 19:28:31] - efaBths - 02209 - INFO    - ADM001 - Admin-Login: Name: admin
[05.02.2012 19:28:51] - efaBths - 02209 - INFO    - SNC002 - Beginne Synchronisierung mit Kanu-eFB ...
[05.02.2012 19:28:51] - efaBths - 02209 - INFO    - SNC002 - Startzeit der Synchronisierung: 05.02.2012 19:28:51 (1328466531280)
[05.02.2012 19:28:51] - efaBths - 02209 - INFO    - SNC002 - Letzte Synchronisierung: noch nie (0)
[05.02.2012 19:28:57] - efaBths - 02209 - INFO    - SNC002 - Synchronisiere Personen ...
[05.02.2012 19:28:57] - efaBths - 02209 - INFO    - SNC002 - Sende Synchronisierungs-Anfrage für alle Personen ...
[05.02.2012 19:28:59] - efaBths - 02209 - ERROR   - SNC004 - Ungültige Synchronisierungs-Antwort.
[05.02.2012 19:28:59] - efaBths - 02209 - INFO    - SNC002 - Logout ...
[Fatal Error] :1:1: Premature end of file.
[05.02.2012 19:28:59] - efaBths - 02209 - ERROR   - EXC001 - org.xml.sax.SAXParseException: Premature end of file. com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231) de.nmichael.efa.data.sync.KanuEfbSyncTask.getResponse(KanuEfbSyncTask.java:122) de.nmichael.efa.data.sync.KanuEfbSyncTask.sendRequest(KanuEfbSyncTask.java:90) de.nmichael.efa.data.sync.KanuEfbSyncTask.syncDone(KanuEfbSyncTask.java:536) de.nmichael.efa.data.sync.KanuEfbSyncTask.run(KanuEfbSyncTask.java:582)
org.xml.sax.SAXParseException: Premature end of file.
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)
	at de.nmichael.efa.data.sync.KanuEfbSyncTask.getResponse(KanuEfbSyncTask.java:122)
	at de.nmichael.efa.data.sync.KanuEfbSyncTask.sendRequest(KanuEfbSyncTask.java:90)
	at de.nmichael.efa.data.sync.KanuEfbSyncTask.syncDone(KanuEfbSyncTask.java:536)
	at de.nmichael.efa.data.sync.KanuEfbSyncTask.run(KanuEfbSyncTask.java:582)
[05.02.2012 19:28:59] - efaBths - 02209 - ERROR   - SNC005 - Synchronisierung mit Kanu-eFB wegen Fehlern abgebrochen.
Mache ich etwas falsch oder liegt hier noch ein Fehler in efa vor?

efa 2.0 beta (1.9.9_33) / Ubuntu 11.04 / Java 1.6.0_26

nick
Beiträge: 1300
Registriert: Sa 10. Jul 2010, 11:45

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von nick » So 5. Feb 2012, 22:28

Hallo Andreas,

gehe mal bitte in die efa-Konfiguration, aktiviere dort im Expertenmodus das Debug-Logging und setze Trace-Topic auf 0x2000 und das Trace-Level auf 5. Dann nochmal wiederholen und schauen, was er für eine Antwort bekommen.

Danke & Gruß,
Nicolas

nick
Beiträge: 1300
Registriert: Sa 10. Jul 2010, 11:45

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von nick » Mo 6. Feb 2012, 06:54

Hallo Andreas,

ich habe heute in efa noch ein paar kleinere Fehler korrigiert (1.9.9_35), die aber nicht zu Deinem Fehler passen. Dort sendet (so sieht's aus) eFB eine fehlerhafte oder leere Antwort. Leider habe ich auf manni keinen Account mit entsprechenden Rechten. Auf den Entwicklungs-eFB-System funktioniert die Synchronisation, und auf Manni bekomme ich immerhin keine Fehler. Also führe die Synchronisation mal bitte wie beschrieben mit Debug-Logging durch und poste den Output.

Danke & Gruß,
Nicolas

skc-andreas
Beiträge: 96
Registriert: So 1. Jan 2012, 22:22
Wohnort: Schleswig
Kontaktdaten:

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von skc-andreas » Mo 6. Feb 2012, 14:02

Hallo Nicolas,

ich habe efa auf die aktuelle Beta-Version 1.9.9_35 aktualisiert und die Debug-Ausgabe wie genannt eingestellt.

Beim Synchronieren der Daten zwischen efa und dem eFB funktioniert zwar das Login mit meinen Zugangsdaten und das Abrufen der im eFB eingetragenen Mitglieder, Boote und Gewässer, jedoch werden keinerlei Daten synchronisiert. Efa meldet am Ende trotzdem "Synchronisation mit Kanu-eFB erfolgreich beendet."

In der Logdatei tauchen auch nur Einträge vom Typ INFO und DEBUG auf, keinerlei Warnungen oder Fehler. Ich schicke dir die Logdatei per separater Mail zu.

Den Test habe ich auf einem anderen Rechner durchgeführt als bei meinem vorigen Beitrag. Das Problem ist auf beiden Rechnern jedoch das gleiche.

Viele Grüße
Andreas

nick
Beiträge: 1300
Registriert: Sa 10. Jul 2010, 11:45

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von nick » Di 7. Feb 2012, 08:23

Hallo Andreas,

vielen Dank, das war sehr hilfreich. Fehler gefunden. Jetzt geht es hoffentlich (1.9.9_36).

Es gibt allerdings noch einige - naja, ich nenn sie mal - Limitierungen. Manche sind schon länger bekannt, manche davon sind mir eben erst aufgefallen
  • Pro Fahrt wird bei der Synchronisation maximal ein Gewässer übertragen. (Ist derzeit im definierten Protokoll so vorgesehen, Erweiterung leicht, muß aber abgestimmt werden)
  • efa versucht grundsätzlich immer noch ein zweites Mal, eine schon synchronisierte Fahrt nochmal zu synchronisieren (bei der nächsten Synchronisation). Das ist etwas, was ich auch so leicht nicht ändern kann, was aber auch nicht schlimm ist. Nur unterstützt das Kanu-eFB das noch nicht. Manchmal scheint es darauf mit "not yet supported!" zu antworten, manchmal speichert es die Fahrt aber auch ein zweites Mal. Auf den ersten Blick scheint mir das ein Bug im Kanu-eFB zu sein. Ich hab's mir aber nicht näher angeschaut.
  • Grundsätzlich funktioniert die Synchronisation bislang nur in eine Richtung, d.h. efa überträgt die Fahrten ins Kanu-eFB. Nicht umgekehrt. Spätere Änderungen in efa oder im Kanu-eFB werden nicht synchronisiert (d.h. auf efa's Seite schon, jedoch schlägt der Request fehl, da noch nicht supported, s.o.).
Gruß,
Nicolas

skc-andreas
Beiträge: 96
Registriert: So 1. Jan 2012, 22:22
Wohnort: Schleswig
Kontaktdaten:

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von skc-andreas » Di 7. Feb 2012, 11:56

Hallo Nikolas,

vielen Dank, ich habe die neue Beta-Version gleich getestet. Die Synchronisation der Boote und Personen hat funktioniert, bei den Gewässern wurden keine synchronisiert und beim Synchronisieren der Fahrten kam es zu einer NPE.

Auszug aus Logfile:

Code: Alles auswählen

[07.02.2012 09:53:25] - efaBths - 02880 - INFO    - SNC002 - Beginne Synchronisierung mit Kanu-eFB ...
[07.02.2012 09:53:25] - efaBths - 02880 - INFO    - SNC002 - Startzeit der Synchronisierung: 07.02.2012 09:53:25 (1328604805692)
[07.02.2012 09:53:25] - efaBths - 02880 - INFO    - SNC002 - Letzte Synchronisierung: 06.02.2012 10:09:02 (1328519342647)
[07.02.2012 09:53:26] - efaBths - 02880 - INFO    - SNC002 - Synchronisiere Personen ...
[07.02.2012 09:53:26] - efaBths - 02880 - INFO    - SNC002 - Sende Synchronisierungs-Anfrage für alle Personen ...
[07.02.2012 09:53:26] - efaBths - 02880 - INFO    - SNC002 - Synchronisierungs-Antwort erhalten für 12 Personen ...
[07.02.2012 09:53:26] - efaBths - 02880 - INFO    - SNC002 - 9 Personen synchronisiert.
[07.02.2012 09:53:26] - efaBths - 02880 - INFO    - SNC002 - Synchronisiere Boote ...
[07.02.2012 09:53:26] - efaBths - 02880 - INFO    - SNC002 - Sende Synchronisierungs-Anfrage für 256 Boote ...
[07.02.2012 09:53:27] - efaBths - 02880 - INFO    - SNC002 - Synchronisierungs-Antwort erhalten für 13 Boote ...
[07.02.2012 09:53:28] - efaBths - 02880 - INFO    - SNC002 - 13 Boote synchronisiert.
[07.02.2012 09:53:28] - efaBths - 02880 - INFO    - SNC002 - Synchronisiere Gewässer ...
[07.02.2012 09:53:28] - efaBths - 02880 - INFO    - SNC002 - Sende Synchronisierungs-Anfrage für 7 Gewässer ...
[07.02.2012 09:53:28] - efaBths - 02880 - INFO    - SNC002 - Synchronisierungs-Antwort erhalten für 0 Gewässer ...
[07.02.2012 09:53:28] - efaBths - 02880 - INFO    - SNC002 - 0 Gewässer synchronisiert.
[07.02.2012 09:53:28] - efaBths - 02880 - INFO    - SNC002 - Synchronisiere Fahrten ...
[07.02.2012 09:53:28] - efaBths - 02880 - ERROR   - EXC001 - Unerwarteter Programmfehler: java.lang.NullPointerException Stack Trace: de.nmichael.efa.data.sync.KanuEfbSyncTask.syncTrips(KanuEfbSyncTask.java:471) de.nmichael.efa.data.sync.KanuEfbSyncTask.run(KanuEfbSyncTask.java:589)  Bitte melde diesen Fehler an: bugs@efa.nmichael.de
java.lang.NullPointerException
	at de.nmichael.efa.data.sync.KanuEfbSyncTask.syncTrips(KanuEfbSyncTask.java:471)
	at de.nmichael.efa.data.sync.KanuEfbSyncTask.run(KanuEfbSyncTask.java:589)
[07.02.2012 09:53:28] - efaBths - 02880 - INFO    - SNC002 - Logout ...
[07.02.2012 09:53:28] - efaBths - 02880 - ERROR   - SNC005 - Synchronisierung mit Kanu-eFB wegen Fehlern abgebrochen.
Falls dir dieser Auszug aus dem Logfile nicht reicht, kann ich auch gerne die Debug-Ausgabe aktivieren und dir diese dann zumailen.

Viele Grüße
Andreas

nick
Beiträge: 1300
Registriert: Sa 10. Jul 2010, 11:45

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von nick » Mi 8. Feb 2012, 06:04

Hallo Andreas,

danke, das genügt völlig. Dummer Copy&Paste-Fehler. Ist schon lange drin, wird aber nur getriggert, wenn Du eine Fahrt mit einem Kommentar synchronisieren willst... Ist in 1.9.9_37 gefixed. Mal schauen, wie weit Du jetzt kommst... ;) ich drück die Daumen!

Gruß,
Nicolas

skc-andreas
Beiträge: 96
Registriert: So 1. Jan 2012, 22:22
Wohnort: Schleswig
Kontaktdaten:

Re: efa2_beta: Woher Kanu-eFB ID's für Synchronisation nehme

Beitrag von skc-andreas » Mi 8. Feb 2012, 14:48

Hallo Nicolas,

mit der Version 1.9.9_37 funktioniert jetzt die Synchronisation mit dem Kanu-eFB! ;-)

Vielen Dank dafür!!!
Andreas

P.S.: Einen kosmetischen Änderungsvorschlag hätte ich noch:

Beim Online-Update erscheint vorher die Abfrage
Prüfen auf neue Programmversion
Bitte stellen Sie eine Verbindung zum Internet her.
Ok / Abbrechen
Beim Synchronisieren mit dem Kanu-eFB erscheint vorher die Abfrage
Es werden alle Fahrten aus dem aktuellen Fahrtenbuch mit dem Kanu-eFB synchronisiert.
Möchtest Du fortfahren?
Ja / Nein
Der Hinweis auf die notwendige Online-Verbindung fehlt beim Synchronisieren mit dem Kanu-eFB.

Mein Vorschlag daher für die Hinweis-Meldung zum Synchronisieren mit dem Kanu-eFB:
Es werden alle Fahrten aus dem aktuellen Fahrtenbuch mit dem Kanu-eFB synchronisiert.
Bitte stelle eine Verbindung zum Internet her.
Ok / Abbrechen
Warum verwendest du bei dem Hinweis eigentlich die Sie-Form und sonst die du-Form als Anrede? Btw.: Das "du" wäre dabei klein zu schreiben (ist ja kein Brief - egal ob neue/alte Verschlimmbesserungs-Rechtschreibregel...).

Antworten