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

Aus München Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''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.
{{inuse}}


==Funktion 1: Collaborative Bearbeitung einer Termin-Datenbank==
;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 [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 15: Zeile 23:
==Funktion 2: Terminzusammenstellung nach Tags==
==Funktion 2: Terminzusammenstellung nach Tags==
Ziel: Befehl zur Tag-gestützten Terminauswahl wird durch Parameter in der iCalendar-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 Abfrage 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])
* Dateiendung (.ical, .html, .PDF) bestimmt, in welchem Format die gefilterten Terminergebnisse ausgegeben werden.
* 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.
* Optional: weitere Parameter für bevorzugte Sprache, Sortierung, Zeitraum, etc.
===(Not)Lösung durch Nutzung bestehender Services===
===(Not)Lösung durch Nutzung bestehender Services===
Zeile 27: Zeile 35:


==Funktion 3: Ausgabe als iCalendar-Feed==
==Funktion 3: Ausgabe als iCalendar-Feed==
===Professionelle Lösung===
===Neu entwickelte Lösung===
* Auswahl aus der Datenbank wird gemäß dem [https://de.wikipedia.org/wiki/ICalendar ICalendar-Syntax (.ics, .ifb, .iCal, .iFBf)] bei jedem Feed-Abruf zusammengestellt.
* Auswahl aus der Datenbank wird gemäß dem [https://de.wikipedia.org/wiki/ICalendar ICalendar-Syntax (.ics, .ifb, .iCal, .iFBf)] bei jedem Feed-Abruf zusammengestellt.
===Lösung durch Nutzung bestehender Services===
* 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
* Yahoo! Pipes
* Online-Tabellenkalkulation
* Online-Tabellenkalkulation
** Das leider nicht mehr existierende Editgrid bot 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===
* 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==
==Einbindung des iCalendar-Feeds==

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