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

Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
__KEIN_INHALTSVERZEICHNIS__
{{inuse}}
''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
;eine Benutzer-Seite
'''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==
Achtung: Diese Seite ist wenig aktuell und lässt erkennen, dass der Ersteller Unterstützung durch erfahrene Programmierer*innen braucht, um die Programmierung der verschiedenen Front- und Backends zu konkretisieren.
 
Gespräche mit Ehrenamtlichen bei [https://www.wikidata.org/wiki/Wikidata:Introduction/de Wikidata] in Berlin ergaben, dass die (Teil)-Umsetzung durch ein dort angedocktes Projekt denkbar wäre.
 
'''Neu entwickelte Lösungen''' sollten unter einer Creative-Commons-Lizenz veröffentlichbar sein und durch Dritte nachvollziehbare Strukturen besitzen.
 
==Funktion 1: Kollaborative Bearbeitung einer Termin-Datenbank==
Ziele: Transparenz und Nachvollziehbarkeit, Nutzerrechteverwaltung, bequeme Eingabe- und Importmöglichkeiten, komfortables Einfügen von [[Benutzer:Dan-yell/Kalender-Konzeption/Tags|Tags (hier mehr dazu)]].
Ziele: Transparenz und Nachvollziehbarkeit, Nutzerrechteverwaltung, bequeme Eingabe- und Importmöglichkeiten, komfortables Einfügen von [[Benutzer:Dan-yell/Kalender-Konzeption/Tags|Tags (hier mehr dazu)]].
===Professionelle Lösung===
===Neu entwickelte Lösung===
* Ein Entwurf besteht bereits im Bearbeitungssystem von http://www.Lifeguide-München.de
* Ein Entwurf besteht bereits im Bearbeitungssystem von http://www.Lifeguide-München.de
** Benutzergruppen mit unterschiedlichen Bearbeitungsrechten
** Benutzergruppen mit unterschiedlichen Bearbeitungsrechten
** Bearbeitungnen nachvollziehbar (nur Autor und Datum, nicht Änderung!)
** Bearbeitungen nachvollziehbar (hier allerdings nur Autor und Datum, nicht konkrete Änderung!)
** Wesentliche Lücken bestehen z.B. bei der Einbindung von Tags
** Wesentliche Lücken bestehen z.B. bei der Einbindung von Tags
===Lösung durch Nutzung bestehender Services===
===Lösung durch Nutzung bestehender Services===
Zeile 18: Zeile 21:
** Jeder Termin ist eine eigene Wiki-Seite
** Jeder Termin ist eine eigene Wiki-Seite


==Terminzusammenstellung nach Tags==
==Funktion 2: 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===
===Neu entwickelte 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 Abfrage von Daten (vgl. z.B. 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])
===Lösung durch Nutzung bestehender Services===
* Dateiendung (.ical, .html, .PDF) bestimmt, in welchem Format die gefilterten Terminergebnisse ausgegeben werden (das funktionierte z.B. beim leider beendeten Projekt "editgrid").
* Optional: weitere Parameter für bevorzugte Sprache, Sortierung, Zeitraum, etc.
===(Not)Lösung durch Nutzung bestehender Services===
* Bei Nutzung von Mediawiki als Datenbank: Nutzung der Erweiterung [http://www.mediawiki.org/wiki/Extension:DynamicPageList_(Wikimedia)/de DynamicPageList]
* Bei Nutzung von Mediawiki als Datenbank: Nutzung der Erweiterung [http://www.mediawiki.org/wiki/Extension:DynamicPageList_(Wikimedia)/de DynamicPageList]
** Kein URL-gesteuerter Abruf, Tagauswahl müsste fest ins Wiki eingetragen werden
** Kein URL-gesteuerter Abruf, Tagauswahl müsste fest ins Wiki eingetragen werden
** Einzige mögliche Operatoren: NOT, AND
** Einzige mögliche Operatoren: NOT, AND
* Online-Tabellenkalkulation
* Online-Tabellenkalkulation
* Yahoo! Pipes (Hinweis: Das gibt es inzwischen nicht mehr)


==Ausgabe als ICAL-Feed==
==Funktion 3: Ausgabe als iCalendar-Feed==
===Professionelle Lösung===
===Neu entwickelte Lösung===
===Lösung durch Nutzung bestehender Services===
* Auswahl aus der Datenbank wird gemäß dem [https://de.wikipedia.org/wiki/ICalendar ICalendar-Syntax (.ics, .ifb, .iCal, .iFBf)] bei jedem Feed-Abruf zusammengestellt.
* Yahoo Pipes
* Ausgabe / Abruf optional auch als
** CSV-Datei
** TXT-Datei in verschiedenen Ausführungen (Rahmendaten, Titel, Zusatzinfos)
** HTML-Datei in verschiedenen Ausführungen (wie bei TXT-Datei + Formate + Verlinkungen)
** In Wiki-Seiten einbindbarer content
** In gängigen CMS einbindbares Widget
===Lösung durch Nutzung bestehender Services (eher gar nicht möglich)===
* Yahoo! Pipes
* Online-Tabellenkalkulation
* Online-Tabellenkalkulation
** Das leider bald geschlossene Editgrid bietet an, einzelne Zellen mit beliebiger Dateiendung einzeln abzurufen.
** Das leider nicht mehr existierende Editgrid bot an, einzelne Zellen mit beliebiger Dateiendung einzeln abzurufen.
** [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==
==Einbindung des iCalendar-Feeds==
* 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
* Drupal (Anleitungen):
** Var. 2: Bei der Terminzusammenstellung werden vergangene Termine auch ohne eigenen Tag aussortiert
:* http://drupal.stackexchange.com/questions/21878/how-to-import-an-ical-feed
** 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".
:* http://websmiths.co/blog/drupal-7-feeds-tutorials-importing-ical
* Joomla: http://ezinearticles.com/?Importing-iCalendar-Events-Into-a-Joomla-Calendar&id=7333198
* Typo3: "Calendar Base" http://typo3.org/extension-manuals/cal/1.5.3/view/
* Wordpress:
:* http://wordpress.org/plugins/all-in-one-event-calendar/
:: <small>''Importing and exporting iCalendar (.ics) feeds is one of the strongest features of the All-in-One Event Calendar system''</small>
:* nur Terminliste: http://wordpress.org/plugins/amr-ical-events-list/
:* nur Terminliste: http://wordpress.org/plugins/wordpress-ics-importer/
:* unzählige weitere: http://wordpress.org/plugins/tags/icalendar
 
* 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/
: http://time.ly/
 
* Mit zusätzlichem Programmieraufwand: Eigener iframe, der vom Server des Feedgenerators miterzeugt wird (z.B. vgl. Funktionalität von Google calendar oder einfach nur Terminliste)


* Geschwindigkeit
=Andere interessante Vorstöße=
** Wichtig, damit Bearbeitende sofort Rückmeldung über das geänderte Feed bekommen
* https://www.wann-is-was.de/anleitung-ical-kalender-in-mozilla-thunderbird-importieren/
** Wahrscheinlich kein Problem, wenn direkt auf die Datenbank zugegriffen wird
* http://wiki.skolelinux.de/WikiKalender
134

Bearbeitungen