Page MenuHomePhabricator

Revamp Profile with new IconNav
ClosedPublic

Authored by chad on Jan 29 2015, 3:12 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Sep 5, 2:09 PM
Unknown Object (File)
Mon, Sep 2, 4:24 PM
Unknown Object (File)
Sun, Sep 1, 6:08 AM
Unknown Object (File)
Thu, Aug 29, 3:15 PM
Unknown Object (File)
Thu, Aug 29, 1:37 PM
Unknown Object (File)
Thu, Aug 29, 6:18 AM
Unknown Object (File)
Fri, Aug 23, 11:59 PM
Unknown Object (File)
Mon, Aug 19, 11:07 PM
Subscribers
Tokens
"Doubloon" token, awarded by btrahan.

Details

Reviewers
epriestley
btrahan
Commits
Restricted Diffusion Commit
rP8f1e0c026294: Revamp Profile with new IconNav
Summary

Revamps Profile to be like Projects, a mini portal and side nav with icons.

Test Plan

Viewed my own profile, as well as others. Test seeing my commits, tasks, diffs, and upcoming events. Checked mobile navigation.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

chad retitled this revision from to Revamp Profile with new IconNav.
chad updated this object.
chad edited the test plan for this revision. (Show Details)
chad added reviewers: epriestley, btrahan.
epriestley edited edge metadata.

This feels a little disconnected but I think it's a step forward toward a world where we have more cohesive profile page.

The one issue I caught that we can't have a /people/<username>/ route. It will break when users have usernames which conflict with another existing route. You can either use /p/<username>/ (likely easiest) or you can do /people/profile/<username>/, but not /people/<username>/.

src/applications/people/application/PhabricatorPeopleApplication.php
69–70

This will break for users named feed, calendar, picture, etc.

This revision now requires changes to proceed.Jan 29 2015, 10:52 PM

I'm fine with building actual pages for commits, tasks, etc, like we did for Calendar. Is that part of your disconnect? Those pages then could link to a full query.

Yeah, big thing is just that Calendar is in-app and the other stuff is out-of-app, and then there's that "Send Message" button. Just feels bolted-on-ish.

For now, I don't think it's worth fixing. We can provide some more general way for applications to generate these panels in the future and clean things up then (i.e., the code for Calendar stuff shouldn't really live in the People application).

chad edited edge metadata.
  • Move People Portal to /p/
epriestley edited edge metadata.

While this technically works, I don't think it's a good/consistent way to structure the URIs. Particularly, this URI:

/p/feed/calendar/

...matches both of these rules:

'/p/(?P<username>[\w._-]+)/calendar/'
'/p/feed/(?P<username>[\w._-]+)/'

That is, in /p/feed/calendar/, it's ambiguous which of "feed" and "calendar" is the username, so for users "Christoph Alendar" and "Fred Emmot Ed", with usernames "calendar" or "feed", some of these URIs are ambiguous.

Although that doesn't cause an issue in practice, I think we should structure the URIs so that there's no ambiguity.

You can use these URIs/rules to do that:

 URI: /p/<username>/calendar/
Rule: '/p/(?P<username>[\w._-]+)/calendar/'

 URI: /p/<username>/feed/
Rule: '/p/(?P<username>[\w._-]+)/feed/'

The first rule already exists, so you'd just need to add the second rule, then make sure all the links start with /p/<username>/ instead of /p/<page>/.

This revision now requires changes to proceed.Feb 2 2015, 2:13 PM
chad edited edge metadata.
  • Fix paths
epriestley edited edge metadata.
This revision is now accepted and ready to land.Feb 2 2015, 8:02 PM
This revision was automatically updated to reflect the committed changes.