# Systeme

## Fabaccess

Siehe auch [22 Automatisierte Maschinenberechtigungsprüfung](https://wiki.betreiberverein.de/books/projekte-abgeschlossen/page/22-automatisierte-maschinenberechtigungsprufung "22 Automatisierte Maschinenberechtigungsprüfung") - dem Post-Corona-

### Links

- [Stand des aktuellen ZAM-Fabaccess-Experiements](https://erlangen.ccc.de/markdown/1bpRFipCScKQkRLIh_o_0g)
- [Konzept](https://pad.gwdg.de/XrReiGdCS-GfcWhEKgjTBA)
- Ein *wenig* [Doku](https://fab-access.readthedocs.io/en/v0.3/)
- [Gitlab Repo](https://gitlab.com/fabinfra/fabaccess)
- [Hardware für Fabacces](https://gitlab.com/fabinfra/fabhardware)
- NFC 
    - [Fabreader-Repo](https://gitlab.com/fabinfra/fabhardware/fabreader)
    - [Doku](https://hackmd.io/qATu8uYdRnOC40aFrB9afg?both)
- Artikel 
    - [Heise](https://heise.de/-5027184)
- Einführungsvieos 
    - [1. Einführung](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702405147280/meeting.mp4);[ 2. Einführung](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) (Gleicher Inhalt, aber andere Leute. Die zweite ist länger und hat mehr Inhalt)
    - [Vorstelleung](https://media.ccc.de/v/rc3-326175-fabaccess#t=2812)

### Funktionsumfang

<span style="background-color: rgb(248, 202, 198);">**TODO**</span>

- Freigabe von Maschienen
- Ausführen beliebiger Skripte
- Abrechnung von Material
- Passende Hardware
- Kommunikation über MQTT
- Hat eine App (was kann die?)
- Abrechnung zwischen den Fablabs (?)
- 

### Einschätzung

#### Konzepte

Viele der Konzepte finde ich (morty) überaus Problematisch. Sehr viel "not invented here" für Probleme, die bereits von anderer Software gelöst sind.

- Benutzer und Maschinenverwaltung in Plain-Text-Dateien. ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) ab 13:40)
- Sie sind der Meinung, dass ihre Dateibasierte eigene Datenbank besser ist als eine fertige DB zu verwenden (Morty: Ich Zweifel ernsthaft an deren Kompetenz). ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) ab 15:00)
- Auditlog in einer Datei und nicht der DB ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) 23:20)
- Rechteverwaltung nur hierarchisch mit Wildcard am Ende, wobei read/write, etc teil der Hierarchie ist. Immerhin gibt es Rollen (kommen danach) ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) ab 29:50)
- Sie haben ein sehr interessantes Bild von Rechtehierarchien "Parents" sind eigentlich Children - Evtl denken sie auch einfach Objekthierarchien.... \*schrug\* ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) 23:20)
- LDAP als externe Benutzerverwaltung geplant - aber keine Rechte/Gruppen ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) (104:00)
- Zertifikate werden vom Client aktuell nicht geprüft ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) 107:00)
- Man kann entweder Rollen vergeben oder auch nicht - Rollen nur für bestimmtes zu vergeben geht nicht und ist auch nicht geplant ([https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4](https://recordings.prototypefund.de/presentation/2392dda5fdeb3d4ae538b4738c98e3aeb557847b-1702480827153/meeting.mp4) 113:00)

#### Diflouroborane / bffh  


Windfisch bestätigt den Eindruck, dass sie sehr viel neu erfunden haben und sehr viel Zeit für Nebenschauplätze drauf geht. Grundsätzlich hat er aber den Eindruck, dass der Code OK ist.

#### Fabreader-Code

Der Code hat weder Design noch Architektur. Zum Glück ist er nicht sehr umfangreich, so dass er mit überschaubarem Aufwand umgebaut werden kann. Einige der Architekturentscheidungen sollte man noch mal diskutieren - hält sich aber alles in Grenzen.

## Fabmanger

Kommerzielle Lösung, die aber unter AGPL zur Verfügung steht. Eher auf betreute bzw kommerzielle Spaces ausgelegt. Open Source, in Ruby geschrieben.

- [Webseite](https://www.fab-manager.com/)
- [Source auf Github](https://github.com/sleede/fab-manager)
- [Funktionsumfang](https://www.fab-manager.com/features)
- [Online Demo](https://demonstration.fab-manager.com/#!/)

### Funktionsumfang

Siehe auch [Funktionsumfang](https://www.fab-manager.com/features)

- Kalender
- Räume
- Maschinen
- Reservierungen
- SSO
- Mitgliederverwaltung (viel mehr als wir wohl brauchen)
- Abrechnung
- Materielverwaltung
- [API-Schnittstelle](https://demonstration.fab-manager.com/open_api/doc/v1) Leider sind die meisten Zugriffe nur lesend, was für viele unsere Anforderungen nicht ausreichend ist.
- ...

### Einschätzung

Auf Kommerzielle Projekte ausgelegt. Dafür wirkt der Code aufgeräumt und dokumentiert. Es gibt eine Architekturdokumentation.

## Rosenguarden

Maschienenverwaltungsystem mit Hardware

### Links

- [Konzept](https://pad.gwdg.de/v-xVnpWQREmBGuLG_hYTfQ)
- [Github](https://gitlab.com/roseguarden)

### Funktionsumfang

\*

### Einschätzung

Das Konzept ist konträr zu Fabaccess: Möglichst wenig selber machen, auf fertiges zurückgreifen, Ordentliche Schnittstellen um leicht erweitern zu können.

Das Backend ist in Python und das Frontend in Vue geschrieben.

## Fabman

[Fabman ](https://fabman.io/)kann wahrscheinlich alles was wir wollen, ist aber einfach viel zu teuer.