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 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 verwendet ihr Nutzernamen (statt eMail) und Passwort aus dem Signup.

Bei der Anlage bekommt eure Assembly einen Kurznamen (Slug), 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:

  • Allgemeines: 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 "offizielle Ansprechperson" 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 Konferenz-Website (intern auch 'Plain UI' genannt) 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 barriere-reduzierten Konferenz-Website BBB-Räume für Self Organised Sessions oder "Lagerfeuer" für spontane Zusammenkünfte, zum entspannten Quatschen und Socializing anzulegen.

Um einen Raum anzulegen, gebt ihr Name 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 Eure Map wird automatisch durch einen Linter geprüft, wenn ihr das Repo angegeben habt. * Wird euch dort dann "Fehler" angezeigt, geht eure Karte nicht online. Dann habt ihr wichtige Anforderungen nicht erfüllt. Ihr findet entsprechende Hinweise im Maschinenraum. * Wird eine Warnung angezeigt, geht eure Map online, es gibt aber noch Hinweise mit Verbesserungspotenzialen.

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 Konferenz-Website einbinden, sondern zu euren eigenen Seiten rauslinken. Das heißt, User*innen kommen über einen Dereferrer auf eure eigene Infrastruktur.

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 Organised Session. Ein Raumbezug ist nicht nötig (aber doch irgendwie sinnvoll, weil sonst niemand weiß wohin). Zum Anlegen klickt ihr auf das plus und hinterlegt die jeweiligen Informationen. Wenn ihr einen eurer BBB-Räume für eine solche Session auswählt, joinen alle Assembly-Mitglieder mit Moderationsrechten.

Wie werden Badges erstellt und was soll das eigentlich sein?

Badges sollen den explorativen Charakter des Events 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 die User*innen, die bekommen dann den Token und das Profil mit Eingabebox taucht auf (analog zum gefundenen Easteregg). Der Redeem Code wird im Profil eingelöst, dann ist das Achievement unlocked und es gibt die Badge.
    • Modus 2 (Username z.B. via SSO bekannt): Assembly sagt: User*in dort soll die Badge bekommen. Die Badge wird zugestellt und muss von User*in akzeptiert werden.

Gesammelte Badges finden User*innen in ihrem Profil. Sie müssen den Erhalt der Badges immer aktiv bestätigen - nicht alle möchten plötzlich einen rosafarbenen Delphin-Vibrator im Profil vorfinden...

Direktzuweisung im Maschinenraum

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

Erstellung von Redeem Tokens

Zum sonstigen Vergeben von Badges sind Redeem Tokens (TM) notwendig. 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 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: "<single|permanent|limited|map>",
  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

User*innen können ein Redeem Token in ihrem Profil (/<conference_slug>/me) einlösen unter "Meine Badges".

Eine URL zum automatischen Ausfüllen dieses Felds (z.B. für QR-Codes) wird bereitgestellt: /<conference_slug>/me/redeem_badge/<redeem_token>.

Wenn User*innen einen Badge im Frontend in ihrem Profil einlösen, wird dieser Badge automatisch akzeptiert und taucht in ihrem Profil als "Privat" auf.

Automatisches Zuweisen von Badges mit der API

Es wird eine API bereitgestellt, mit der Badges User*innen zugewiesen wrden können. Diese Badges müssen von User*innen 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 User*innen dieses Teil betreten, bekommen sie 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>
}

Assembly-Status

Im Maschinenraum findet ihr auf der Seite eurer Assembly rechts oben einen Kasten, der den Status eurer Assembly anzeigt. Nach der Anmeldung steht dort angemeldet bzw. angenommen. Sollte dort abgelehnt stehen, habt ihr bereits eine Mail bekommen.

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