Metalab OS: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(MOS Bounties)
 
(30 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das Metalab-Betriebssystem ünterstützt Verwaltung und Betrieb des Metalabs sowohl physisch als auch in Software.
+
== About ==
  
Die Softwareseite besteht as of Oktober '06 aus zwei Teilen
+
{{Projekt
* Server, Netzwerk, Directory usw: [[Metacore]]  
+
|image=mos_logo_hetti.png
* Webapps für Profile, Calendaring, Inventar usw in [[wen:Django_web_framework|Django]] (Python) -- läuft dzt. noch nirgends öffentlich, um reinzuschauen siehe "Entwicklungsumgebung" weiter unten
+
|involved=[[User:Hetti| Hetti]], [[User:datacop| datacop]], [[User:luto| luto]],
 +
|startdate=unknown
 +
|status=never ending Project
 +
|wtf=Metalab OS is what it is
 +
|shutdown=Please don't...
 +
|hidden=false
 +
}}
  
==Plan==
 
Der [[MOS Masterplan]] ist mittlerweile outdated
 
  
==Aufgabengebiete==
+
Das Metalab-Betriebssystem (Metalab OS) unterstützt Verwaltung und Betrieb des Metalabs<!-- sowohl physisch als auch in Software -->.
* 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==
+
Implementiert mit dem Python Web-Framework [http://www.djangoproject.com/ Django].
* Grundstock im Python MVC-Framework [[wen:Django_web_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.
 
* [[wen:Representational State Transfer|REST]] Web-App Schnittstelle, ev. auch XMLRPC/SOAP.
 
  
==Coding Standard==
+
Derzeit arbeiten wir daran, den bestehenden Code aufzuräumen, um zukünftige Verbesserungen einfacher implementieren zu können. Rege Mithilfe ist erbeten!
* Projektsprache: Englisch
 
* Indentation: 4 Spaces
 
  
==Entwicklungsumgebung==
+
Die einfachste Möglichkeit - auch für Nichtprogrammierer*innen -, dabei zu helfen ist, bestehende Probleme im Github-Tracker einzutragen. Den Issue Tracker findest du hier: [https://github.com/Metalab/mos/issues ➡️ Zum Issue Tracker ⬅️]
Es existiert ein Subversion repository (https://ma.metalab.at/svn/mos) 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 [[Benutzer:Metaz|Metaz]].
 
  
Falls Ihr euch nicht mit dem Einrichten von Python, Django und deren Dependencies spielen wollt, verwendet bitte space.in.metalab.at. Hier ist alles schon installiert und es muss lediglich ein SVN checkout gemacht werden und settings.py mit ein paar Einstellungen wie einem anderen Port für den integrierten Entwicklungsserver versorgt werden. Zugang auf space.in.metalab.at per SSH hat jeder, der einen [[Metacore]] Benutzer hat.
+
== Development ==
  
==REST-Webservices==
+
Der Source Code wird auf [https://github.com/Metalab/mos/ Github] veröffentlicht.
* Ressourcen haben jeweils eigene, unveränderliche URLs:
 
http://api.metalab.at/things/mate
 
http://api.metalab.at/people/c3o
 
http://api.metalab.at/spaces/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 [[wen:FOAF (software)|FOAF]] für Personen], RSS/ATOM? etc.
 
* Mit passenden HTTP-Authentication Headern darf man auch DELETEn und PUTen.
 
  
==Wiki-Software==
+
Magst auch du mitmachen? Sporadisches hacken am MOS findet unter [[MOS Mini Hackathon]]'s statt.
  
[[Wiki-Software|Links zu Wiki-Infosites]]
+
Patches sind natürlich auch sonst jederzeit herzlich willkommen. Bitte mache dafür einen Pull-Request (PR) auf Github auf.
 +
Commit-Rechte zu den Metalab-Repositories gibt's auf Anfrage.
 +
Eine Beschreibung unseres Branching-Workflows gibt es hier: http://nvie.com/posts/a-successful-git-branching-model/ .
  
[[Kategorie:Metalab OS]]
+
Es wird '''''empfohlen''''' die MOS Development Vagrant VM zu nutzen. Eine ausführliche Step by Step Anleitung findest du unter [[MOS VM]].
 +
Weiters existiert eine docker-compose Datei im Repo und man kann mittels Podman oder Docker lokal entwickeln.
 +
Eine etwas in die Jahre gekommene Anleitung wie man das MOS am eigenen Rechner installiert, um es lokal laufen zu lassen, wird hier beschrieben: https://pads.c3w.at/code/#/2/code/edit/jAR1u-7abU2iFH-cxDPXnHFX/
 +
 
 +
Es gibt zurzeit keine live Test Systeme auf der Metalab Infrastruktur.
 +
Es ist zukünftig geplant, welche zur Verfügung zu stellen.
 +
 
 +
== Features ==
 +
 
 +
* [http://metalab.at Metalab-Hauptseite]
 +
** Eventverwaltung ([http://metalab.at/calendar/ Kalender])
 +
** Projektverwaltung ([http://metalab.at/project/ Projektliste])
 +
** Mitgliederverwaltung
 +
*** [http://metalab.at/member/ Mitgliederliste]
 +
*** Welcher Permissions gibts im MOS? (Admin / Member (indirekt) / Key (indirekt))
 +
*** Mailinglisten-Mitgliedschaft?
 +
*** Kontodaten, Kontomanagement, gebouncte Einzieher vermerken...
 +
* [http://metalab.at/member/login/ Login-Bereich für Mitglieder]
 +
* [http://metalab.at/cellardoor/ Event-Liste an der Eingangstür]
 +
 
 +
== Wishlist und Bounties ==
 +
 
 +
=== OAUTH2 provider ===
 +
 
 +
Um unseren Zammad-Issuetracker ans MOS hängen zu können, wäre es cool gegen das MOS authentifizieren zu können.
 +
Weitere use-cases wären ein Gitlab oder fediverse services ans OAUTH2 zu hängen.
 +
 
 +
z.B. mit dem [https://django-oauth-toolkit.readthedocs.io/en/latest/getting_started.html django-oauth-toolkit], das auch [https://github.com/pretix/pretix/pull/927 Pretix] verwendet.
 +
 
 +
{| class="wikitable sortable"
 +
! Person !! bounty
 +
|-
 +
| [[User:datacop| clemens]] || 5 Club-Mate-Einheiten
 +
|-
 +
| [[User:Hetti| Hetti]] || 5 Club-Mate-Einheiten
 +
|-
 +
| ''you?'' || ''Naturalien-Einheiten''
 +
|}
 +
 
 +
== Feedback ==
 +
 
 +
* [[Metalab_OS/Internal_Services|Wunschliste für interne Services]] ('''FIXME:''' gehört das wirklich zum Metalab OS? Ist in der Wiki-Struktur halt eine Unterseite...)
 +
 
 +
== Source Code (Hackerspace OS) ==
 +
 
 +
<strike>Der source des Metalab OS ward im Juli 2008 mit Hilfe von Ausserhalb generalisiert und als [http://code.google.com/p/hackerspace-os/ hackerspace os] veröffentlicht.</strike> [Derzeit gibt es keine generalisierte Version des MOS]
 +
 
 +
Florian Hahns ruhendes Projekt eines generalisierten Hackerspace-OS: https://github.com/fhahn/hackerspace-os .
 +
 
 +
Per 2012-03-21 ist das offizielle Repository auf [https://github.com/Metalab/mos/ Github] zu finden. Das ist ein neuer Anlauf, den Code aufzuräumen und neue Features zu implementieren. Der Code wird sich auf die lokalen Ansprüche des Metalab konzentrieren - für eine "generalisierte" Version siehe obige Version von Florian Hahn!
 +
 
 +
[[Kategorie:Metalab_OS]]

Aktuelle Version vom 15. November 2023, 11:36 Uhr

About

Metalab OS
Mos logo hetti.png
Gestartet: unknown
Involvierte: Hetti, datacop, luto,
Status: never ending Project
Beschreibung: Metalab OS is what it is
Shutdownprozedur: Please don't...
Zuletzt aktualisiert: 2023-11-15


Das Metalab-Betriebssystem (Metalab OS) unterstützt Verwaltung und Betrieb des Metalabs.

Implementiert mit dem Python Web-Framework Django.

Derzeit arbeiten wir daran, den bestehenden Code aufzuräumen, um zukünftige Verbesserungen einfacher implementieren zu können. Rege Mithilfe ist erbeten!

Die einfachste Möglichkeit - auch für Nichtprogrammierer*innen -, dabei zu helfen ist, bestehende Probleme im Github-Tracker einzutragen. Den Issue Tracker findest du hier: ➡️ Zum Issue Tracker ⬅️

Development

Der Source Code wird auf Github veröffentlicht.

Magst auch du mitmachen? Sporadisches hacken am MOS findet unter MOS Mini Hackathon's statt.

Patches sind natürlich auch sonst jederzeit herzlich willkommen. Bitte mache dafür einen Pull-Request (PR) auf Github auf. Commit-Rechte zu den Metalab-Repositories gibt's auf Anfrage. Eine Beschreibung unseres Branching-Workflows gibt es hier: http://nvie.com/posts/a-successful-git-branching-model/ .

Es wird empfohlen die MOS Development Vagrant VM zu nutzen. Eine ausführliche Step by Step Anleitung findest du unter MOS VM. Weiters existiert eine docker-compose Datei im Repo und man kann mittels Podman oder Docker lokal entwickeln. Eine etwas in die Jahre gekommene Anleitung wie man das MOS am eigenen Rechner installiert, um es lokal laufen zu lassen, wird hier beschrieben: https://pads.c3w.at/code/#/2/code/edit/jAR1u-7abU2iFH-cxDPXnHFX/

Es gibt zurzeit keine live Test Systeme auf der Metalab Infrastruktur. Es ist zukünftig geplant, welche zur Verfügung zu stellen.

Features

Wishlist und Bounties

OAUTH2 provider

Um unseren Zammad-Issuetracker ans MOS hängen zu können, wäre es cool gegen das MOS authentifizieren zu können. Weitere use-cases wären ein Gitlab oder fediverse services ans OAUTH2 zu hängen.

z.B. mit dem django-oauth-toolkit, das auch Pretix verwendet.

Person bounty
clemens 5 Club-Mate-Einheiten
Hetti 5 Club-Mate-Einheiten
you? Naturalien-Einheiten

Feedback

Source Code (Hackerspace OS)

Der source des Metalab OS ward im Juli 2008 mit Hilfe von Ausserhalb generalisiert und als hackerspace os veröffentlicht. [Derzeit gibt es keine generalisierte Version des MOS]

Florian Hahns ruhendes Projekt eines generalisierten Hackerspace-OS: https://github.com/fhahn/hackerspace-os .

Per 2012-03-21 ist das offizielle Repository auf Github zu finden. Das ist ein neuer Anlauf, den Code aufzuräumen und neue Features zu implementieren. Der Code wird sich auf die lokalen Ansprüche des Metalab konzentrieren - für eine "generalisierte" Version siehe obige Version von Florian Hahn!