Benutzer:Dan-yell/Kalender-Konzeption/technische Umsetzung: Unterschied zwischen den Versionen

Aus München Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:


==Terminzusammenstellung nach Tags==
==Terminzusammenstellung nach Tags==
Ziel: Befehl zur Tag-gestützten Terminauswahl wird durch Parameter in der ICAL-URL gegeben.
Ziel: Befehl zur Tag-gestützten Terminauswahl wird durch Parameter in der iCalendar-URL gegeben.
===Professionelle Lösung===
===Professionelle Lösung===
* URL-gesteuerte Ausgabe von Daten (vgl. die sofortige Generierung beliebig dimensionierter Bilder durch Mediawiki-Server: [http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg/315px-Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg],  [http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg/123px-Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg], [http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg/42px-Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg])
* URL-gesteuerte Ausgabe von Daten (vgl. die sofortige Generierung beliebig dimensionierter Bilder durch Mediawiki-Server: [http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg/315px-Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg],  [http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg/123px-Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg], [http://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg/42px-Frauenkirche_Munich_-_View_from_Peterskirche_Tower.jpg])
Zeile 28: Zeile 28:
* Online-Tabellenkalkulation
* Online-Tabellenkalkulation


==Ausgabe als ICAL-Feed==
==Ausgabe als iCalendar-Feed==
===Professionelle Lösung===
===Professionelle Lösung===
===Lösung durch Nutzung bestehender Services===
===Lösung durch Nutzung bestehender Services===
Zeile 36: Zeile 36:
** [https://developers.google.com/gdata/articles/spreadsheets_calendar_base_mashup Via ein Google Spreadsheet und einen Google calendar]
** [https://developers.google.com/gdata/articles/spreadsheets_calendar_base_mashup Via ein Google Spreadsheet und einen Google calendar]


==Herausforderungen==
===Herausforderungen===
* Aktualität
* Aktualität
** Var. 1: Überarbeitung der Datenbank: Jeden Tag läuft ein script/bot darüber und ändert einen Aktualitäts-Tag oder archiviert die Veranstaltung
** Var. 1: Überarbeitung der Datenbank: Jeden Tag läuft ein script/bot darüber und ändert einen Aktualitäts-Tag oder archiviert die Veranstaltung
** Var. 2: Bei der Terminzusammenstellung werden vergangene Termine auch ohne eigenen Tag aussortiert
** Var. 2: Bei der Terminzusammenstellung werden vergangene Termine auch ohne eigenen Tag aussortiert
** Extras: Präzise (relative und/oder absolute) Zeiträume können angegeben werden, z.B. "zukünftiges und max. 7 Tage altes" oder "alles vom 15. bis 30. Juni 2015".
** Extras: Präzise (relative und/oder absolute) Zeiträume können angegeben werden, z.B. "zukünftiges und max. 7 Tage altes" oder "alles vom 15. bis 28. Juni 2015".


* Geschwindigkeit
* Geschwindigkeit
** Wichtig, damit Bearbeitende sofort Rückmeldung über das geänderte Feed bekommen
** Wichtig, damit Bearbeitende sofort Rückmeldung über das geänderte Feed bekommen
** Wahrscheinlich kein Problem, wenn direkt auf die Datenbank zugegriffen wird
** Wahrscheinlich kein Problem, wenn direkt auf die Datenbank zugegriffen wird
==Einbindung des iCalendar-Feeds
* Drupal:
* Joomla:
* Typo3: "Calendar Base" http://typo3.org/extension-manuals/cal/1.5.3/view/
* Wordpress:
:* nur Terminliste: http://wordpress.org/plugins/amr-ical-events-list/
* Alternativen, falls Funktion bei weiteren Systemen fehlt oder unbefriedigend ist:
:* Feed in Google Kalender abonnieren und freigeben; von Google bereitgestellte Iframe-URLs einbinden
:* "IcalJs" von Zetabee (Bsp.): https://zetabee.com/icaljs/
:* "PHPiCalendar": http://sourceforge.net/projects/phpicalendar/

Version vom 20. November 2013, 00:24 Uhr

Diese Seite ist in Arbeit

Professionelle Lösungen bedeuten eine zumindest teilweise Neuprogrammierung, vermutlich in PHP. Sie sollten unter einer Creative-Commons-Linzenz veröffentlichbar sein und durch Dritte nachvollziehbare Strukturen besitzen Lösungen durch Nutzung bestehender Services haben dagegen folgende Nachteile: Und folgende Vorteile: (als Gedankenexperiment) Demonstrationscharakter für professionelle Lösung

Collaborative Bearbeitung einer Termin-Datenbank

Ziele: Transparenz und Nachvollziehbarkeit, Nutzerrechteverwaltung, bequeme Eingabe- und Importmöglichkeiten, komfortables Einfügen von Tags (hier mehr dazu).

Professionelle Lösung

  • Ein Entwurf besteht bereits im Bearbeitungssystem von http://www.Lifeguide-München.de
    • Benutzergruppen mit unterschiedlichen Bearbeitungsrechten
    • Bearbeitungnen nachvollziehbar (nur Autor und Datum, nicht Änderung!)
    • Wesentliche Lücken bestehen z.B. bei der Einbindung von Tags

Lösung durch Nutzung bestehender Services

  • Mediawiki mit "gesichtete Versionen"-Erweiterung
    • -> Realistische Option, stellt aber besondere Anforderung an die weiteren Schritte
    • Jeder Termin ist eine eigene Wiki-Seite

Terminzusammenstellung nach Tags

Ziel: Befehl zur Tag-gestützten Terminauswahl wird durch Parameter in der iCalendar-URL gegeben.

Professionelle Lösung

  • URL-gesteuerte Ausgabe von Daten (vgl. die sofortige Generierung beliebig dimensionierter Bilder durch Mediawiki-Server: [1], [2], [3])

Lösung durch Nutzung bestehender Services

  • Bei Nutzung von Mediawiki als Datenbank: Nutzung der Erweiterung DynamicPageList
    • Kein URL-gesteuerter Abruf, Tagauswahl müsste fest ins Wiki eingetragen werden
    • Einzige mögliche Operatoren: NOT, AND
  • Online-Tabellenkalkulation

Ausgabe als iCalendar-Feed

Professionelle Lösung

Lösung durch Nutzung bestehender Services

Herausforderungen

  • Aktualität
    • Var. 1: Überarbeitung der Datenbank: Jeden Tag läuft ein script/bot darüber und ändert einen Aktualitäts-Tag oder archiviert die Veranstaltung
    • Var. 2: Bei der Terminzusammenstellung werden vergangene Termine auch ohne eigenen Tag aussortiert
    • Extras: Präzise (relative und/oder absolute) Zeiträume können angegeben werden, z.B. "zukünftiges und max. 7 Tage altes" oder "alles vom 15. bis 28. Juni 2015".
  • Geschwindigkeit
    • Wichtig, damit Bearbeitende sofort Rückmeldung über das geänderte Feed bekommen
    • Wahrscheinlich kein Problem, wenn direkt auf die Datenbank zugegriffen wird

==Einbindung des iCalendar-Feeds

  • Alternativen, falls Funktion bei weiteren Systemen fehlt oder unbefriedigend ist: