Upgrading: Changes to Default Homepage
Closed, ResolvedPublic

Description

We've made some minor changes to Phabricator's default homepage, and removed these configuration options:

  • maniphest.priorities.unbreak-now
  • maniphest.priorities.needs-triage
  • welcome.html

This is a small step toward improving the new user experience (NUX) when someone uses Phabricator for the first time, which can be overwhelming and confusing today, especially if you haven't used Phabricator before. You can look at T11132 or M1467 for some more context and discussion of our plans here.

Slightly New Layout

The panels on the default home page have changed slightly. In particular, we now show repositories and no longer have separate panels for high priority or untriaged tasks. In most cases, this should make the home page align with new user expectations a bit better, and it gives us some room to begin making headway on NUX (see T11132).

If you currently use a dashboard as your home page, this change won't affect you. If you don't, see the next section if you want to set one up.

Using Dashboards

If you want to customize the home page layout (to make it a little more similar to the old layout, or provide one that works better for your organization) you can use the Dashboards application to build a Dashboard, then install it on the home page for all users. When you do, it will replace the default homepage layout. For example, this install uses a dashboard to provide a "Welcome" panel with explanatory text and some other panels that are relevant for this install.

Individual users can also create dashboards and install them as personal home page dashboards.

Creating and editing dashboards can be a little tricky and has some rough edges, but they work well once they're set up. In particular, if you want to build a custom Query panel, follow these steps:

  • Run the query you want in the relevant application (like Maniphest).
  • Save it, giving it a name.
  • Go create a QueryPanel in Dashboards, selecting the query you just saved.
  • Optionally, delete the saved query.

In the future, we'll make some of these UI issues easier to navigate as we continue to improve NUX.

Removed Config

The only behavior of the first two options (maniphest.priorities.unbreak-now, maniphest.priorities.needs-triage) was to to control which tasks appeared in the "Unbreak Now" and "Need Triage" panels on the home page. We've replaced these panels with a list of assigned tasks (for logged-in users) or recent tasks (for logged-out users on public installs). These options did not affect Maniphest itself, and were just transitional options to ease migrations when priorities became customizable. Since they no longer have an effect, they've been removed.

welcome.html is an ancient option which allowed you to put arbitrary HTML on the home page. In modern Phabricator, Dashboards with text panels generally provide a much easier, safer, and more flexible way to accomplish the goals that welcome.html aimed to accomplish, like welcoming new users to an install.

If you absolutely rely on this option, you can fork Phabricator locally with a patch like this until you're able to move away from it:

diff --git a/src/applications/home/controller/PhabricatorHomeMainController.php b/src/applications/home/controller/PhabricatorHomeMainController.php
index 592478c..4e19a99 100644
--- a/src/applications/home/controller/PhabricatorHomeMainController.php
+++ b/src/applications/home/controller/PhabricatorHomeMainController.php
@@ -34,6 +34,11 @@ final class PhabricatorHomeMainController extends PhabricatorHomeController {
       $content = $this->buildMainResponse();
     }
 
+    $content = array(
+      phutil_safe_html('<h1>Arbitrary HTML</h1>'),
+      $content,
+    );
+
     if (!$request->getURIData('only')) {
       $nav = $this->buildNav();
       $nav->appendChild(
epriestley updated the task description. (Show Details)Aug 27 2016, 12:17 AM
epriestley added projects: Dashboards, NUX.
chad awarded a token.Aug 27 2016, 12:24 AM

I think this change broke dashboard editing slightly. Now when adding a panel to a dashboard column, the same panel gets added twice, once for each column. Removing either of the dupes removes both.

chad added a subscriber: chad.EditedSep 7 2016, 11:39 PM

This change didn't touch Dashboards. I think you want T10612 or maybe T10145?

chad added a comment.Sep 7 2016, 11:40 PM

Or if it isn't, please file a bug report.

epriestley closed this task as Resolved.Oct 20 2016, 5:07 PM

This has been live for about two months without any substantive issues arising.