Page MenuHomePhabricator

Implement UX for Updating and Downloading
Closed, ResolvedPublic5 Story Points

Description

When users Update and/or Download metrics, this triggers a sequence of events among various back-end processes and UI elements. This ticket describes the functionality and behavior of the UI elements that control and reflect the status of the back-end processes.

The UI elements under discussion

This ticket defines the management of five simple UI elements, all located at the upper-right of the Edit Summary and Edit List pages:

  • the Download Reports Button/Menu (defined in T206576)
  • the Animated 'Working' Indicator (also T206576)
  • the Update button
  • the On-Page Message/Timestamp
  • the View Edit List button (Edit Summary page only)
The Animated 'Working' Indicator, Download Button and On-Page Message (in the "Updating" state)

The two states of the Update/Download UX

For the purpose of describing this system, it's useful to think of it as having two possible states: Available and Updating.

'Available' state

In this state, Update and Download are available. This is the default state.

  • Update button is available; clicking will initiate update.
  • The working indicator is not visible; no work is progressing.
  • On-page message: shows the timestamp in the following format "Last updated 2018-10-29 18:49 (Africa/Accra)" [this is the existing format]
  • Download menu: is available.
  • View Edit List button is available/clickable
'Updating' state

When the user initiates update by clicking the Update button, the Update state commences.

  • The 'Working" indicator appears and animates, (as per T206576)
  • Update button: is unavailable (it's actually replaced by the indicator)
  • On-page message: Please wait, currently crunching the numbers.... [Note: this is the existing message]
  • Download menu: is available.
  • View Edit List button is unavailable

After Update completes

This is the sequence of events that occurs after Updating is complete:

  • The page refreshes and onscreen metrics update to show new values.
  • The On-Page Message shows a new timestamp corresponding to the completion time of the Update.
  • The Update button and View Edit List button return to their available states.

Downloading files

When the user selects a report from the Download menu, the behavior is as follows:

  • Popup format selector appears: to allow the user to choose between csv or wikitext (as defined in T206576.)
  • 'Get Wikitext': pops open a new tab that presents the a page of wikitext.
  • 'Download CSV' commences download of the comma-delimited file.

If the user chooses to download while Update is in progress:

  • The message in the Popup Format Selector will say "Please wait, currently crunching the numbers". If the user move forward and select a format anyway...
  • The download will proceed
  • The data downloaded will be from the prior update, not the one in progress.
  • The "Last updated" notation in the downloaded report will show the time of the prior update.

Related Objects

Event Timeline

jmatazzoni triaged this task as Normal priority.
jmatazzoni updated the task description. (Show Details)Jan 10 2019, 7:38 PM
jmatazzoni renamed this task from Implement UX for the Update, Fetch and Download processes to Implement processes and UX for Updating, Fetching and Downloading.Jan 10 2019, 8:35 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Jan 10 2019, 10:00 PM
jmatazzoni updated the task description. (Show Details)Jan 10 2019, 11:16 PM
jmatazzoni updated the task description. (Show Details)Jan 10 2019, 11:20 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni renamed this task from Implement processes and UX for Updating, Fetching and Downloading to Implement UX for Updating, Fetching and Downloading.Jan 11 2019, 2:11 AM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Jan 11 2019, 2:15 AM
jmatazzoni updated the task description. (Show Details)Jan 11 2019, 6:18 PM
jmatazzoni updated the task description. (Show Details)Jan 11 2019, 11:40 PM
jmatazzoni updated the task description. (Show Details)Jan 12 2019, 12:44 AM
jmatazzoni updated the task description. (Show Details)Jan 12 2019, 2:14 AM
jmatazzoni updated the task description. (Show Details)

I'm sending this ticket back for re-estimation. I've completely rewritten the ticket, simplifying the UX somewhat but mostly clarifying how things really work, based on the new understanding I've documented in T213136. (It was a 3, FWIW.)

jmatazzoni updated the task description. (Show Details)Jan 14 2019, 5:59 PM
jmatazzoni updated the task description. (Show Details)Jan 14 2019, 6:01 PM
jmatazzoni updated the task description. (Show Details)Jan 14 2019, 6:46 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Jan 14 2019, 7:29 PM
jmatazzoni removed the point value for this task.
jmatazzoni updated the task description. (Show Details)Jan 15 2019, 6:02 PM
jmatazzoni updated the task description. (Show Details)Jan 15 2019, 6:36 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Jan 15 2019, 6:41 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni moved this task from Backlog to Triaged on the Event Metrics board.Jan 15 2019, 11:48 PM
jmatazzoni updated the task description. (Show Details)Feb 13 2019, 12:06 AM
jmatazzoni set the point value for this task to 5.Feb 13 2019, 12:27 AM
jmatazzoni moved this task from Triaged to Holding on the Event Metrics board.Feb 14 2019, 11:52 PM
Samwilson moved this task from Ready to In Development on the Community-Tech-Sprint board.
Samwilson removed Samwilson as the assignee of this task.Mar 8 2019, 4:02 AM
Samwilson moved this task from In Development to Ready on the Community-Tech-Sprint board.
Samwilson added a subscriber: Samwilson.

Oops, I meant to pick up T206576, the dependency of this.

Samwilson moved this task from Ready to Needs Review/Feedback on the Community-Tech-Sprint board.

I think the last little part of this is https://github.com/wikimedia/eventmetrics/pull/226

This is all done now. I'll leave this ticket in QA instead of its child T206576.

jmatazzoni updated the task description. (Show Details)Mar 16 2019, 12:12 AM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Mar 16 2019, 12:23 AM
jmatazzoni added a subscriber: dom_walden.

@dom_walden, in the interest of cutting scope, we've simplified this process. I've updated the Description above to reflect that simplified process.

jmatazzoni renamed this task from Implement UX for Updating, Fetching and Downloading to Implement UX for Updating and Downloading.Mar 16 2019, 12:25 AM
jmatazzoni closed this task as Resolved.Wed, Mar 27, 5:39 PM

The only thing I see that varies from this spec is that there's a pre-existing state of the Update button that I wasn't aware of: the "Calculate totals" state, which appears before the first cacluclation. I'll deal with that in a different ticket. Closing this.