Metalab OS
aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Das Metalab-Betriebssystem ünterstützt Verwaltung und Betrieb des Metalabs sowohl physisch als auch in Software.
Der Plan: MOS Masterplan
Aufgabengebiete
- Mitgliederverwaltung (Erfassung, Mitgliedsbeiträge, usw.)
- Zugangskontrolle (Kartenleser udgl.)
- Shutdown-Plan (was machen wenn man der letzte ist der das Lab verlässt)
- Verwaltung der Jabber Mitgliederlisten und Gruppen. (wer Mitglied wird hat sofort alle Members in seiner Kontaktliste)
- Single-Sign-On für alle Metalab Services (geteilte userdatenbank zwischen den applikationen)
- Anträge an die GV sollen vorbereitet, diskutiert und ev. auch abgestimmt werden können
- Inventar-Datenbank, Reservierung/Ausleihung von Gegenständen usw
- Eventplanung (Raumreservierung usw)
- Lokale Infofeeds: Nächste U-Bahn/Nachtbus, verfügbare Citybikes, Wetter, usw
- Umgebungs-Google Maps Mashup
- Irgendwas um die kommunale Pizzabestellung zu vereinfachen :)
Medienserver
- Playlistverwaltung, Last.fm-Logging
- Medienrepository (natürlich nur CC-lizensiertes!)
Implementation
- Grundstock im Python MVC-Framework Django
- Offen und interoperabel. Das Metalab OS definiert sich über seine Auswirkungen auf den physischen Raum, nicht durch die spezielle Softwareimplementation
- Lose Kuppelung durch externe Dienste auf die durch mehrere Applikationen in verschiedenen Sprachen zugegriffen werden kann (LDAP, Datenbank, ...). Es soll ein Core system geben das die Userverwaltung übernimmt und einige andere Applikationen die teilweise direkt auf die Datenbank zugreifen (und vielleicht auch Django-Applikationen sind), teilweise looser über REST interfaces etc. mit dem Rest des MOS interagieren.
- REST Web-App Schnittstelle, ev. auch XMLRPC/SOAP.
Entwicklungsumgebung
Es existiert ein Subversion repository (https://ma.metalab.at/svn) und ein Trac Wiki/Issue management system (https://ma.metalab.at/trac/mos/wiki). Das Trac ist ein guter Anfangspunkt weil dort beschrieben ist wie man den source downloaded und lokal einrichtet. Wer mitmachen will (und daher einen Account braucht) wendet sich bitte an DanyX oder Roodi.
REST-Webservices
- Ressourcen haben jeweils eigene, unveränderliche URLs:
http://things.metalab.at/12f892b5 http://people.metalab.at/c3o http://spaces.metalab.at/novitaeten
- Auf GET-Requests hin werden die Daten je nach Accept-Header (ev zus. je nach "Dateiendung" od. Parameter) in verschiedenen Formaten ausgegeben: HTML+Microformats, XML/RDF [zb FOAF für Personen], RSS/ATOM? etc.
- Mit passenden HTTP-Authentication Headern darf man auch DELETEn und PUTen.