Page MenuHomePhabricator

Create system to track event data
Open, Needs TriagePublic

Description

Beforehand:

  • Dates (from/to)
  • Title
  • Description
  • Location
  • Access info, safety, etc.

After:

  • Attendance count
  • Organiser (WMAU / wikiclub (which one) / partner / other)
  • Cost to WMAU
  • Which section of the Annual Plan it comes under

Details

Related Gerrit Patches:
mediawiki/extensions/PageForms : masterAdd new 'datetimewidget' field type

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJul 14 2018, 9:21 AM

After we finish the move to Miraheze, we can use MediaWiki-extensions-Cargo for making an event calendar.

I've started setting up the event template: https://wikimedia.org.au/wiki/Template:Event

It doesn't track everything we want yet, but the basic architecture of one-page-per-event is working, and now we've got Cargo (even though we're not on Miraheze) we've got working automatic event lists on the main page and a calendar at https://wikimedia.org.au/wiki/Calendar

The next step is to add a data entry form using PageForms, maintly to avoid the confusion around entering dates and times in UTC.

There will seems to be issues with the timezone and UTC fields. Surely UTC is determined by timezone, state and date and is not independent. At the moment, there is no error message in relation to UTC but the event does not display and gives error messages when trying to display the time (which don't explain what the problem is).

Also it is unclear that if an event is created while in one daylight saving mode to take place in a different daylight saving mode, does it display *consistently* as the local time both immediately and at the time of the event. The danger is that if it does not, anyone who visits our website during a different daylight savind mode and copies the text of an event into their diary will be out by an hour.

How do you duplicate an event but with a different date? I have a number of monthly events to set up. It doesn't seem possible to use the same name (QWiki Club), despite being on different dates because of the way the event page is named. If I just copy and edit the copied event page, then there appears to be no way to set the display name to be different to the new event page name. It's OK if they are differently named event pages, but the display name on Future/Past events should be the same.

There are many ways to have different names, "QWiki club - 26 Feb 19", for the generic non topic specific events, "QWiki club - Andy visit" for guest speaker events, "QWiki club- Cyclones" for topic specific events. Alternative though less helpful for retrieval over time 'Qwiki club - meetup 99".

There will seems to be issues with the timezone and UTC fields. Surely UTC is determined by timezone, state and date and is not independent. At the moment, there is no error message in relation to UTC but the event does not display and gives error messages when trying to display the time (which don't explain what the problem is).

UTC is a timezone. But you're right, for a given place and time, it's possible to determine the timezone. The trouble is that the 'state' (now 'region') field is not actually identifying a particular place (i.e. it's also 'international' or 'national'). Hence the slightly unintuitive workaround of asking the event to say what timezone it wants to be displayed as being in.

Also it is unclear that if an event is created while in one daylight saving mode to take place in a different daylight saving mode, does it display *consistently* as the local time both immediately and at the time of the event. The danger is that if it does not, anyone who visits our website during a different daylight savind mode and copies the text of an event into their diary will be out by an hour.

This is basically what makes it tricky to get the template to calculate the timezone: we'd also have to know the dates for DST switchover etc. So it's easier to just define it explicitly. This way, there's no danger of anything being off by an hour. To answer your question: the time displayed for an event will never change (unless the time or timezone of the event changes, of course; but it won't do it based on the timezone of the user viewing the event).

In summary, I think there's a couple of issues here:

  1. The page name: I agree with Gideon that having unique names for each event is useful. It's also a pretty fundamental part of the software, so we can't really get away from it (with the one page per event layout, anyway).
  2. The timezone data-entry: I totally agree that this is currently pretty clunky and unclear. The reason for the two fields is that we need to be able to a) enter the event time (in a given TZ), and then b) display it in (possibly) a different one. The frustration comes when these two are the same TZ, when of course its redundant info. I think the solution is to automatically update the 'display timezone' field when the TZ in the date fields change, but that's not immediately simple. I will have a crack at fixing it up this week though.

I am creating an event for South Australia for 10am start 1pm finish and it is displaying as 11.30pm to 2.30am! Why is this? Daylight saving related? Or because I am in Berlin timezone???

start_date=2019/05/18 10:00:00 AM ACST
end_date=2019/05/18 01:00:00 PM ACST
timezone=9.5

@Pru.mitchell: Please file separate problems as separate task with good steps to reproduce. See https://www.mediawiki.org/wiki/How_to_report_a_bug - thanks!

(Ah, sorry! Maybe this is actually on-topic. I didn't realize that this task is about Wikimedia Australia.)

Samwilson added a comment.EditedApr 5 2019, 1:19 AM

This appears to be an error in the timezone list on our web server, specifically with ACST. :-(

This is a snippet of that timezone:

[acst] => Array
    (
        [0] => Array
            (
                [dst] => 1
                [offset] => -14400
                [timezone_id] => America/Porto_Acre
            )

        [1] => Array
            (
                [dst] => 
                [offset] => 34200
                [timezone_id] => Australia/Adelaide
            )

        [2] => Array
            (
                [dst] => 1
                [offset] => -14400
                [timezone_id] => America/Eirunepe
            )

        [3] => Array
            (
                [dst] => 1
                [offset] => -14400
                [timezone_id] => America/Rio_Branco
            )

        [4] => Array
            (
                [dst] => 1
                [offset] => -14400
                [timezone_id] => Brazil/Acre
            )

        [5] => Array
            (
                [dst] => 
                [offset] => 34200
                [timezone_id] => Asia/Jayapura
            )

        [6] => Array
            (
                [dst] => 
                [offset] => 34200
                [timezone_id] => Australia/Broken_Hill
            )

So it seems to be incorrectly using the first of these.

A temporary fix is to use +0930 instead of the timezone abbreviation. I've made that change to the event above.

Change 511815 had a related patch set uploaded (by Samwilson; owner: Samwilson):
[mediawiki/extensions/PageForms@master] Add new 'datetimewidget' field type

https://gerrit.wikimedia.org/r/511815

The current status of this is that we're going to migrate to using Space for events, and syndicate them back to the WMAU wiki.