Page MenuHomePhabricator

Publish a story
Closed, ResolvedPublic

Assigned To
Authored By
SBisson
Feb 2 2022, 8:02 PM
Referenced Files
F35060528: image.png
Apr 20 2022, 8:38 PM
F35060531: image.png
Apr 20 2022, 8:38 PM
F35051893: image.png
Apr 15 2022, 9:05 AM
F35051898: image.png
Apr 15 2022, 9:05 AM
F35052397: image.png
Apr 15 2022, 9:05 AM
F35052453: image.png
Apr 15 2022, 9:05 AM
F35052395: image.png
Apr 15 2022, 9:05 AM
F35052487: image.png
Apr 15 2022, 9:05 AM

Description

As a story author, I want to publish the wikistory I just wrote so it becomes available to other wiki editors and readers.

Details
  • "Next button" (right arrow) on the story view (top right)
  • Publish screen where the user needs to provide a title.
  • The story title needs to be unique. The user cannot overwrite or edit a story in this flow.
  • No minimum or maximum number of story pages but all pages need to have an image and text. If not, inform the user that they cannot proceed.
  • Save the story using the edit API
  • On error, show the error message from the API and stay in the story builder
  • On success, navigate back to the initial article page and show the newly created story in the viewer. When closing the viewer, the newly created story should be the first one in the stories thumbnails.
  • A new page should have been created in the Story namespace. Its title is the story title provided by the user, but converted to match the requirements for a page name
Design details
Story page with text.png (780×360 px, 273 KB)
Story page missing text.png (780×360 px, 156 KB)
Missing story page.png (780×360 px, 154 KB)
  • Show arrow on top of each story page.
  • Show warning message in case story pages don't have the text available.
  • Show warning message when user taps on next button but only has one story page.

Publish story page.png (780×360 px, 31 KB)
Story missing titile.png (780×360 px, 32 KB)
Story with titile.png (780×360 px, 31 KB)
  • Tap on the arrow would move to publish screen.
  • Story title is a mandatory field and shows an error message in the absence of it.
  • Tap on close icon would close publish page and return back to previous screen.

01 story consumption.png (780×360 px, 489 KB)
02 story consumption.png (780×360 px, 450 KB)
Some stories available.png (780×360 px, 106 KB)
  • After publish, open story viewer to show the recently created story.
  • Show a recently created story icon below the article title.

Design details

Event Timeline

SBisson triaged this task as Medium priority.Feb 3 2022, 5:45 PM
SBisson raised the priority of this task from Medium to High.Feb 10 2022, 7:15 PM

Change 766103 had a related patch set uploaded (by Sbisson; author: Sbisson):

[mediawiki/extensions/Wikistories@master] Publish story

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

Change 766103 merged by jenkins-bot:

[mediawiki/extensions/Wikistories@master] Publish story

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

@SBisson @SGautam_WMF

Here are my observations:

AC1: "Next button" (right arrow) on the story view (top right).
Test Result: There is no "Next button" (right arrow) on the story view (top right). Currently, this is a kebab menu.

Idea: Thinking about it, there is no CTA to transition between story pages. My proposition is that the arrow that currently serves to "Create Wikistory" can scroll from one page to the other and be called "Next Story" as long as it is not on the last page. On the last page, this arrow can have a description "Create Wikistory".

image.png (1×604 px, 1 MB)

AC2: Publish screen where the user needs to provide a title.
Test result:
a. Field validation messages are usually aligned left. The implementation is centre-aligned and should be changed.
b. The implemented field validation colour seems to be dark red. It should be light red, as in the design.
c. The text box in the design is single-line but a multi-line text box was implemented. I agree it would be best as a single line.
Proposal: we should consider introducing a character limit on the story name, so that is it not too long.

image.png (1×604 px, 69 KB)

AC3: The story title needs to be unique. The user cannot overwrite or edit a story in this flow.
Test results:
a. A text change from "Another story with the same title already exist. Please write a unique story title." to "Another story with the same title already exists. Please enter a unique story title."

image.png (1×616 px, 89 KB)

AC4: No minimum or maximum number of story pages but all pages need to have an image and text. If not, inform the user that they cannot proceed.
Test results:
There is actually a minimum number of story pages, which is 2. It would be better if the user is informed to select 2 or more images at the screen below. (The second screenshot is just to show evidence of text validation.)

image.png (1×606 px, 1 MB)
image.png (1×622 px, 693 KB)

AC5: Save the story using the edit API
On error, show the error message from the API and stay in the story builder.
Test Results: Could not test this. Need help with simulating this.

AC6: On success, navigate back to the initial article page and show the newly created story in the viewer. When closing the viewer, the newly created story should be the first one in the stories thumbnails.

Test Results:

  1. The white X close button at the top right of the screen is invisible against a white picture background.
  2. The story pages auto-transition too fast. Is there a way to pause it for the user to read the story before progressing to the next page or letting the user know when it will transition?

Proposal: Using Whatsapp status viewing as an example, there is a "progress bar" for each status view to let the user know when the story will transition. Can we have that here to improve user experience? Or do we just allow the user change to the next page when they want, since the story text may be lengthy?

image.png (1×616 px, 1 MB)
image.png (1×612 px, 157 KB)
image.png (1×614 px, 576 KB)

AC7: A new page should have been created in the Story namespace. Its title is the story title provided by the user, but converted to match the requirements for a page name

Test results: I used this as a story name: {{PAGENAME:abc:def}}. According to the page name requirements, should this not have been parsed to "Coconuts:abc:def"?

@SBisson @SGautam_WMF

Here are my observations:

AC1: "Next button" (right arrow) on the story view (top right).
Test Result: There is no "Next button" (right arrow) on the story view (top right). Currently, this is a kebab menu.

This has changed twice since this task was done. The latest iteration from T305116: Uniform navigation for Wikistories task is the blue top-right button.

Idea: Thinking about it, there is no CTA to transition between story pages. My proposition is that the arrow that currently serves to "Create Wikistory" can scroll from one page to the other and be called "Next Story" as long as it is not on the last page. On the last page, this arrow can have a description "Create Wikistory".

It sounds like what you are describing would be in the story viewer. You would browse all the stories and when you're reached the end, you get aa CTA to create a story. Is that correct?

image.png (1×604 px, 1 MB)

AC2: Publish screen where the user needs to provide a title.
Test result:
a. Field validation messages are usually aligned left. The implementation is centre-aligned and should be changed.

Changed in upcoming patch.

b. The implemented field validation colour seems to be dark red. It should be light red, as in the design.

Changed in upcoming patch.

c. The text box in the design is single-line but a multi-line text box was implemented. I agree it would be best as a single line.

Changed in upcoming patch.

Proposal: we should consider introducing a character limit on the story name, so that is it not too long.

Changed in upcoming patch. I made it 255 to match the spec on page title but realistically these should be fairly short.

image.png (1×604 px, 69 KB)

AC3: The story title needs to be unique. The user cannot overwrite or edit a story in this flow.
Test results:
a. A text change from "Another story with the same title already exist. Please write a unique story title." to "Another story with the same title already exists. Please enter a unique story title."

Changed in upcoming patch.

image.png (1×616 px, 89 KB)

AC4: No minimum or maximum number of story pages but all pages need to have an image and text. If not, inform the user that they cannot proceed.
Test results:
There is actually a minimum number of story pages, which is 2. It would be better if the user is informed to select 2 or more images at the screen below. (The second screenshot is just to show evidence of text validation.)

Yes, we've decided to put a minimum of 2.

Could you file another task for asking the user to select at least 2 images from the search screen?

image.png (1×606 px, 1 MB)
image.png (1×622 px, 693 KB)

AC5: Save the story using the edit API
On error, show the error message from the API and stay in the story builder.
Test Results: Could not test this. Need help with simulating this.

Shutting down your docker box should result in an API error when you hit the publish button.

AC6: On success, navigate back to the initial article page and show the newly created story in the viewer. When closing the viewer, the newly created story should be the first one in the stories thumbnails.

Test Results:

  1. The white X close button at the top right of the screen is invisible against a white picture background.

Indeed, can you file a bug for this?

  1. The story pages auto-transition too fast. Is there a way to pause it for the user to read the story before progressing to the next page or letting the user know when it will transition?

Proposal: Using Whatsapp status viewing as an example, there is a "progress bar" for each status view to let the user know when the story will transition. Can we have that here to improve user experience? Or do we just allow the user change to the next page when they want, since the story text may be lengthy?

We used to have the progress bar. We still have it in the code if I remember correctly. @SGautam_WMF where did we land on the "playing" metaphor and speed?

image.png (1×616 px, 1 MB)
image.png (1×612 px, 157 KB)
image.png (1×614 px, 576 KB)

AC7: A new page should have been created in the Story namespace. Its title is the story title provided by the user, but converted to match the requirements for a page name

Test results: I used this as a story name: {{PAGENAME:abc:def}}. According to the page name requirements, should this not have been parsed to "Coconuts:abc:def"?

{{PAGENME}} is a magic word that is being parsed when inside the page content. We do not attempt to support it in story title. The page name requirements we support are only related to length and allowed characters.

Change 784299 had a related patch set uploaded (by Sbisson; author: Sbisson):

[mediawiki/extensions/Wikistories@master] Publish form post-QA improvements

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

Back in code review with an improvement patch

We used to have the progress bar. We still have it in the code if I remember correctly.

You are right, the progress bar still within the code based, just in case we need it later.

Change 784299 merged by jenkins-bot:

[mediawiki/extensions/Wikistories@master] Publish form post-QA improvements

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

  1. The story pages auto-transition too fast. Is there a way to pause it for the user to read the story before progressing to the next page or letting the user know when it will transition?

Proposal: Using Whatsapp status viewing as an example, there is a "progress bar" for each status view to let the user know when the story will transition. Can we have that here to improve user experience? Or do we just allow the user change to the next page when they want, since the story text may be lengthy?

We used to have the progress bar. We still have it in the code if I remember correctly. @SGautam_WMF where did we land on the "playing" metaphor and speed?

@SBisson we decided to use the progress bar. Shall we address that as part of this ticket or Shall I create a new one?

@SBisson we decided to use the progress bar. Shall we address that as part of this ticket or Shall I create a new one?

Let's make a new one to keep it separate from the publish task.

Testing:

Thank you for the changes.

image.png (728×798 px, 91 KB)
image.png (514×812 px, 63 KB)

I have raised tasks for the other two points: T306563 and T306564