Zum Inhalt springen

USB-Herelist: Unterschied zwischen den Versionen

DavidDraco (Diskussion | Beiträge)
K Links: i lied ... oops ;-)
Hop (Diskussion | Beiträge)
documented the removal of code from MOS.
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
USB-Herelist verwaltet eine Liste von Personen, die sich im Metalab befinden.
USB-Herelist verwaltet eine Liste von Personen, die sich im Metalab befinden.
'''Zu tun: ''' Ausprobieren!
'''Status:''' MOS-Code entfernt in https://github.com/Metalab/mos/commit/de6e06cee345c23ce22908163f7b1c2fdcc50249


== Funktion ==
== Funktion ==
Zeile 11: Zeile 15:


== Erweiterbarkeit ==
== Erweiterbarkeit ==
* Gewünscht ist, dass die Information auf der Webseite dynamisch angezeigt wird. Dazu ist noch eine Schnittstelle zu definieren
* Die Information wird auf der Webseite des Metalabs angezeigt.
=== Bezug zu anderen Projekten ===
=== Bezug zu anderen Projekten ===
* consti: KnockKnock:
* consti: KnockKnock:
Zeile 20: Zeile 24:
** Bei Auftreten von Events: kommen, gehen -> UDP-Broadcasts, HTTP-GET-Requests an Web-Projekte
** Bei Auftreten von Events: kommen, gehen -> UDP-Broadcasts, HTTP-GET-Requests an Web-Projekte
** Auf Anfrage ausgeben der Liste -> kleiner HTTP-Server, XML und plain text
** Auf Anfrage ausgeben der Liste -> kleiner HTTP-Server, XML und plain text
* Vorschlag für MOS: -> [http://metalab.at/wiki/Diskussion:USB-Herelist#MOS-Schnittstelle Diskussion], [http://getsatisfaction.com/metalab/topics/herelist_schnittstellendefinition MOS-Bugtracker]
* Einbindung zu MOS:  
** HTTP-GET-Requests an eine URL mit /update-herelist.php?event=Nickname%20has%20left.
** Das Terminalgerät schickt, wenn: Etwas geändert wurde oder 20 Minuten vergangen sind, einen update-request, der die Liste beinhaltet. Die Webseite liefert aus dem Cache aus, außer der Cache ist älter als 30 Minuten oder die Herelist leer ist.  
** HTTP-GET-Request serving auf einem Port mit plaintext-Liste oder, falls nötig, äußerst einfachem XML-RPC.
** für eine Beispiel-Implementation siehe [[USB-Herelist/MOS]].
** Wenn man ganz motiviert ist, kann man mit AJAX (lies: XMLHttpRequest) den Bildschirm in Echtzeit updaten.
** Wenn man ganz motiviert ist, kann man mit AJAX (lies: XMLHttpRequest) den Bildschirm in Echtzeit updaten.
* Schön ist auch, dass nirgends Polling benötigt wird.
* Schön ist auch, dass nirgends Polling notwendig ist.


== Begrenzung ==
== Begrenzung ==
Zeile 42: Zeile 46:
* Das Schönste daran finde ich, dass es freiwillig ist.
* Das Schönste daran finde ich, dass es freiwillig ist.


== Links ==
== Code ==
[[Bild:Usbherelist-2007-12-15.tar.bz2]].
* Systemkonfiguration: 60 Zeilen.
** crontab für timeout
** /etc/event.d/tty2 für USB-Herelist auf tty2
** /etc/init.d/usbherelist-httpd für http-server starten/stoppen
** /etc/syslog.conf für fifo-Ausgabe, damit nicht als root die kernel-log angesehen werden muss
** /etc/visudo: lsusb als root
* Http-Server: 77 Zeilen (netcat + bash)
** plaintext (\n-Getrennte Liste) & pseudo-xmlrpc
* usb-herelist: 207 Zeilen.
** läuft auf tty2
 
== Notizen ==
* tail hat einen Buffer. Das suckt. Aber: Workaround gefunden.
* Der Einschaltknopf ist am Notebook zwischen Display und Notebook, am Notebook, in der Mitte, unten ein weißes Zäpfen das man nach rechts drückt. Wird nicht runtergefahren, wenn man im laufenden Betrieb drückt.
* Netzkabel steht unter Strom.
* Ubuntu verwendet upstart (statt inittab).
* Manuelle Updates a la curl -F herelist=@test.txt http://127.0.0.1:8000/hello/update-herelist/
* Die Diskussion findet sich auf der Liste von 2007-October beginnend mit [http://lists.metalab.at/pipermail/metalab/2007-October/002453.html diesem Eintrag].
* Die Diskussion findet sich auf der Liste von 2007-October beginnend mit [http://lists.metalab.at/pipermail/metalab/2007-October/002453.html diesem Eintrag].
* Code: [[Bild:Usbherelist-2007-12-14.tar.bz2]].


----
 
Diese Seite wird verschoben, falls ein toller Name gefunden wurde.
'''Mitwirkende''': [[Benutzer:DavidDraco|David Draco]]; MOS-Integration: [[Benutzer:Fin|Fin]]
 
[[Kategorie:Infrastruktur]]