Loomio
Wed 2 May 2018 8:53AM

Calendar

BW Bob W Public Seen by 287

Let’s talk about what is wanted in a calendar for posting events

BW

Bob W Wed 2 May 2018 9:07AM

There is a request to add to the side a calendar for showing NVC-O events. The request was framed as “embed this Google calendar”. But is that what we want? I know some prefer to avoid Google stuff. Is there a compelling reason to go with a Google calendar? Note that from a WordPress perspective, we have a number of options. There are a couple of plugins for embedding Google calendars. There are also event plugins that can be used on their own, or can import events from a Google calendar (but probably not post to the Google calendar?) So, questions up for comment include:

  • is there an important reason to use the Google calendar?
  • if so, is it important to be able to post to the calendar from the website?
  • Does anyone have experience with particular calendar plugins for WordPress?

In the absence of opinions I’ll just pick something for which I can get time zones to work correctly.

Bob

D

Dieudonné Wed 2 May 2018 10:09AM

Thank you Bob for taking into account those for who free-libre software solutions are important ; )
About Calendars, I recently used this one to announce Dominic Barter coming in Bordeaux (and it worked !) :
* https://demosphere.eu/en/content/software

I found it useful.

Other possible tracks :
* https://degooglisons-internet.org/alternative#gagenda

Framagenda
Nextcloud
ZK Calendar
Baïkal
Webcalendar

BW

Bob W Thu 3 May 2018 6:59PM

An update on the timezone-and-calendar situation... the short version is that I have a solution for now, which you can check out here (though the URL could change). You should see an embedded Google Calendar which automatically displays events in your own timezone.

This is a simple embedded version of the CNVC/NVC-O Google Calendar. (Dieudonné, apologies for failing to de-Googlify as yet.) I ended up following the philosophy of "Do the simplest thing that might work." The other options seemed to involve more challenge than I had the time and energy to address right now. I imagine we can revisit this solution sometime later, after other urgent needs are addressed.

Read on only if you care about technical details...

Unfortunately, WordPress made what I assess to be some poor architectural choices in designing how it manages time zones. With different architectural choices, it could have been oh-so-easy to have times reliably show up in ways that you could know and choose what the time zone is. However, the existing architecture seems to leave one with 4 choices for addressing user-specific time zones, none of which are entirely satisfying. For those who care about the technical level, it's something like this:

  1. One can change the PHP-level default timezone. Several plugins (a client timezone plugin, and a calendar plugin) seem to do this. But, it's explicitly against the rules for how Wordpress code is supposed to be written. So, under certain circumstances, doing this is mess up times related to code based on an expectation that the rules will be followed.
  2. One can effectively make the WordPress-level timeszone vary by user. However, this affects not just the times that are displayed, but also the times that are stored, and seems likely to result in situations where nobody knows what the displayed times actually mean.
  3. There is a solution that applies only to the times associated with blog posts. I haven't yet figured out whether there are any problems with this approach, beyond it being limited to blog post times.
  4. Beyond that, there is the option of doing custom coding/hacking in whatever themes and/or plugins you are using that display times. This could provide the best results. But, it's potentially a maintenance nightmare.

The solution I've applied at present is basically #4, though I've only hacked one plugin (and that would have needed to be done for most of the strategies).

So, that's where things stand.

Bob

D

Dieudonné Thu 3 May 2018 8:36PM

Thank you Bob for having tried to keep it "libre" ; )
And I do appreciate the "as yet" at the end of your sentence : )