Beitrag bezieht sich auf Castopod in Version 1.x.x. Die Installation einer Castopod-Plattform habe ich hier dokumentiert.
Was ist das Problem?
Seit der Inbetriebnahme einer Castopod-Podcast-Plattform hatte ich bzgl. des Rechtekonzepts einen ziemlichen „Knoten im Kopf“. Es gibt bei Castopod die drei Rechterollen …
- Super-Administrator
- Manager
- Podcaster
… und als „Super-Administrator“ konnte ich zwar User anlegen, denen eine Rolle zuordnen, kann selbst Podcast & Episoden anlegen, administrieren, … . Dann ging ich davon aus, dass ein „Podcaster“ wohl Podcasts anlegen kann, stellte aber fest der darf erst mal gar nichts!? Somit habe ich meinem erste User mal die Rolle „Manager“ gegeben, denn der darf Podcasts & Episoden anlegen und administrieren.
Soweit könnte man damit ja leben, aber richtig doof wird es halt wenn man als Super-Administrator keinen Zugriff auf die vorhandenen Podcasts hat, geschweige denn irgendwas an den Episoden machen kann.
Im Rahmen eines anderen Problems, nämlich wie man denn mal Marker der Episoden auf die in Castopod verbaute Karte bekommt (siehe ganz unten), stieß ich dann wieder auf mein Problem mit den mangelnden Rechten eines Super-Admins. In der Discord-Gruppe (Leute, ehrlich, … digital souveräne Open-Source-Projekte und dann so eine Plattform Discord … tss, tss, tss) gab es dann Beiträge die den Knoten im Kopf platzen ließen.
Lessons learned
Super-Administrator
Ein „Super-Administrator“ ist tatsächlich nur dem Namen nach „super„. User-Management geht natürlich, aber es bleibt dabei: Zugriff auf die Podcasts die ein „Manager“ anlegt sind nicht da und der „Super-Administrator“ kann die sich per Weboberfläche auch nicht selbst holen. Diese Rechte kann in der Weboberfläche nur ein „Manager“ für seine Podcasts vergeben.
Workaround, wenn der „Super-Administrator“ auch das Glück hat der Sys- bzw. Datenbank-Admin zu sein, ist direkte Manipulation der Datenbank-Tabelle cp_auth_groups_users. Soll ein „Super-Administrator“ mit der User-ID 1 den Zugriff auf Podcast #9 (Zahl in Castopod erkennbar) erlangt werden geht das z.B. mit diesem SQL-Befehl (und ja, die Backticks bei group sind wichtig):
INSERT INTO cp_auth_groups_users
SET user_id=1, `group`='podcast#9-admin',
created_at=CURRENT_TIMESTAMP();
Einfacher ist es, weil mit der Weboberfläche möglich, wenn ein „Manager“-Account kooperationswillig ist.
Manager
Kann wie schon erwähnt Podcasts anlegen und komplett verwalten. Nach meinem jetzigen Verständnis ist ein Manager-Account aber eigentlich nicht der Account der das dann auch operativ macht bzw. machen sollte. Vielmehr kann ein Manager-Account bei einem angelegten Podcast andere Accounts als „Mitwirkende“ deklarieren. Und hier platzt der „Knoten im Hirn“. Die „Mitwirkenden“ sind mitnichten irgendwelche Leute vor dem Mikrofon, wie ich fälschlicherweise dachte, es sind vielmehr Accounts mit der Rolle „Podcaster“ (oder eben auch der Rolle „Super-Administrator“) denen darüber die Rechte am eingerichteten Podcast gegeben werden.
Hat man einen Podcast ausgewählt findet man hier die Liste der aktuellen Rechteinhaber:innen am betreffenden Podcast:

Und über diesen Weg werden weitere Castopod-Benutzer mit Rechten an einem Podcast versorgt:

Podcaster
Mit dem Verständnis für die Möglichkeiten der Rolle „Manager“ wird dann klar was ein „Podcaster“ ist. Diese User sind für das eigentliche Podcasting zuständig, bekommen einen Podcast aber von einem User mit „Manager“-Rolle eingerichtet und zugewiesen. Ein „Podcaster“ kann selbst keine Podcast anlegen.
Fazit zu den Castopod-Rechten
Das ist in Version 1.x.x noch ziemlich rudimentär, soll sich aber laut dem Discord-Beitrag von Yasinne Doghri mit der Version 2.x.x ändern. Dann soll ein Super-Admin auch Zugriffsrechte auf die Podcasts auf dem Server haben.
Sinnvolles Rechtekonzept aus meiner Sicht wäre damit in 1.x.x:
- Accounts mit Rolle „Manager“ werden nur für die Ersteinrichtung eines Podcasts verwendet. Manager vergibt dann das Recht für den operativen Betrieb, z.B. Episoden einstellen, editieren, … an Accounts mit der Rolle „Podcaster“
- „Super-Adminstratoren“ müssen auf kooperative „Manager“ hoffen … oder sich auf Datenbank-Ebene selbst die Rechte holen :-)
Die Karte in Castopod
Diese, am Seitenfuß sichtbare Karte, zeigt am Anfang konstant und ohne Marker auf die Eiffelturm-Gegend in Paris. Fügt man aber bei Episoden von Podcasts auch eine Standort hinzu, füllt sich die Karte und zeigt anklickbare Marker an.
Die Standort-Angabe muss dabei auf OpenStreetMap auch genau in dieser Form auffindbar sein. Man sollte also erst auf OpenStreetMap gehen, den Namen eines Orts klar herausfinden und eingrenzen, testen ob damit im Suchfeld auch wirklich Erfolg beschieden ist, … und erst dann diese Standort-Angabe bei einer Episode hinterlegen.
Die Marker sind anklickbar und zeigen dann die jeweils dort verfügbare Podcast-Episode.
