How to Maschinenraum

english version

Diese Doku ist für Assemblies und erklärt, wie Ihr Eure Assembly und Euren Content im Maschinenraum managen könnt.

Die Software ist so designed, dass sie auch auf künftigen Präsenz- oder Misch-Veranstaltungen eingesetzt werden kann, und enthält daher z.B. auch Optionen physikalische Räume anzulegen. Für die meisten von Euch werden auf der rC3 aber die rein digitalen Features relevant sein.

Wichtige Infos

Rechtliche Ansprechpartnerin für Abuse ist die CCCV GmbH. Alles was an Links raus ins Internet geht, ist nicht gewhitelistet und wird mit einem Derefer-Hinweis versehen, dass es nicht in unserem Einflussbereich liegt und die jeweiligen Betreiber:innen dafür voll verantwortlich sind.

Ihr seid entsprechend für Eure Assemblies und etwaigen Content dort verantwortlich. Bei Verstößen wird der Inhalt ohne Vorwarnung gelöscht.

Stichwort Hosting: Sofern Ihr eigene Dienste oder Services für die rC3 betreiben wollt, hostet diese bitte selbst. Solltet Ihr auf einen Service zurückgreifen, soll dieser in der EU ansässig sein. Die Verwendung von US-amerikanischen Anbietern ist nicht akzeptabel, wenn die Inhalte in die rC3-Domainlandschaft fließen sollen. Wir behalten uns vor, diese Links zu ignorieren oder gleich aus dem Maschinenraum zu löschen. Diese Dienste sind nicht mit unserem Datenschutz vereinbar.

Was auch immer in Eurer Assembly passiert: Ihr seid dafür verantwortlich! Deshalb denkt daran, Impressum und Datenschutzerklärungen auf Euren eigenen Seiten zu ergänzen.

Jetzt zum Maschinenraum

Der Maschinenraum unter https://maschinenraum.rc3.world/ ist zur Verwaltung Eurer Assembly gedacht. Dies ist jedoch nicht das Konferenz-Frontend und Ihr seht auch keine Inhalte anderer Assemblies!

Den Account, den Ihr hier verwendet, könnt (nicht: müsst) Ihr später für den Zugriff auf die Konferenz-Plattform nutzen, sobald Ihr ein Konferenz-Ticket damit verknüpft habt (dafür kommt aus dem Ticket-Tool zu gegebener Zeit ein entsprechender Link). Zum Login den Nutzernamen (statt eMail) und Passwort aus dem Signup verwenden.

Bei der Anlage bekommt Eure Assembly einen Kurznamen (den wir in URLs benutzen) sowie einen sprechenden Namen – danach geht es in einem größeren Menü weiter:

Organisatorische Daten

Unter diesem Menüpunkt könnt Ihr anlegen, wie Eure Assembly repräsentiert wird:

  • Basisdaten: Wie heißt Ihr? Was macht Ihr? Habt ihr ein Logo oder eine Website? Tragt Tags für die Suche ein! Ihr könnt hier auch ein Banner für eure Seite im Frontend hochladen. Die Seite ist ca 1200px breit, wird aber responsive skaliert. Sinnvoll ist ein Format von 16:9, ihr seid aber im Wesentlichen frei. Banner sollten nicht mehr als 2000x2000px haben.
  • Links: Zu welchen Assemblies besteht thematische oder personelle Nähe? Neben wem "sitzt" ihr?
  • Mitglieder: Wer ist bei Eurer Assembly dabei? Die Rolle "offizieller Ansprechpartner" wird als solche benutzt - auf der Webseite wird diese hervorgehoben und dient der Orga als Kontaktperson, z.B. bei Abusefällen. Die Rolle "Manager" wird wie ein reguläres Mitglied angezeigt (sofern überhaupt gewünscht), kann aber Einstellungen an der Assembly vornehmen. Zu guter Letzt können alle Mitglieder öffentlich angezeigt werden oder auch nicht.
  • Authentifizierung:
  • Hier könnt Ihr ein Token anfordern, mit dem Eure Assembly z.B. Badges an Nutzer:innen verteilen kann.
  • Zudem können hier externe Anwendungen registriert werden, die dann OAuth2 -basiert eine Authentifizierung von Nutzer:innen der Konferenz anfordern können.

Wie werden Räume angelegt?

Räume sind der physischen Welt angelehnt (siehe Einleitung). Sie können sowohl für die PlainUI angelegt werden, als auch für die 2D-Welt, wobei es dabei Unterschiede gibt.

Grundsätzlich ist die 2D-Welt leider nicht barrierefrei, daher habt Ihr die Möglichkeit, in der barrierearmen PlainUI BBB-Räume für Self-organized Sessions sowie "Lagerfeuer" für spontane Zusammenkünfte, zum entspannten Quatschen und Socializing anzulegen.

Um einen Raum anzulegen, gebt Ihr Name, Raum-Typ und die Kapazität an. Wenn Ihr einen Vorlesungs- oder Workshopraum oder eine "Bühne" plant, denkt daran, dass Konferenzräume auch im Internet leider nicht grenzenlos skalieren. Es gab bereits BBB-Räume mit etwa 90 Teilnehmer:innen. Das funktioniert bei guter Funkdisziplin und wenn nur wenige (z.B. die jeweils Vortragenden) ihre Kameras aktiviert haben.

2D-Welt-Map beitragen

Um eine Map zur 2D-Welt beizutragen, müsst Ihr ein Git-Repo angeben, welches clonebar ist. Falls das Repo privat ist, müsstet Ihr Deploy Tokens mit in die URL einbauen, beispielsweise https://bernd:brot@git.kinderkanal.de/bluemchenwiese.git.

Wie Ihr eine kompatible Map erstellt, lest Ihr im rC3-World HowTo

Was sollen Projekte eigentlich sein?

Alles was ihr gerne mit der Welt teilen wollt.

Fliegende Mate-Kiste, Cocktailroboter, Massenvernichtungswaffeln? Zeigt es uns und der Welt!

Wie werden Projekte angelegt?

Wir möchten Eure Projekte sehen! Damit die guten Stücke im Frontend landen, brauchen wir von Euch:

  • Projekt-Name
  • Beschreibung: Der Flavour-Text für die Infoseite Eurer Projekte im Frontend. Was wird gezeigt? Warum wollen Wesen das auf keinen Fall verpassen? Woher kam die Idee? Wer hat es gemacht?
  • auch: Wir suchen noch Leute für xyz
  • Links zu diversen weiteren Inhalten (hinter Dereferrer) möglich, wie z.B. Bildergalerie, Sourcecode-Repo, etc.

Natürlich könnt Ihr z.B. Wikis Eurer Projekte verlinken. Allerdings ist alles, was außerhalb der rC3-Domains liegt, "YOLO-Land" und wird mit einer Dereferrer-Warnung versehen.

Externe Medien & Streams

Externe Streams aus Yolo-Land haben leider mehrere Haken (Gema, Abuse, Sicherheit, ...), weswegen wir diese nicht in die Welt oder in die PlainUI einbinden, sondern zu Euren eigenen Seiten rauslinken. Das heißt, User:innen kommen über einen Dereferrer auf Eure eigene Infrastruktur. Wenn Ihr Audio oder Video in der rC3 einbinden möchtet (z.B. auf Eurer Map), habt Ihr die Möglichkeit, im "Hangar" (siehe unten) eine kleine Menge Daten zu lagern (Pi mal Daumen maximal 200Mb), die dann in die 2D-Welt oder auf Euren Projektseiten eingebunden werden können.

Wie werden Events mit Fahrplaneintrag angelegt?

Ihr könnt Vorträge und Sessions im Rahmen Eurer Assembly anlegen, die dann auch im Fahrplan im Frontend auftauchen (etwas abgesetzt vom offiziellen Programm) – als Zwischending zwischen offiziellem Vortrag und unabhängiger Self-organized Session. Ein Raumbezug ist nicht nötig (aber doch irgendwie sinnvoll, weil sonst niemand weiß wohin).

Was ist der „Hangar“ im Backoffice/Maschinenraum?

Ihr reserviert einen "Hangar"-Platz, dieser wird Euch dann zugewiesen. Vorstellbar wie ein virtueller Lagerraum für Assemblies, um statischen Content wie kurze Videos oder -loops, Audio etc. in die Welt einbinden zu können. Der Hangar ist ausdrücklich KEIN Fileshare, sondern der Ort, wo Assets für die Welt hochgeladen werden können und sollen. Der Hangar dient auch nicht dazu, dort irgendeine Internetpräsenz zu hosten! (Ihr würdet ja auch keine komplette Luftfahrzeugflotte in einem winzigen Hangar unterbringen.) Wenn Ihr Daten in den Hangar ladet, geht vorher sicher, dass Ihr die Rechte an den hochgeladenen Dateien habt! Verstöße führen zum Ausschluss der Assembly von der gesamten Veranstaltung.

Den Hangar kann man als Raum im Maschinenraum anlegen. Dazu klickt ihr auf das "+" neben dem Menüpunkt "Rooms". In der sich öffnenden Übersicht gibt es oben rechts die Möglichkeit, den Hangar einzurichten. Pro Assembly gibt es nur einen Hangar. Weitere Einrichtungen sind nicht erforderlich. Das Anlegen des Hangars kann bis zu 15 Minuten dauern.

Nachdem der Hangar angelegt ist, findest befindet sich im angelegten Raum im Feld "Hangar-Zugriff" einen ftps-Link nachfolgender Form:
ftps://<username>:<passwort>@<server>/

<username> ist dabei der Slug Eurer Assembly (siehe auch unter "Organisational Data" / "Basic Data")
<passwort> ist Euer automatisch generiertes FTP-Passwort.
<server> der FTP-Server auf dem das Upload stattfindet.

Beispielsweise könnte ein solcher Link für eine Assembly mit dem slug "ccc" so aussehen:
ftps://ccc:12345+ab1c@upload.hangar.rc3.world/

Eure Dateien könnt ihr mit einem FTPS-fähigen Programm, (z.B. FileZilla (externer Link)) hochladen.

Nach dem Upload kann die Datei mit dem Link https://hangar.rc3.world/<Username>/<filename> in die rc3.world eingebunden werden.

<filename> ist dabei der Name der hochgeladenen Datei. Diese darf zwar Leerzeichen enthalten, diese müssen dann aber im Link entsprechend behandelt werden.

Wie werden Badges erstellt und was soll das eigentlich sein?

Badges sollen den explorativen Charakter des Congress verstärken: Assemblies können diese Sticker/Auszeichnungen verteilen für "mal da gewesen", "etwas entdeckt" oder vllt. auch "P=NP bewiesen"...

Wie geht das und was ist machbar? Was bedeuten Sticker- oder Achievement-Mode?

Badges benötigen jeweils

  • einen Namen
  • eine Grafik: wir empfehlen PNG, 512x512px
  • auswählen: Sticker- vs. Achievement-Mode

Badges werden via Token an die User:innen verteilt. Ein passendes Token kann beim Badge editieren generiert werden.

  • Stickermode: Draufklicken, möcht ich haben, done. Stellt es Euch vor wie die Stickerboxen, die Ihr bei Euren physischen Assemblies hattet.

  • Achievement

    • Modus 1 (anonym bzw. Username nicht bekannt): Assembly holt sich ein "redeem token" für den:die User:in, dann bekommt er:sie den Token und das Profil mit Eingabebox taucht auf (analog zum gefundenen Easteregg). Redeem Code im Profil einlösen, dann ist das Achievement unlocked und es gibt die Badge.
    • Modus 2 (Username z.B. via SSO bekannt): Assembly sagt: Diese:r User:in dort soll die Badge bekommen. Die Badge wird zugestellt und muss von dem:der User:in akzeptiert werden.

Gesammelte Badges finden User:innen in ihrem Profil. User:innen müssen den Erhalt der Badges immer aktiv bestätigen - wer möchte schon plötzlich einen rosafarbenen Delphin-Vibrator im Profil vorfinden?

Direktzuweisung im Maschinenraum

Im Maschinenraum können Badges direkt an User vergeben werden.

Erstellung von Redeem Tokens

Zum sonstigen Vergeben von Badges wind Redeem Tokens (TM) notwending. Es gibt vier verschiedene Klassen: One-Time: Dieses Token ist exakt einmal einlösbar. Permanent: Dieses Token ist unendlich oft einlösbar. Map: Dieses Token ist kann nur in rc3.World maps eingelöst werden. Limited: Dieses Token ist exakt n-mal einlösbar.

Diese Redeem Tokens können im Maschinenraum (siehe Bild) oder per API erstellt werden:

REST POST Request to /api/c/<conference_slug>/assembly/<assembly>/badges/new_redeem_token mit dem folgenden body:

{
  issuing_token: <secret_issuing_token>,
  badge_class: <private|public|map|limited>,
  amount: <int>
}

amount ist nur notwending, wenn Ihr ein Limited Redeem Token erstellen wollt.

Wie können Badges an User vergeben werden?

Redeem Tokens einlösen

Mit Redeem Tokens können Badges verteilt werden.

User löst es im Frontend ein

Ein Benutzer kann ein Redeem Token in seinem Profil (/<conference_slug>/me) einlösen unter "Meine Badges".

Eine URL zum automatischen ausfüllen von diesem Feld (z.B. für QR Codes) wird bereitgestellt: /<conference_slug>/me/redeem_badge/<redeem_token>.

Wenn ein Benutzer einen Badge im Frontend in seinem Profil einlöst, wird dieser Badge automatisch akzeptiert und taucht in seinem Profil als "Privat" auf.

Automatisches Zuweisen von Badges mit der API

Es wird eine API bereitgestellt, mit der Badges einem Benutzer zugewiesen wrden können. Diese Badges müssen vom Benutzer manuell akzeptiert werden (/<conference_slug>/me/manage_badges).

REST POST Request: /api/c/<conference_slug>/badges/redeem_token

Body:

{
  token: <redeem_issuing_token>,
  username: <username>
}
Badges in der rc3.world zuweisen

In der rc3.world map kann ein Tile zu einem Badge verlinkt werden. Wenn der Benutzer dieses Teil betritt, bekommt er automatisch den Badge zugewiesen. Es funktioniert ähnlich wie das öffnen einer Website, hierfür wird das getBadge Property verwendet. Es müssen Map Redeem Tokens verwendet werden.

API Antwort

The API antwortet immer mit dem folgenden JSON Objekt.

{
  "badge": <badgename>,
  "user":  <username>,
  "created": <True wenn das Badge zum ersten Mal dem User zugewiesen wurde>
}

Noch Fragen?

Bitte stellt übrige Fragen an das Assembly-Team: rc3@c3assemblies.de

VOC, Streaming und Stuff

Es gibt eine eigene Doku für die Kanäle und damit etwaige Fragen: c3voc.de/wiki/events:rc3:kanal-howto

Bei Fragen bzgl. Streams bitte kontaktieren unter: empfohlen: IRC, #voc-lounge im Hackint.eu möglich: voc@c3voc.de