Termin

Aus C3D2
Zur Navigation springen Zur Suche springen

Auf der Website c3d2.de können Ankündigungen/Events in Form von News und kürzeren Event-Hinweisen und in den Kalender erfolgen.

Dazu kann für dauerhafte Termine ein externer Kalender im Format iCalendar im Makefile eingebunden werden oder einzelne News und Events verfasst werden.

Die notwendigen Informationen sind:

  • Bezeichnung
  • Datum Beginn
  • Ort

Optional sind:

  • Uhrzeit Beginn
  • Datum Ende
  • Uhrzeit Ende
  • Link für weitere Informationen
  • Link für Ortsinformationen oder Anfahrt/Karte
  • Kommentare

News only:

  • Veröffentlichungszeitpunk
  • person2blame
  • Weiterer Beschreibungstext

Publikation

Im Makefile eingetragene iCal-Feeds (das 1. Beispiel war `https://nix-meetup.c3d2.de/feed/ics`) werden automatisch publiziert solange der Feed aktuell gehalten wird.

Das Einreichen von Terminen und News kann per Formular via E-Mail erfolgen.

Die Publikation erfolgt durch berechtigte Nutzer über das Repo c3d2-web und wird mit XML eingetragen sowie per XSLT (Beschränkung: Version 1.0, Przessor: xsltproc, Erweiterungen mit --dumpextensions ermittelbar) automatisiert etwa alle 3 Stunden (s. Woodpecker) mit der gesamten Website neu gebaut.

XML Schema

Simple Event

Als Abschnitt innerhalb der Datei content/events.xml des Repo c3d2-web .

  <event title="Howto: Termine"><!-- Title as event dscription -->
    <start>2015-10-09</start><!-- Date-Time-Group as ISO YYYY-MM-DD["T"hh:mm:ss] -->
    <end></end><!-- optional Date-Time-Group as ISO YYYY-MM-DD["T"hh:mm:ss] -->
    <location><link href="http://www.c3d2.de/space.html">HQ im Zentralwerk</link>, Riesaer Str. 32, 01127 Dresden</location><!-- Place/Address Information, link-elm optional -->
    <link>https://wiki.c3d2.de/w/index.php?title=Diskussion:Termin</link><!-- (offsite) Information Link -->
  </event>

News/Ankündigung

Eine dedizierte Datei in contente/news/. Der Name sollte dem Schema eventtype-YYYYMMDD-gruppenbezeichnung-einzelbezeichnung.xml folgen, s.a. vorhandene News im Verzeichnis.

event-20151007-opendata.xml
<?xml version="1.0" encoding="UTF-8"?><!-- copy: XML version, encoding -->
<!DOCTYPE item SYSTEM "http://www.c3d2.de/dtd/c3d2web.dtd"><!-- copy: DTD -->

<item date="2015-10-07T13:24:00" title="Open-Data Treffen" author="tranquillo"><!-- edit: publication date/time, public title, author (your name) -->
  <image title="OpenDataDresden/OKLab-DD">opendata4x.png</image><!-- edit: optional image -->
  <event><!-- copy: event object -->
    <start>2015-10-07T19:00:00</start><!-- edit: event date and optional time -->
    <location><link href="http://www.c3d2.de/space.html">HQ im Zentralwerk</link>, Riesaer Str. 32, 01127 Dresden</location><!-- edit: event location/place/address and optional link -->
  </event>
  <p><!-- edit: XML description, allowed tags(attributes): p(class), blockquote, pre, ul, li, div(class), link(href) -->
    Das nächste reguläre Treffen des
    <link href="http://codefor.de/dresden/">hiesigen Open Knowledge Labs</link>.
  </p>
  <ul>Weitere Links: 
    <li><link href="http://pad.okfn.org/p/oklab-dresden">das Einstiegspad</link></li>
    <li><link href="http://www.meetup.com/de/OK-Lab-Dresden">Meetup</link></li>
  </ul>
</item>

Hinweise zu XML Entities

xsltproc kennt nur: &lt; &gt; &amp; &apos; &quot;, andere Entities sind entweder HTML und müssten erst definiert werden, oder – was wir hier gerne tun – werden direkt mit Codepunkten gemäß Unicode-Tabelle angegeben. Prominentes Beispiel: &nbsp; würde nicht geparst werden, deshalb schreiben wir &#160;. Andere beliebte Beispiele wären &#8239; statt &thinsp; und anstatt &shy; eben &#173;.

Lokale Voraussetzungen

Was man üblicherweise auf einem Linux BSD hat: git, (gnu)make, shell, (GNU) core/textutils, xsltproc/libxslt; etwas komfortabler mit nix und direnv.

Icons

Die Icons im Kalender werden nur für den Kalender auf der Website eingebaut. Sie priorisieren Orte und Räume im HQ und Zentralwerk.