Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-67943

Update windows timezone list in core_date

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide
      1. Go to the calendar - This can be accessed from the dashboard.
      2. Click the "manage subscriptions" button.
      3. Give the calendar a name and set "import from" to "Calendar file (.ics)
      4. Choose the attached file to upload.
      5. Click Add.
      6. The file should import with no errors.
      7. Click back on the calendar. We want to navigate back to January 2020
        • Ensure that there are multiple events imported.
      Show
      Go to the calendar - This can be accessed from the dashboard. Click the "manage subscriptions" button. Give the calendar a name and set "import from" to "Calendar file (.ics) Choose the attached file to upload. Click Add. The file should import with no errors. Click back on the calendar. We want to navigate back to January 2020 Ensure that there are multiple events imported.
    • Affected Branches:
      MOODLE_310_STABLE, MOODLE_39_STABLE
    • Fixed Branches:
      MOODLE_310_STABLE
    • Pull Master Branch:
      MDL-67943-master-1
    • Story Points:
      3
    • Sprint:
      4.0 holding pattern 3, 4.0 holding pattern 4

      Description

      GENERAL NOTE: If the supported PHP versions were shipped with an older IANA timezone database version at some point, please use the timezone list from the older tz database version. For example, assuming the current supported PHP versions are 7.2, 7.3 and 7.4, and the current tz databse version is 2020a. As the tz databse version 2020a was released on 23/04/2020, at some point 7.2, 7.3 and 7.4 (prior to 7.4.6) were shipped with the older tz database version. These sites will not have (support) the latest timezone changes from 2020a (timezone renaming, deprecation, etc.) and therefore, we should not use or map them in $badzones or deprecate the old timezone strings.

      INSTRUCTIONS

      PART 1. Ensure that each windows timezone (https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values) exist in $badzones (lib/classes/date.php) and have a mapping to current good (canonical) IANA timezone from the IANA timezone information database (https://data.iana.org/time-zones/). Please see GENERAL NOTE to determine which timezone database version should be used.

      Also, ensure that all good IANA timezones have translations.

      Resources that could help finding the equivalence between the Windows and the IANA timezones:

      PART 2. Ensure that old IANA timezones are not being used as target in the mapping in $badzones (lib/classes/date.php). Every old IANA timezone used should be replaced with the good (canonical) IANA timezone. Please see GENERAL NOTE to determine which timezone database version should be used to find the old timezones.

      Resources that could help finding the IANA timezone changes:

      PART 3: Ensure that there is a mapping between every old timezone and new timezone name in $badzones (lib/classes/date.php). Please see GENERAL NOTE to determine which timezone database version should be used to find the old timezones.

      Additional resources that could help finding the IANA timezone name changes:

      According to https://en.wikipedia.org/wiki/List_of_tz_database_time_zones the old timezone names are either deprecated or they are considered to be an alias to the good (canonical) timezone name.

      For a clearer distinction, add the mappings for the deprecated timezones under the "A lot more bad legacy (deprecated) time zones." section in $badzones (lib/classes/date.php), while the aliases under "Link old timezone names with their new names."

      NOTE: The general purpose of PART 3 is to provide automatic timezone name changes, so when a calendar event or a user comes with Asia/Calcutta, the event or user is changed to Asia/Kolkata (or whatever is the new timezone name is). Also, in the future this can be expanded (in followups) for user edit and user upload.

      PART 4: Deprecate and remove the existing translations (lang/en/timezones.php) of the old IANA timezones. Please see GENERAL NOTE to determine which timezone translations are safe to be deprecated and removed.

      ------------------------

       For the testing instructions you can manually edit the .ics file from the cloned issue:

      1. Open the .ics file using a text editor.
      2. Replace the timezone ID there (i.e. "U.S. Mountain Standard Time") to one of the new ones added.
      3. Replace the time entries (i.e. "202001" (2020 is the year and 01 the month) to a more recent date).

      ------------------------

      Please create a clone of this issue for next version before closing this

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Geshoski Mihail Geshoski
              Reporter:
              sarjona Sara Arjona (@sarjona)
              Peer reviewer:
              Peter Dias
              Integrator:
              Andrew Nicols
              Tester:
              Anna Carissa Sadia
              Participants:
              Component watchers:
              Andrew Nicols, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze, Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Sara Arjona (@sarjona)
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                9/Nov/20

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 day, 3 hours, 20 minutes
                  1d 3h 20m