Simple Google Calendar Outlook Events Widget

Omschrijving

Eenvoudig widget dat afspraken uit een openbare google agenda, microsoft office outlook agenda, of een ander iCal bestand in de stijl van je website toont.

Dit eenvoudige widget haalt afspraken uit een openbare google agenda (of een andere agenda in iCal formaat) en toont ze in een eenvoudige lijst waardoor je deze volledig kunt aanpassen aan je website door allerlei soorten CSS toe te passen.
Google biedt enkele HTML-fragmenten om uw openbare Google-agenda in uw website in te sluiten.
Deze zijn heel mooi, maar zodra je een paar aanpassingen aan de styling wilt maken, die verder gaan dan het veranderen van sommige kleuren, zijn ze niet genoeg.

Plugin kenmerken

  • Agenda widget dat afspraken/gebeurtenissen van een openbare Google agenda of ander iCal bestand toont.
  • Kleine voetafdruk, gebruikt alleen Google ID van de agenda, of ICS link voor Outlook, of Url van iCal bestand om informatie over de afspraken via iCal op te halen.
  • Beheer afspraken in Google Agenda, of andere iCalendar bron.
  • Volledig aanpasbaar aan je website met CSS. Uitvoer in ongeordende lijst met Bootstrap 4 listgroup klasse en toggle voor details.
  • Kies het datum/tijd formaat in het administratiescherm dat het best past bij je website.
  • Toont per gebeurtenis DTSTART, DTEND, SUMMARY, LOCATION en DESCRIPTION. DTSTART is verplicht andere onderdelen zijn optioneel.

Documentatie

  • Haalt agenda gebeurtenissen op via iCal url of Google agenda ID
  • Toont geselecteerd aantal gebeurtenissen binnen geselecteerde periode vanaf nu als listgroup-items
  • Toont gebeurtenis begin-datum en samenvatting; toggle details, omschrijving, begin-, eind-tijd, locatie.
  • Toont de meest algemene herhalende gebeurtenissen
  • Frequentie Jaarlijks, Maandelijks, Wekelijks, Dagelijks (per Uur, per Minuut … worden niet verwerkt)
  • Einde van herhaling door COUNT of UNTIL
  • Sluit met EXDATE gebeurtenissen uit van herhaling
  • Per dag, maand of per dag van de maand (BYDAY, BYMONTH, BYMONTHDAY) geen andere herhalingen (niet verwerkt worden: BYYEARDAY, BYSETPOS, BYHOUR, BYMINUTE, WKST)
  • Houdt rekening met tijdzone en zomertijd. Gebouwd en getest met Iana tijdzones zoals gebruikt in php, Google en Apple. Nu ook getest met Microsoft tijdzones en onbekende tijdzones. Voor onbekende tijdzone-namen wordt de standaaard WordPress tijdzone gebruikt (waarschijnlijk de lokale tijdzone).
see http://www.ietf.org/rfc/rfc5545.txt for specification of te ical format.
(see 3.3.10. [Page 38] Recurrence Rule in specification
  .____________._________.________._________.________.
  |            |DAILY    |WEEKLY  |MONTHLY  |YEARLY  |
  |____________|_________|________|_________|________|   
  |BYMONTH     |Limit    |Limit   |Limit    |Expand  |
  |____________|_________|________|_________|________|
  |BYMONTHDAY  |Limit    |N/A     |Expand   |Expand  |
  |____________|_________|________|_________|________|
  |BYDAY       |Limit    |Expand  |Note 1   |Note 2  |
  |____________|_________|________|_________|________|

    Note 1:  Limit if BYMONTHDAY is present; 
             otherwise, special expand for MONTHLY.

    Note 2:  Limit if BYYEARDAY or BYMONTHDAY is present; otherwise,
             special expand for WEEKLY if BYWEEKNO present; otherwise,
             special expand for MONTHLY if BYMONTH present; otherwise,
             special expand for YEARLY.

Dit widget is afgeleid van versie 0.7 van het simple google calendar widget van NBoehr
(https://nl.wordpress.org/plugins/simple-google-calendar-widget/)

Copyright en Licentie

Dit project is gelicenseerd onder de GNU GPL, versie 2 of later.
2017 – 2019 © Bram Waasdorp.

Installatie

  • Voor de bekende installatieprocedure uit, je weet wel downloaden, uitpakken uploaden en activeren.
    Of installeer gewoon van de WordPress plugin directory.
  • Zodra je de plugin hebt geactiveerd moet je een nieuw widget zien onder Weergave > Widgets. Sleep het in je zijbalk.
  • Vul de noodzakelijke configuratie velden in.
    Onder agenda ID vul de agenda ID zoals aangegeven in Google agenda in, of een complete url van een Google agenda of een ander iCal bestand.
    Je kan de Google agenda ID vinden door naar Agenda Instellingen / Agenda’s te gaan, te klikken op de juiste agenda en dan helemaal naar beneden scrollen dan staat de agenda ID onderaan onder de Integreer Agenda sectie. Dat is de agenda ID de je kan gebruiken.
  • Je bent klaar:

FAQ

Hoe kan ik Google Agenda gebruiken?

Eerst moet je je agenda delen om hem openbaar beschikbaar te maken, of je moet een nieuwe openbare agenda maken. Privé agenda’s kunnen niet gelezen worden door deze plugin. Gebruik dan het openbare iCal adres van de Google agenda ID.
Meer details bij Google support

Waar vind ik de Google Agenda ID?

Je kan de Google agenda ID vinden door naar Agenda Instellingen / Agendas te gaan, te klikken op the juiste agenda, dan helemaal naar beneden scrollen om de Calendar ID onder aan de Integreer Agenda sectie te vinden. Dat is je agenda id.
Meer details bij Google support

Hoe gebruik ik Microsoft Office Outlook Agenda?

Eerst moet je je agenda delen om hem openbaar te maken, of een gedeelde agenda maken en die openbaar maken. Privé agenda’s kunnen niet gelezen worden door deze plugin.
Publiseer hem dan als een ICS link en gebruik dit linkadres. (iets als https://outlook.live.com/owa/calendar/00000000-0000-0000-0000-000000000000/…/cid-…/calendar.ics) (werkt vanaf versie 1.3.1 van deze widget)
Meer details bij Microsoft Office support

Hoe gebruik ik Apple Agenda (iCloud Mac/ios)?

Kies de agenda die je wilt delen. Klik op het radio symbool (een punt met drie kwart cirkels) geheel rechts in de regel van die agenda. Vink het vakje Openbare Agenda In de pop-up Agenda Delen aan. Dan zie je onder aan de url iets als: webcal://p59-caldav.icloud.com/published/2/MTQxNzk0NDA2NjE0MTc5AAAAAXt2Dy6XXXXXPXXxuZnTLDV9xr6A6_m3r_GU33Qj. Klik op Kopieer Link en OK. Plak hem in het “Calendar ID, of iCal URL” veld van de widget (voor versie 1.3.1 moest je dan webcal in https veranderen)
Meer details in de MacObserver (engels)

Fout: cURL error 28: Operation timed out after 5000 milliseconds with 0 bytes received

Waarschijnlijk is de agenda (nog) niet openbaar, je kan de link kopieren voordat hij al echt is openbaar gemaakt. Controleer of de agenda al openbaar is en probeer het dan opnieuw.

Ik zie alleen de kopregel van de agenda, maar geen afspraken?

Er zijn geen afspraken gevonden binnen de selectie. Test b.v. met een afspraak voor de volgende dag en ververs de cache of wacht tot de cache ververst is.
Controleer of je het ics bestand dat je hebt aangewezen in de widget kan downloaden in een browser. Op zijn minst of het een tekst bestand is met als eerste regel “BEGIN:VCALENDAR” en verder regels “BEGIN:VEVENT” en regels “END:VEVENT”. Als je het probleem niet kan oplossen kan je natuurlijk een fout/vraag melden in ons
community support forum

Kan ik een gebeurtenissen kalender die alleen dagen, maar geen tijdstippen bevat, zoals een feestdagen kalender gebruiken?

Ja dat kan je, vanaf v1.2.0, heb ik dat getest met https://p24-calendars.icloud.com/holiday/NL_nl.ics .

Hoe kan ik bijdragen aan Simple Google Calendar Outlook Events Widget?

We zijn blij met je hulp! Hier zijn een paar dingen die je kunt doen:

Beoordelingen

Er zijn geen beoordelingen voor deze plugin.

Bijdragers & ontwikkelaars

“Simple Google Calendar Outlook Events Widget” is open source software. De volgende personen hebben bijgedragen aan deze plugin.

Bijdragers

“Simple Google Calendar Outlook Events Widget” is vertaald in 1 taal. Dank voor de vertalers voor hun bijdragen.

Vertaal “Simple Google Calendar Outlook Events Widget” naar jouw taal.

Interesse in ontwikkeling?

Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.

Changelog

  • 1.4.0 parameter samenvattingslengte toegevoegd om de lengte van de omschrijving te beperken tot dit aantal tekens Als reactie op aan commentaar van Justmigrating (@justmigrating).
    Een trim fout opgelost die bij een van de vorige versies was ontstaan. Het hele trimmen opnieuw bekeken zo dat zowel \r\n als \n einde regel tekens correct afgehandeld worden
  • 1.3.1 getest met Outlook en gemerkt dat andere tijdzones een probleem opleverden, opgelost door een conversietabel tussen Microsoft tijdzones en Iana tijdzones toe te passen en door lokale tijdzone (uit WordPress configuratie) te gebruiken wanneer de tijdzone onbekend is.
    Verder gezien, dat dubbele punt beschrijving en samenvatting kon beëindigen. Ook hiervoor een oplossing gevonden, zodat je nu ook een dubbele punt in de beschrijvingen kan gebruiken.
    Getest met Apple iCloud Agenda, tijdzones lijken Iana te zijn. Wel een probleem met url die met webcal protocol begint in plaats van http, of https, work around is vervangen door https:, maar opgelost door dit automatisch te doen als de url niet gevonden wordt.
  • 1.3.0 tijdnotaties van afspraak/evenement tijden configureerbaar gemaakt als reactie op een opmerking van carolynclarkdfw (@carolynclarkdfw) op de pluginpagina. Getest met WordPress 5.7
  • 1.2.2 een checkbox om de cache te wissen voordat hij verlopen is naar aanleiding van een comment van TrojanObelix (op github)
  • 1.2.1 afhandeling: not available DTEND => !isset($e->end) in reactie op een commentaar van lillyberger (@lillyberger) op de plugin pagina, door $e->end default de DTSTART waarde te geven.
    getest met https://p24-calendars.icloud.com/holiday/NL_nl.ics
  • 1.2.0 aanpassing bij gebeurtenissen met DTSTART in DATE formaat in plaats van DATETIME het tijdstip niet te tonen. Na een commentaar van TrojanObelix.
    Ontdekt, dat date_i18n($format, $timestamp) formatteerd volgens de locale, maar de tijdzone niet evalueert daardoor gaan tijdstippen en soms ook datums
    fout , maar de nieuwer functie wp_date() doet het wel, daarom date_i18n() vervangen door bij wp_date() (daardoor is WP 5.3.0 nu verplicht).
    het gebruik van ID’s voor de gebeurtenissen aangepast, zodat ze ook werken met regeleinde is \n in plaats van \r\n na het voorbeeld van TrojanObelix gezien te hebben.
    Getest met WP 5.5.3.
  • 1.1.0 verwerkt EXDATE om gebeurtenissen uit te sluiten van herhaling
  • 1.0.3 trim alleen “\n\r\0” en eerste spatie maar behoudt laatste spatie in Description Summary en Location regels.
    aanpassingen om de tijdzone te corrigeren die wordt genegeerd in new datetime als de $time parameter UNIX timestamp is (bv. @946684800)
  • 1.0.2 Aanpassingen voor meer regels Description, Summary of Location. Getest met WP 5.2.1.
  • 1.0.1 PHP 7.2 Verouderde create_function veranderd in anonymous function in widget_init. Getest met WP 5.0.3
  • 1.0.0 eerste versie in WP plugin directory, directory en start php hernoemd naar slug simple-google-icalendar-widget
  • 0.7.0 BYDAY met DAILY frekwentie getest. Test code verwijderd. Als RC gepresenteerd aan WordPress.
  • 0.6.0 BYDAY en BYMONTHDAY werken met volledige sortering en unificatie in MONTH frekwentie
    toevoegen class achtervoegsel vanuit instellingen.
  • 0.5.0 BYDAY voltooid eerste poging met sorteren getest met WordPress 4.8.3 php 7
  • 0.3.5 verwijderen van niet bestaande dagen zoals 31 november eerste poging met BYDAY
    werkt ook met volledige url van ical .ics bestand.
    hernoemd plugin in simple-google-i-calendar-widget en
    hernoemd referenties naar gcal in ical
  • 0.3.3 eenvoudige herhalende gebeurtenissen (alleen volledige periodes) workt
  • 0.2.0 begonnen te werken aan herhalende gebeurtenissen
  • 0.1.0 Ondersteuning toegevoegd voor begin en eind tijd met tijdzone
    Verandert lay-out van uitvoer ven de widget zo dat hij meer in lijn is met bootstrap 4 en en met het iframe-widget van google
    een aantal kleine veranderingen bv: betere ondersteuning voor gebeurtenissen in een tijdzone en gebeurtenissen die een hele dag duren. Escaped chars vervangen voor samenvatting, beschrijving en locatie. Verbeteringen in HTML uitvoer.
    Start .php file in simple-google-calendar-widget.php hernoemd.
  • 0.0 V0.7 van NBoehr geïmporteerd.