Page MenuHomePhabricator

Workboards - add new "initialization" flow
ClosedPublic

Authored by btrahan on Aug 5 2014, 6:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Dec 3, 3:49 PM
Unknown Object (File)
Tue, Dec 3, 3:49 PM
Unknown Object (File)
Tue, Dec 3, 3:49 PM
Unknown Object (File)
Tue, Dec 3, 3:49 PM
Unknown Object (File)
Tue, Dec 3, 3:29 PM
Unknown Object (File)
Tue, Dec 3, 3:18 AM
Unknown Object (File)
Tue, Nov 26, 8:06 PM
Unknown Object (File)
Fri, Nov 22, 5:18 PM
Subscribers

Details

Summary

Currently, we just create a default "backlog" column if / when you visit a workboard for the first time. Post this patch, instead you see a blocking dialog that lets you either create the default backlog column or import columns from another project. In the case of the latter, the user gets another dialog which lets them select any project of which they are a member that also has columns in it. Note that only not hidden columns get imported. Fixes T4431.

Test Plan
  • made a new workboard and got my new dialog. made a default backlog and it worked!
  • made a new workboard again and tried the import flow - it also worked.
  • verified projects with no columns do not show up in import dialog
  • verified project with / without columns still all show up in maniphest project typeahead

Diff Detail

Repository
rP Phabricator
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

btrahan retitled this revision from to Workboards - add new "initialization" flow.
btrahan updated this object.
btrahan edited the test plan for this revision. (Show Details)
btrahan added a reviewer: epriestley.
epriestley edited edge metadata.

This looks good functionally. How about these UI adjustments for consistency?

+-------------------------------------------------------+
| New Workboard                                         |
+-------------------------------------------------------+
| This workboard has not been set up yet.               |
|                                                       |
|  (*) New Empty Board                                  |
|      Create a new board with just a backlog column.   |
|                                                       |
|  ( ) Import Columns                                   |
|      Import board columns from another project.       |
|                                                       |
+-------------------------------------------------------+
|                               [ Cancel ] [ Continue ] |
+-------------------------------------------------------+

...and:

+-------------------------------------------------------+
| Import Columns                                        |
+-------------------------------------------------------+
| Choose a project to import columns from:              |
|                                                       |
|   Project: [ this is a typeahead ]                    |
|                                                       |
+-------------------------------------------------------+
|                                 [ Cancel ] [ Import ] |
+-------------------------------------------------------+
src/applications/project/controller/PhabricatorProjectBoardImportController.php
52

Maybe HTTP 400, but this is pretty nitpicky.

58–60

Oh, this is interesting. I like your behavior.

77

You shouldn't need to edit a project to copy its columns -- being able to view it is good enough.

82–109

We should move all of this to a typeahead. You can either copy the PhabricatorProjectDatasource, or (probably more cleanly) do something like:

$datasource = id(new PhabricatorProjectDatasource())
  ->setParameters(array('mustHaveColumns' => true));

Then, in the datasource, use getParameter() to choose whether the results are filtered down to just projects with columns or not.

src/applications/project/controller/PhabricatorProjectBoardViewController.php
447

You can appendParagraph() nowadays to skip needing to build a p tag.

This revision now requires changes to proceed.Aug 5 2014, 6:53 PM
btrahan edited edge metadata.

made the updates as suggested.

the -only- thing I didn't do is add a "Projects:" label before the new typeahead. It seemed unnecessary / the word project appeared a bunch already. Can add if you want though.

btrahan edited edge metadata.
epriestley edited edge metadata.

Looks great to me.

This revision is now accepted and ready to land.Aug 5 2014, 8:19 PM
btrahan updated this revision to Diff 24427.

Closed by commit rP21dca29c5f29 (authored by @btrahan).