CommonsBooking 1 Erweiterungen: Unterschied zwischen den Versionen
Aus Forum Freie Lastenräder
Poilu (Diskussion | Beiträge) (Einführung) |
Poilu (Diskussion | Beiträge) (Zusammenfassung Plugins & Shortcodes ergänzt) |
||
Zeile 29: | Zeile 29: | ||
== Was haben wir entwickelt, welche Plugins sind Open Source verfügbar? == | == Was haben wir entwickelt, welche Plugins sind Open Source verfügbar? == | ||
... | === Code Export === | ||
* '''Herausforderung''': | |||
:* es gibt zwar über "Zeiträume" die Möglichkeit Buchungscodes zu drucken, allerdings nur alle eines Zeitraums | |||
:* viele Räder, daher verlängern wir bestehende Zeiträume, um Anzahl gering zu halten (neue nur bei Standortwechsel) | |||
:* brauchten eine Möglichkeit, Codes für wählbaren Zeitabschnitt zu exportieren im CSV-Format | |||
* '''Lösung''': | |||
:* im Admin-Bereich "Codes", Einblendung eines Formular zum Export | |||
* '''Bedienung''': | |||
:* Auswahl des Items und Start- und Enddatum | |||
:* optional Spalte mit Namen des Standortes hinzufügbar | |||
:* Datei speichern-Dialog | |||
* '''Link''': https://github.com/flotte-berlin/commons-booking-codes-export | |||
=== Admin Booking=== | |||
* '''Herausforderung''': | |||
:* Buchungen von Items für andere NutzerInnen, auch jenseits des eingestellten Buchungshorizonts und der für "normale" NutzerInnen erlaubten Länge | |||
:* Beispiele: Anfragen für Events länger im Voraus, Selbstnutzung von Standorten | |||
* '''Lösung''': | |||
:* im Admin-Bereich "Buchungen" ein Formular 'Buchung erstellen' | |||
* '''Bedienung''': | |||
:* Auswahl des Artikels/Items (Lastenrad), Auswahl der NutzerIn (Dropdown mit Filter) | |||
:* Auswahl von Start- und Enddatum | |||
:* Beschränkung: wie bei normalen Buchungen muss es sich um einen Tag handeln, an dem Standort geöffnet ist | |||
:* es dürfen keine Buchungen für ausgewählten Zeitraum existieren | |||
:* es muss ein Zeitraum für den Artikel existieren | |||
:* da Buchungen für interne Zwecke mitunter keine Bestätigungsmail erfordern, optional, ob diese versendet werden soll (Checkbox) | |||
* '''Link''': https://github.com/flotte-berlin/commons-booking-admin-booking | |||
=== Post Booking === | |||
* '''Herausforderung''': | |||
:* zusätzliche Emails an NutzerInnen vor und nach dem Buchungszeitraum | |||
::* A: Buchungserinnerung - manche NutzerInnen reservieren Rad länger im Voraus, mitunter wird es dann doch nicht benötigt; Stornierung ermöglicht anderen die Nutzung (effektive Nutzung, faire Verfügbarkeit) | |||
::* B: Buchung beendet - Bitte um Feedback, Möglichkeit auf Social Media Kanäle hinzuweisen, Spendenaufforderung, Verweis auf mgl. Umfrage (s. Questionnaire) -> '''!!!''' da diese Benachrichtigung nicht mehr unmittelbar für den Ausleihprozess notwendig ist - sollte in den AGB die Zustimmung eingeholt werden (wg. DSGVO) | |||
* '''Bedienung''': | |||
:* Einstellungsseite für das Plugin | |||
::* A: Buchungserinnerung | |||
:::* Textfelder für Betreff und Email-Inhalt (Template Tags möglich + <nowiki>{{HASH}}</nowiki> für Buchungshash) | |||
:::* min. Tage nach Buchung - wieviele Tage müssen seit Erstellung d. Buchung vergangen sein (kurzfristig buchende NutzerInnen müssen nicht erinnert werden) | |||
:::* Tage im Voraus - wieviele Tage vor Beginn des Buchungszeitraums soll die Benachrichtigung versendet werden | |||
:::* Checkbox f. (De-)Aktivierung des Email-Versands, Auswahl einer Uhrzeit für den Versand | |||
::* B: Buchung beendet | |||
:::* Textfelder für Betreff und Email-Inhalt (Template Tags möglich + <nowiki>{{HASH}}</nowiki> für Buchungshash) | |||
:::* Checkbox f. (De-)Aktivierung des Email-Versands, Auswahl einer Uhrzeit für den Versand und Tag, für welchen Buchungen berücksichtigt werden | |||
* '''Abhängigkeit''': WP Cronjob | |||
* '''Ausblick''': | |||
:* evtl. Styling der Einstellungsseite verbessern | |||
* '''Link''': https://github.com/flotte-berlin/commons-booking-post-booking | |||
=== Item Usage Restriction === | |||
* '''Herausforderung''': | |||
:* Sichtbarmachung von Schäden und Nutzungseinschränkungen an Rädern für NutzerInnen | |||
:* Informieren von direkt betroffenen NutzerInnen (mit Buchungen) und anderen relevanten Beteiligten, mühsames Heraussuchen von Kontakten vermeiden | |||
:* Blockierung weiterer Buchungen bei Nichtnutzbarkeit (Totalschaden, Wartung) | |||
:* Eingriff (& Auffasern) in Zeiträume vermeiden | |||
:* statistische Auswertung von Verfügbarkeit (vertragliche Vereinbarung 'fLotte kommunal') | |||
* '''Bedienung''': | |||
:* Einstellungen: | |||
::* Auswahl eines blockierenden Nutzers (Erstellung von Buchungen für diesen Nutzer bei Totalausfall > Überbuchen, Verhinderung neuer Buchungen) | |||
::* 3 Email-Templates (nach Einschränkungsart: Beschädigung / Totalausfall, Löschung der Nutzungseinschränkung) | |||
::* buchungsbezogene Template-Tags stehen zur Verfügung (+ <nowiki>{{HINT}}</nowiki>) | |||
::* Option zum Einbinden des Markup in Item-Seite, auch wenn keine Einschränkungen vorhanden sind | |||
:* Erstellen: | |||
::* Artikel und Start-/Enddatum der Einschränkung wählen (ist auch in der Vergangenheit möglich, kein Email-Versand, aber hilfreich für statistische Zwecke) | |||
::* Typ der Einschränkung wählen (Totalausfall, eingeschränkt nutzbar) | |||
::* Hinweistext, der an die Email angehangen werden kann (Template-Tag <nowiki>{{HINT}}</nowiki>) und auf der Artikelseite erscheint | |||
::* optional (Komma separierte) Liste von Email-Adressen, die zusätzlich benachrichtigt werden - Eigentümer des Lastenrads etc. | |||
:* Liste: | |||
::* Artikel auswählen - Auflistung von Beschränkungen in zeitlich umgekehrter Reihenfolge | |||
* '''Abhängigkeit''': WP Cronjob | |||
* '''Ausblick''': | |||
:* verkürzen bzw. verlängern von bestehenden Nutzungsbeschränkungen, bisher nur Erstellen und Löschen möglich | |||
* '''Link''': https://github.com/flotte-berlin/commons-booking-item-usage-restriction | |||
=== Safe User Deletion === | |||
* '''Herausforderung''': | |||
:* NutzerInnen haben Recht auf Löschung ihres Accounts (DSGVO) | |||
:* ist nicht im WP-Core integriert, Nutzung des Plugins "Delete Me" | |||
:* Problem: Verknüpfung zu (vergangenen) Buchungen gehen verloren, zukünftige Buchungen bleiben bestehen, mglw. Kontaktaufnahme bezüglich kürzlich zurückliegender Nutzung notwendig (Schadensfall o.ä.) | |||
* '''Bedienung''': | |||
:* Einstellungen: Anzahl der Tage, die seit letzter Buchung vergangen sein müssen, damit Löschung erfolgen kann | |||
:* "Delete me" erlaubt Löschung durch NutzerIn über Profil-Seite oder durch Admin über Benutzer-Liste - an dieser Stelle erfolgt Prüfung und ggf. Abbruch mit Rückmeldung | |||
:* bei Löschung: | |||
::* sofern Buchungen in der Vergangenheit, Anonymisierung des Accounts (Überschreiben persönlicher Daten v. User) - Verbindung zu Buchungen bleiben erhalten | |||
::* Buchungen mit Nutzungszeitraum in der Zukunft werden gelöscht, um Slots für anderen NutzerInnen frei zu geben | |||
* '''Abhängigkeit''': Delete me (https://de.wordpress.org/plugins/delete-me/) | |||
* '''Link''': https://github.com/flotte-berlin/commons-booking-safe-user-deletion | |||
=== Shortcodes === | |||
* '''Link''': https://github.com/flotte-berlin/cb-shortcodes | |||
* '''[cb_items_available]''': | |||
:* Zielgruppe: NutzerInnen | |||
:* tabellarische Übersicht von buchbaren und gebuchten Tagen im Buchungsfenster (z.B. 30 Tage) nach Kategorie (Stadtgebiet) | |||
* '''[cb_bookings_category]''': | |||
:* Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten) | |||
:* Buchungsstatistik Übersicht - Zeiträume aller Artikel | |||
* '''[cb_bookings_months]''': | |||
:* Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten) | |||
:* tabellarische & grafische Nutzungsstatististiken für Item-Kategorien (bei uns: fLotte, kommunal) und Items | |||
* '''[cb_booking_codes] & [cb_booking_codes_item]''' + [bws_pdfprint display='pdf']: | |||
:* Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten) | |||
:* Liste von Rädern + Seite mit Buchungscodes über 2 Monate zum Selbstausdrucken | |||
:* Status: bisher nicht Open Source | |||
:* '''Screenshot (Buchungscodes unkenntlich gemacht)''' | |||
=== andere Erweiterungen === | |||
==== Ausleihformular als Link ==== | |||
* Zielgruppe: NutzerInnen | |||
* zusätzlicher Link auf der Seite für bestätigte Buchung zu PDF mit Ausleihformular (teilweise vorausgefüllt) - zur Vereinfachung des Ausleihvorgangs | |||
* Status: nicht Open Source | |||
==== Contract Extension ==== | |||
*'''Herausforderung''': | |||
:* Erfassung der "no show" Rate - Verknüpfung der Buchung mit der tatsächlichen Ausleihe über den Leihvertrag | |||
:* regelmäßiges Einsammeln der Verträge von den Standorten, Markieren der dazugehörigen Buchungen | |||
* '''Lösung/Bedienung''': | |||
:* Erweiterung der Buchungstabelle um Spalte "Vertrag" mit Checkbox zum Vorhandensein | |||
* '''Status''': nicht Open Source | |||
==== Special Days ==== | |||
* '''Herausforderung''': | |||
:* CB ermöglicht nur das Festlegen von wöchentlich wiederkehrenden Schließtagen | |||
:* unregelmäßige Schließtage von Standorten, wie z.B. gesetzl. Feiertage | |||
* '''Lösung/Bedienung''': | |||
:* zusätzliches wiederholbares Feld für Standorte zum Eintragen von Datum eines besonderen Schließtages | |||
:* Checkbox zur Auswahl, ob Standort an gesetzl. Feiertagen geschlossen hat (Berechnung im Hintergrund) | |||
:* auf Buchungsseiten, Einschleusen dieser Daten (und Aktualisierung des Buchungskalenders) | |||
* '''Status''': nicht Open Source | |||
== Kontakt für Fragen, Feedback und Fehlermeldungen == | |||
* '''Shortcodes:''' gundelfisch@flotte-berlin.de | |||
* '''Plugins & Erweiterungen allgem.:''' thomas.richter@flotte-berlin.de |
Version vom 25. Februar 2019, 11:29 Uhr
An dieser Stelle wird die Vorstellung der Erweiterungen für Commons Booking 1 (FFL 2019), die im Rahmen des fLotte Projekts entstanden sind, dokumentiert.
Was war unsere Intention?
- Herausforderungen lösen, die sich uns gestellt haben, erstmal für den Eigenbedarf
- Verwaltungsaufwand verrringern
- wiederkehrende Aufgaben erleichtern
- Entwicklung und Nutzungsverhalten nachvollziehen und steuern
- intensivere Kommunikation mit NutzerInnen
- Anforderungen der DSGVO erfüllen
- nach Möglichkeit Lösungen so umsetzen, dass sie auch für andere Initiativen nutzbar sind
Warum Plugins zum Plugin?
- CB2 bereits in der Entwicklung, keine Feature-Updates von CB
- Kompatibilität mit minor Updates gewährleisten
- Unklarheit, ob unsere Entwicklungen sinnvoll im CB-Core aufgehoben wären (zu spezielle Herausforderungen, Lösungen nicht verallgemeinerbar)
Wo sind die Erweiterungen finden und wie auf der eigenen WP-Plattform zu installieren
- Repository-Sammlung: https://github.com/flotte-berlin
- Plugins:
- sind nicht ins WP-Repository eingestellt (Nachteil: kein direktes Update möglich)
- zip-Download + Wordpress: Plugins installieren, Upload, fertig!
- Shortcodes:
- im Theme hinterlegen und in functions.php inkludieren
Was haben wir entwickelt, welche Plugins sind Open Source verfügbar?
Code Export
- Herausforderung:
- es gibt zwar über "Zeiträume" die Möglichkeit Buchungscodes zu drucken, allerdings nur alle eines Zeitraums
- viele Räder, daher verlängern wir bestehende Zeiträume, um Anzahl gering zu halten (neue nur bei Standortwechsel)
- brauchten eine Möglichkeit, Codes für wählbaren Zeitabschnitt zu exportieren im CSV-Format
- Lösung:
- im Admin-Bereich "Codes", Einblendung eines Formular zum Export
- Bedienung:
- Auswahl des Items und Start- und Enddatum
- optional Spalte mit Namen des Standortes hinzufügbar
- Datei speichern-Dialog
Admin Booking
- Herausforderung:
- Buchungen von Items für andere NutzerInnen, auch jenseits des eingestellten Buchungshorizonts und der für "normale" NutzerInnen erlaubten Länge
- Beispiele: Anfragen für Events länger im Voraus, Selbstnutzung von Standorten
- Lösung:
- im Admin-Bereich "Buchungen" ein Formular 'Buchung erstellen'
- Bedienung:
- Auswahl des Artikels/Items (Lastenrad), Auswahl der NutzerIn (Dropdown mit Filter)
- Auswahl von Start- und Enddatum
- Beschränkung: wie bei normalen Buchungen muss es sich um einen Tag handeln, an dem Standort geöffnet ist
- es dürfen keine Buchungen für ausgewählten Zeitraum existieren
- es muss ein Zeitraum für den Artikel existieren
- da Buchungen für interne Zwecke mitunter keine Bestätigungsmail erfordern, optional, ob diese versendet werden soll (Checkbox)
Post Booking
- Herausforderung:
- zusätzliche Emails an NutzerInnen vor und nach dem Buchungszeitraum
- A: Buchungserinnerung - manche NutzerInnen reservieren Rad länger im Voraus, mitunter wird es dann doch nicht benötigt; Stornierung ermöglicht anderen die Nutzung (effektive Nutzung, faire Verfügbarkeit)
- B: Buchung beendet - Bitte um Feedback, Möglichkeit auf Social Media Kanäle hinzuweisen, Spendenaufforderung, Verweis auf mgl. Umfrage (s. Questionnaire) -> !!! da diese Benachrichtigung nicht mehr unmittelbar für den Ausleihprozess notwendig ist - sollte in den AGB die Zustimmung eingeholt werden (wg. DSGVO)
- Bedienung:
- Einstellungsseite für das Plugin
- A: Buchungserinnerung
- Textfelder für Betreff und Email-Inhalt (Template Tags möglich + {{HASH}} für Buchungshash)
- min. Tage nach Buchung - wieviele Tage müssen seit Erstellung d. Buchung vergangen sein (kurzfristig buchende NutzerInnen müssen nicht erinnert werden)
- Tage im Voraus - wieviele Tage vor Beginn des Buchungszeitraums soll die Benachrichtigung versendet werden
- Checkbox f. (De-)Aktivierung des Email-Versands, Auswahl einer Uhrzeit für den Versand
- B: Buchung beendet
- Textfelder für Betreff und Email-Inhalt (Template Tags möglich + {{HASH}} für Buchungshash)
- Checkbox f. (De-)Aktivierung des Email-Versands, Auswahl einer Uhrzeit für den Versand und Tag, für welchen Buchungen berücksichtigt werden
- Abhängigkeit: WP Cronjob
- Ausblick:
- evtl. Styling der Einstellungsseite verbessern
Item Usage Restriction
- Herausforderung:
- Sichtbarmachung von Schäden und Nutzungseinschränkungen an Rädern für NutzerInnen
- Informieren von direkt betroffenen NutzerInnen (mit Buchungen) und anderen relevanten Beteiligten, mühsames Heraussuchen von Kontakten vermeiden
- Blockierung weiterer Buchungen bei Nichtnutzbarkeit (Totalschaden, Wartung)
- Eingriff (& Auffasern) in Zeiträume vermeiden
- statistische Auswertung von Verfügbarkeit (vertragliche Vereinbarung 'fLotte kommunal')
- Bedienung:
- Einstellungen:
- Auswahl eines blockierenden Nutzers (Erstellung von Buchungen für diesen Nutzer bei Totalausfall > Überbuchen, Verhinderung neuer Buchungen)
- 3 Email-Templates (nach Einschränkungsart: Beschädigung / Totalausfall, Löschung der Nutzungseinschränkung)
- buchungsbezogene Template-Tags stehen zur Verfügung (+ {{HINT}})
- Option zum Einbinden des Markup in Item-Seite, auch wenn keine Einschränkungen vorhanden sind
- Erstellen:
- Artikel und Start-/Enddatum der Einschränkung wählen (ist auch in der Vergangenheit möglich, kein Email-Versand, aber hilfreich für statistische Zwecke)
- Typ der Einschränkung wählen (Totalausfall, eingeschränkt nutzbar)
- Hinweistext, der an die Email angehangen werden kann (Template-Tag {{HINT}}) und auf der Artikelseite erscheint
- optional (Komma separierte) Liste von Email-Adressen, die zusätzlich benachrichtigt werden - Eigentümer des Lastenrads etc.
- Liste:
- Artikel auswählen - Auflistung von Beschränkungen in zeitlich umgekehrter Reihenfolge
- Abhängigkeit: WP Cronjob
- Ausblick:
- verkürzen bzw. verlängern von bestehenden Nutzungsbeschränkungen, bisher nur Erstellen und Löschen möglich
Safe User Deletion
- Herausforderung:
- NutzerInnen haben Recht auf Löschung ihres Accounts (DSGVO)
- ist nicht im WP-Core integriert, Nutzung des Plugins "Delete Me"
- Problem: Verknüpfung zu (vergangenen) Buchungen gehen verloren, zukünftige Buchungen bleiben bestehen, mglw. Kontaktaufnahme bezüglich kürzlich zurückliegender Nutzung notwendig (Schadensfall o.ä.)
- Bedienung:
- Einstellungen: Anzahl der Tage, die seit letzter Buchung vergangen sein müssen, damit Löschung erfolgen kann
- "Delete me" erlaubt Löschung durch NutzerIn über Profil-Seite oder durch Admin über Benutzer-Liste - an dieser Stelle erfolgt Prüfung und ggf. Abbruch mit Rückmeldung
- bei Löschung:
- sofern Buchungen in der Vergangenheit, Anonymisierung des Accounts (Überschreiben persönlicher Daten v. User) - Verbindung zu Buchungen bleiben erhalten
- Buchungen mit Nutzungszeitraum in der Zukunft werden gelöscht, um Slots für anderen NutzerInnen frei zu geben
- Abhängigkeit: Delete me (https://de.wordpress.org/plugins/delete-me/)
Shortcodes
- [cb_items_available]:
- Zielgruppe: NutzerInnen
- tabellarische Übersicht von buchbaren und gebuchten Tagen im Buchungsfenster (z.B. 30 Tage) nach Kategorie (Stadtgebiet)
- [cb_bookings_category]:
- Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten)
- Buchungsstatistik Übersicht - Zeiträume aller Artikel
- [cb_bookings_months]:
- Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten)
- tabellarische & grafische Nutzungsstatististiken für Item-Kategorien (bei uns: fLotte, kommunal) und Items
- [cb_booking_codes] & [cb_booking_codes_item] + [bws_pdfprint display='pdf']:
- Zielgruppe: Partner (Rad-Eigentümer, Verleih-Standorte, Paten)
- Liste von Rädern + Seite mit Buchungscodes über 2 Monate zum Selbstausdrucken
- Status: bisher nicht Open Source
- Screenshot (Buchungscodes unkenntlich gemacht)
andere Erweiterungen
Ausleihformular als Link
- Zielgruppe: NutzerInnen
- zusätzlicher Link auf der Seite für bestätigte Buchung zu PDF mit Ausleihformular (teilweise vorausgefüllt) - zur Vereinfachung des Ausleihvorgangs
- Status: nicht Open Source
Contract Extension
- Herausforderung:
- Erfassung der "no show" Rate - Verknüpfung der Buchung mit der tatsächlichen Ausleihe über den Leihvertrag
- regelmäßiges Einsammeln der Verträge von den Standorten, Markieren der dazugehörigen Buchungen
- Lösung/Bedienung:
- Erweiterung der Buchungstabelle um Spalte "Vertrag" mit Checkbox zum Vorhandensein
- Status: nicht Open Source
Special Days
- Herausforderung:
- CB ermöglicht nur das Festlegen von wöchentlich wiederkehrenden Schließtagen
- unregelmäßige Schließtage von Standorten, wie z.B. gesetzl. Feiertage
- Lösung/Bedienung:
- zusätzliches wiederholbares Feld für Standorte zum Eintragen von Datum eines besonderen Schließtages
- Checkbox zur Auswahl, ob Standort an gesetzl. Feiertagen geschlossen hat (Berechnung im Hintergrund)
- auf Buchungsseiten, Einschleusen dieser Daten (und Aktualisierung des Buchungskalenders)
- Status: nicht Open Source
Kontakt für Fragen, Feedback und Fehlermeldungen
- Shortcodes: gundelfisch@flotte-berlin.de
- Plugins & Erweiterungen allgem.: thomas.richter@flotte-berlin.de