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

Aus München Wiki
Zur Navigation springen Zur Suche springen
 
(13 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.
Ziele: Transparenz und Nachvollziehbarkeit, Nutzerrechteverwaltung, bequeme Eingabe- und Importmöglichkeiten, komfortables Einfügen von [[Benutzer:Dan-yell/Kalender-Konzeption/Tags|Tags]]
 
===Professionelle Lösung===
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)]].
===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===
===Lösung durch Nutzung bestehender Services===
* 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])
* 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

Aktuelle Version vom 7. Juli 2020, 08:18 Uhr

Inuse Symbol.png
In Bearbeitung durch Dan-yell


An dieser Seite oder an diesem Abschnitt arbeitet gerade jemand. Um Bearbeitungskonflikte und Doppelarbeit zu vermeiden, warte bitte mit Änderungen bis diese Markierung entfernt ist, oder notiere Anregungen und Änderungswünsche auf der Diskussionsseite dieses Artikels! Dieser Baustein sollte nicht dauerhaft zu sehen sein.
Dieser Artikel ist deshalb ja auch noch nicht Bestandteil des München-Wikis. — Dankeschön!


eine Benutzer-Seite

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 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 Tags (hier mehr dazu).

Neu entwickelte Lösung

  • Ein Entwurf besteht bereits im Bearbeitungssystem von http://www.Lifeguide-München.de
    • Benutzergruppen mit unterschiedlichen Bearbeitungsrechten
    • Bearbeitungen nachvollziehbar (hier allerdings nur Autor und Datum, nicht konkrete Ä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

Funktion 2: Terminzusammenstellung nach Tags

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

Neu entwickelte Lösung

  • URL-gesteuerte Abfrage von Daten (vgl. z.B. die sofortige Generierung beliebig dimensionierter Bilder durch Mediawiki-Server: [1], [2], [3])
  • 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 DynamicPageList
    • Kein URL-gesteuerter Abruf, Tagauswahl müsste fest ins Wiki eingetragen werden
    • Einzige mögliche Operatoren: NOT, AND
  • Online-Tabellenkalkulation
  • Yahoo! Pipes (Hinweis: Das gibt es inzwischen nicht mehr)

Funktion 3: Ausgabe als iCalendar-Feed

Neu entwickelte Lösung

  • Auswahl aus der Datenbank wird gemäß dem ICalendar-Syntax (.ics, .ifb, .iCal, .iFBf) bei jedem Feed-Abruf zusammengestellt.
  • 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)

Einbindung des iCalendar-Feeds

  • Drupal (Anleitungen):
Importing and exporting iCalendar (.ics) feeds is one of the strongest features of the All-in-One Event Calendar system
  • Alternativen, falls Funktion bei weiteren Systemen fehlt oder unbefriedigend ist:
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)

Andere interessante Vorstöße