Page MenuHomePhabricator

Implement "Project" section
Open, HighPublic

Description

Figma: https://www.figma.com/file/JcTMFwbEJPpCKBiZ16Jkel/Future-of-the-Wishlist?type=design&node-id=1070-186587&mode=design&t=q7LAvYAtYri5kle8-0

  • User story**

As someone submitting a wish, I should share which project I am referencing, so that my wishes can be easier categorized and grouped for focus area creation.

Acceptance criteria

  • Implement the "Project" section according to the designs
  • Users should be able to click anywhere on a card and select or de-select a project
  • Clicking "All projects" should expand the the accordion and select all projects
    • Deselecting "All projects" should do the inverse
    • Manually selecting each project should tick "All projects", as one would expect.
  • Enabling the dialog "it's something else" should unfurl a text area for users to submit text. A valid response, when this is selected, should have 3+ characters in the text area.
  • A user may select "it's something else _and_ a card

Details

TitleReferenceAuthorSource BranchDest Branch
ProjectSection: simplify project IDsrepos/commtech/wishlist-intake!93musikanimalproject-idsmain
WishStore: fix references to obsolete fields, add other_projectrepos/commtech/wishlist-intake!88musikanimaldb-fixmain
Wish: add helpers to normalize csv <> arrayrepos/commtech/wishlist-intake!84musikanimalarray-csv-normalizationmain
ProjectsSection: replace mediawiki.org with Cloud Servicesrepos/commtech/wishlist-intake!83musikanimalproject-wmcsmain
ProjectSection: add 'Other project' fieldrepos/commtech/wishlist-intake!80musikanimalother-projectsmain
ProjectsSection: auto-check 'Select all', add indeterminate staterepos/commtech/wishlist-intake!68musikanimalprojects-reworkmain
ProjectsSection: rework to use reactive data, Array prop typerepos/commtech/wishlist-intake!63musikanimalprojects-reworkmain
ProjectSection: adjust top 4 projectsrepos/commtech/wishlist-intake!60musikanimaltop-projectsmain
Follow-up: Add "it's something else" fieldrepos/commtech/wishlist-intake!49samtarT362275-followup-2main
Follow-up: Add param to getDatarepos/commtech/wishlist-intake!43samtarT362275-followup-1main
Project section, recreate MR 30repos/commtech/wishlist-intake!42samtarT362275-3main
Draft: Implement "Project" section, againrepos/commtech/wishlist-intake!30samtarT362275-2main
Draft: [WIP]: Implement "Project" sectionrepos/commtech/wishlist-intake!8samtarT362275main
Show related patches Customize query in GitLab

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

nb. using checkboxes instead of cards + checkboxes for drafting up this section

@TheresNoTime it looks like this is in patch for review, can you update the column to be in review or in QA?

If we can get !42 merged, I'll follow-up the outstanding things (the rebases will be easier once this baseline is merged, I hope)

The latest is now on Patch Demo.

@JWheeler-WMF @JSengupta-WMF I think we should rethink the top 4 projects. I suggest Wikipedia, Wikidata, Commons, Wikisource, as these historically are where most wishes come from (along with Wiktionary). MediaWiki.org does not have much for community-specific needs, and folks creating wishes for it may be referring to MediaWiki software in general, in which case they should probably use "All projects". Also note the existence of mediawiki.org as an option may invite wishes exclusively for 3rd party wikis, which would be pretty cool but I'm unsure if that's intentional.

I agree about the projects; I assumed the ones in the designs were examples/placeholders.

@MusikAnimal that's totally fine. I think the current top 4 projects are just indicative by Glauco. We should show the projects under which most of the wishes are received. If the above are top 4, feel free to change the order from design.

TheresNoTime subscribed.

Unlicking — others have worked on this more recently.

(I left this comment on the above MR, but should've made it here.)

I wonder if we want to change the other project keys to drop the leading group-? Not that people should be editing the template directly all that much of course, but after it's marked for translation they will be, and e.g. wiktionary rather than group-wiktionary seems more intuitive.

There also seems to be a bug if whitespace is added in the CSV string, e.g. if you manually set the field to wmcs, group-wiktionary,group-wikisource and then edit in the form, Wiktionary isn't selected and if you select it you end up with wmcs,group-wiktionary, group-wiktionary,group-wikisource.

I wonder if we want to change the other project keys to drop the leading group-? Not that people should be editing the template directly all that much of course, but after it's marked for translation they will be, and e.g. wiktionary rather than group-wiktionary seems more intuitive.

The multilingual wikis use i.e. name-wikifunctionswiki so the string interpolation wouldn't work. We can of course just add a switch statement in the template/module and do as you say. I'll look into it.

There also seems to be a bug if whitespace is added in the CSV string, e.g. if you manually set the field to wmcs, group-wiktionary,group-wikisource and then edit in the form, Wiktionary isn't selected and if you select it you end up with wmcs,group-wiktionary, group-wiktionary,group-wikisource.

Fixed with !84. Thanks for identifying!

The multilingual wikis use i.e. name-wikifunctionswiki so the string interpolation wouldn't work. We can of course just add a switch statement in the template/module and do as you say. I'll look into it.

I'm not sure how much it matters, but if we want to change it after the system is launched it'll be more annoying.

Fixed with !84. Thanks for identifying!

Thanks for fixing it so quickly! I was going to look at it. :)

Am I seeing the correct behaviour here? If I manually add random other project names in |projects=, they don't get removed when editing and saving via the form. Should we be deleting them, as they don't appear in the form?