[Freifunk-Bonn] Registrierung

Thomas Arend thomas at arend-rhb.de
Mi Jul 15 20:34:05 CEST 2015


Am Mittwoch, 15. Juli 2015, 18:05:22 schrieb kaleng:
> > Meines Erachten holt map die Daten nicht aus der Registrierung. Aber ich
> > schaue mal, was ich so finde.
> 
> Doch.

Nein, tut er nicht. ;-)

So komm ich nicht weiter!

Ich habe jetzt einen Register-Server mit leerer Datenbank zum Laufen zum 
gebracht. Dies ist mir auch geglückt. zumindest unter localhost:3000

Ich kann mich als User registrieren, erhalte nur keine Bestätigungmail mit 
Link. Habe den Link aus der Log-datei geholt. Nicht schön, aber für den Moment 
reichtes.

Wenn ich ein Knoten registrieren will (speichern), kommt folgender Fehler:

---LOG ---
Started POST "/node_registrations" for 127.0.0.1 at 2015-07-15 19:00:58 +0200
Processing by NodeRegistrationsController#create as HTML
  Parameters: {"utf8"=>"✓", 
"authenticity_token"=>"J1qo6UnTiyX1yqdW5BHjMd7feKqJO77qTQ4opAQrxQc=", 
"node_registration"=>{"node_at"=>{"id"=>"31264770714991", "mac"=>""}, 
"name"=>"Test Node 1", "operator_name"=>"Thomas Arend", 
"operator_email"=>"thomas at arend-rhb.de", "loc_str"=>"Zingsheimstraße 31, 53359 
Rheinbach", "osm_loc"=>"Zingsheimstraße 31, 53359 Rheinbach", 
"latitude"=>"50.62096555", "longitude"=>"6.9615893026251285", 
"notice"=>"Test"}, "commit"=>"Speichern"}
  User Load (0.6ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 
LIMIT 1
  Node Load (0.5ms)  SELECT `nodes`.* FROM `nodes` WHERE `nodes`.`id` = 
31264770714991 LIMIT 1
  Role Load (0.5ms)  SELECT `roles`.* FROM `roles` WHERE `roles`.`id` = 1 
LIMIT 1
   (0.2ms)  BEGIN
  SQL (0.7ms)  INSERT INTO `nodes` (`created_at`, `fw_version`, `id`, `mac`, 
`updated_at`) VALUES ('2015-07-15 17:00:58', NULL, 31264770714991, NULL, 
'2015-07-15 17:00:58')
Mysql2::Error: Out of range value for column 'id' at row 1: INSERT INTO 
`nodes` (`created_at`, `fw_version`, `id`, `mac`, `updated_at`) VALUES 
('2015-07-15 17:00:58', NULL, 31264770714991, NULL, '2015-07-15 17:00:58')

Mysql2::Error: Out of range value for column 'id' at row 1: INSERT INTO 
`nodes` (`created_at`, `fw_version`, `id`, `mac`, `updated_at`) VALUES 
('2015-07-15 17:00:58', NULL, 31264770714991, NULL, '2015-07-15 17:00:58')
---END LOG---

id ist ein Autoincrement Feld. Da ist es wenig sinnvoll beim "insert" 
überhaupt einen wert zu übergeben. Der Wert stammt allerdings aus dem 
Formular, dort ist er auch nicht sinnvol und zufällig. Die id scheint das 
Ergebnis eienr Abfrage über leere Tabellen zu sein. Mag sein, dass hier auch 
unterschiedliche rails Versionen eine Role spielen. Ein Wert für die "id" ist 
aber bei einen neuen Knoten nicht sinnvoll. Nicht initialisierte Variablen?

---Quelltext---
<div class="field">
		
			<input id="node_registration_node_at_id" 
name="node_registration[node_at][id]" type="hidden" value="31264770714991" />
		    <label for="node_registration_node_at_mac">Node:</label><br />
			<i> (MAC-Address - siehe Aufkleber Rückseite)</i><br />
		 	<input id="node_registration_node_at_mac" 
name="node_registration[node_at][mac]" readonly="readonly" size="30" 
type="text" />
	  </div>

---END QUELLTEXT---

Wenn ich die id ändere, wird der Node registriert, nur nicht mit der MAC 
Adresse. Warum hier die Mac Adresse fehlt, ist mir im Moment schleierhaft. 

Die Software für den register läuft nicht mit einer leeren Datenbank. Tolle 
Scholle.

Es gib noch ein paar Tabellen, die für den Register nicht sinnvoll zu sein 
scheinen.

Ich bin mir aber sicher, die Software auf github ist nicht die Software, die 
auf dem register läuft.

Aber da schaue ich weiter.

Andere überlegung.

Die Web-Oberfläche auf dem nicht erreichbaren register.kbu.freifunk.net 
verwaltet die SQL-Datenbank. In der Rails Appliktion fand ich keinen Hinweis 
darauf, dass diese Applikation irgend etwas von map.kbu.freifunk.net weiß.

map greift auf eine nodes.json zu. Die enthält im Moment nicht die aktuelen 
Daten aus der register-Daten Datenbank, auf die register zugreift.

Die nodes.json wird aktualisiert. Neue Knoten sind sichtbar. Aber ihr fehlen 
aktuelle Knotennamen. Da ich meinen Knoten umbenannt habe, kann die nodes.json 
nicht auf die Datenbank erstellt worden sein, auf die register zugriff, als 
ich sie reguistriert habe.

Seltsamerweise haben drei meiner nodes andere MAC Adressen als erwartet.

So aus dem blauen Dunst vermute ich, da läuft irgendwo ein Cron-Job, der die 
nodes.json generiert nicht richtig. 

BTW: Der map ist auch veraltet, es gibt etwas besseres. Da sollte man 
vielleicht beide überarbeiten.

Werde jetzt erst einmal ruby und rails lernen.

Liebe Grüße 


-- 
Thomas Arend
Zingsheimstraße 31
53359 Rheinbach


-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 181 bytes
Beschreibung: This is a digitally signed message part.
URL         : <http://lists.kbu.freifunk.net/pipermail/freifunk-bonn/attachments/20150715/29fbbfc6/attachment.sig>


Mehr Informationen über die Mailingliste Freifunk-Bonn