aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMaZderMind2015-11-17 14:29:16 +0100
committerMaZderMind2015-11-17 14:29:16 +0100
commit3a0d75321cc19ca5b3636a0bb733ef26ddc1f31a (patch)
tree5e5fcbd767188c11ee900a6b57df0aaac0cee263 /README.md
parentecff3fe5aa13c7e5d6c41006fb0b23b6779d7f77 (diff)
parent95d0cbade0323dc7620b77c989034eed1c63d16c (diff)
Merge branch 'johnjohndoe-patch-1'
Diffstat (limited to 'README.md')
-rw-r--r--README.md82
1 files changed, 41 insertions, 41 deletions
diff --git a/README.md b/README.md
index 5270d21..ef3432f 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
# c3voc Streaming-Webseite
Dies ist der Code für die Streaming-Webseite unter
-[streaming.media.ccc.de](http://streaming.media.ccc.de/) welche vom
-[c3voc](https://c3voc.de/) benutzt wird um Live-Video und -Audio-Streams von
-[diversen Konferenzen](https://c3voc.de/eventkalender/) inm Internet zu
+[streaming.media.ccc.de](http://streaming.media.ccc.de/), welche vom
+[c3voc](https://c3voc.de/) benutzt wird, um Live-Video- und -Audio-Streams von
+[diversen Konferenzen](https://c3voc.de/eventkalender/) im Internet zu
präsentieren. Die Idee hinter diesem Projekt ist es, eine generische Codebasis
zu haben, die mit wenigen Konfigurationsoptionen und ein paar CSS-Rules an die
Gegebenheiten und die Gestaltung der Konferenz angepasst werden können.
@@ -13,91 +13,91 @@ Gegebenheiten und die Gestaltung der Konferenz angepasst werden können.
## Setup
Das Setup beim VOC besteht aus einem Hidden-Master-Server, welcher den PHP-Code
-in einem nginx ausführt. Dahinter kommen n Frontend-Caches, wobei für kleine
-Events n eigentlich fast immer =1 ist. Für große Events (Camp, Congress),
+in einem nginx ausführt. Dahinter kommen `n` Frontend-Caches, wobei für kleine
+Events `n` eigentlich fast immer `=1` ist. Für große Events (Camp, Congress)
können wir aber sehr einfach weitere Frontend-Caches bei verschiedenen Hostern
hinzu deployen.
-Zum vorbereiten einer Konferenz oder weiterentwickeln der Seite ist es
-hilfreich, sich das Teil lokal aufzusetzen. Am einfachsten geht das mit nem
-Apachen denn die beiliegende [.htaccess](.htaccess) konfiguriert das
+Zur Vorbereitung einer Konferenz oder zur Weiterentwickelung der Seite ist es
+hilfreich, sich das Teil lokal aufzusetzen. Am einfachsten geht das mit 'nem
+Apachen, denn die beiliegende [.htaccess](.htaccess) konfiguriert das
URL-Rewriting gleich richtig. Bei nginx muss das in der globalen nginx.conf
ungefähr so eingestellt werden:
-````
- location / {
- rewrite /(.*) /index.php?route=$1 last;
- }
-````
+
+```
+location / {
+ rewrite /(.*) /index.php?route=$1 last;
+}
+```
Abweichend von der Default-Config muss in PHP das Flag `short_open_tag = On`
gesetzt werden.
Die CSS-Styles sind in [less-css](http://lesscss.org/) geschrieben und es wird
-ein less-Compiler benötigt, um diese in CSS-Dateien umzuwandeln. Der Einfachste
+ein less-Compiler benötigt, um diese in CSS-Dateien umzuwandeln. Der einfachste
Weg ist [node.js](https://nodejs.org/) über das
[Debian-Repo](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#debian-and-ubuntu-based-linux-distributions)
installieren und dann mit `npm install -g less` den `lessc`-Compiler
-installieren. Zum korrekten bauen der Less-Datei kann das makefile in
+installieren. Zum korrekten Bauen der Less-Datei kann das makefile in
[assets/css](assets/css/) verwendet werden.
## Konfiguration
-Die Gesamte Seite wird von der zentralen [config.php](config.php)-Datei
+Die gesamte Seite wird von der zentralen [config.php](config.php)-Datei
gesteuert. Diese ist ausführlich dokumentiert und sollte sich selbst erklären.
-Für die Konferenztypische Gestaltung kann in der
+Die konferenztypische Gestaltung kann in der
[main.less](assets/css/main.less) nach Wunsch ausgestaltet werden. Als Beispiel
sei hier die Gestaltung für das [Easterhegg
2015](https://eh15.easterhegg.eu/site/) verlinkt:
[d3c0e74](https://github.com/voc/streaming-website/commit/d3c0e74f459121c3e624c9b3b92d6ec6b39a3dbe)
Üblicherweise machen wir für jede Veranstaltung einen `events/XXXX` branch auf,
-wobei XXXX das Acronym der Konferenz ist.
+wobei `XXXX` das Acronym der Konferenz ist.
## Deployment (auf der VOC Infrastruktur)
-````
- ssh voc@live.ber
- cd /srv/nginx/streaming-website
- git fetch origin
- git checkout <branch>
-
- cd assets/css
- make
- sudo sh -c 'rm -rf /srv/nginx/cache/streaming_fcgi/*'
- exit
-
- ssh voc@live.dus
- sudo sh -c 'rm /srv/nginx/cache/streaming_website/static/* /srv/nginx/cache/streaming_website/pages/*'
- exit
-````
+``` bash
+ssh voc@live.ber
+cd /srv/nginx/streaming-website
+git fetch origin
+git checkout <branch>
+
+cd assets/css
+make
+sudo sh -c 'rm -rf /srv/nginx/cache/streaming_fcgi/*'
+exit
+
+ssh voc@live.dus
+sudo sh -c 'rm /srv/nginx/cache/streaming_website/static/* /srv/nginx/cache/streaming_website/pages/*'
+exit
+```
## JSON-API
Unter der URL http://streaming.media.ccc.de/streams/v1.json bietet die
Steaming-Webseite eine Übersicht über alle konfigurierten Räume und Streams in
-einem Maschienenlesbaren Format an. Dieses kann z.B. genutzt werden, um in den
-diversen Anwendungen die sich rund um das Konferenzgeschehen entwickelt haben
+einem maschinenlesbaren Format an. Dieses kann z.B. genutzt werden, um in den
+diversen Anwendungen, die sich rund um das Konferenzgeschehen entwickelt haben,
Player und Links zu Liveübertragungen anzubieten.
-Wie die URL vermuten lässt, ist die API versionionert. Dies bedeutet, dass in
-der v1.json keine Felder *entfernt werden* oder ihre *bedeutung ändern* – es
+Wie die URL vermuten lässt, ist die API versioniert. Dies bedeutet, dass in
+der `v1.json` keine Felder *entfernt werden* oder ihre *Bedeutung ändern* – es
können aber durchaus *neue Felder* hinzukommen. Eine formalere Spezifikation
des JSON-Formats ist tbd. Ein Beispiel kann [hier
betrachtet](https://gist.github.com/MaZderMind/d5737ab867ade7888cb4) werden.
## Schedule
-Unter configs/schedule.xml wird das schedule.xml der Veranstaltung abgelegt.
+Unter `configs/schedule.xml` wird das `schedule.xml` der Veranstaltung abgelegt.
Regelmäßige Aktualisierungen können z. B. mit folgenden Cron-Job vorgenommen
werden:
```
- voc~$ crontab -l
- */5 * * * * cd /srv/nginx/streaming-website/configs; ./download.sh
-
+voc~$ crontab -l
+*/5 * * * * cd /srv/nginx/streaming-website/configs; ./download.sh
```