Page MenuHomePhabricator

Make it easier to discover application policy configuration
Open, Needs TriagePublic

Description

Currently, if a non-Admin user tries to create a repo in Diffusion they get a permission error. Looks like it's restricted to Admins. We'd like any user in the shopify.phacility.com instance to be able to create a repo. Maybe there's a setting, but I can't find it... Hopefully this is just some config file that y'all have access to.

Thanks!

Event Timeline

oliver.fisher updated the task description. (Show Details)
oliver.fisher added a subscriber: oliver.fisher.

You should be able to configure this in:

  • ApplicationsDiffusion Help/Options (little gear icon on the right hand side)Edit PoliciesCan Create Repositories

My guess is the second step might have been hard to find? I have difficulty there, at least -- @chad, do you have any thoughts on this UI?

Personally, I want to configure applications about 98% of the time I end up on this screen and clicking the application name instead of the little gear icon is probably the most frequent mistake I make with the entire UI across all applications. This was very slightly better before when the applications were in a weird tile layout since there was less whitespace, but still quite bad, and the tile layout was weird.

Some thoughts:

  • We could link the application name to the config page (instead of to the application home page) with a prominent "Use Application" button on the config page, but this might make the UI much worse for non-administrators. Specifically, if you aren't an administrator you certainly want to configure applications 0% of the time you end up on this screen (although it's possible you might want to review configuration or permissions).
  • We could increase the prominence of the "Help/Options" icon, although I don't think there's anything quick/easy we could with, e.g., color or size without making changes to the underlying PHUI element.
  • We could un-link application names and make "Use Application" an icon, forcing the user to make an explicit choice between "Use" and "Configure". This would implicitly double the size of the "actions" area. This is a sort of "worse is better" approach but maybe not really so bad?
  • We could probably rename it to "Configure" or "Settings"? The label I picked is really weird, but I think only a few applications had anything configurable at the time. Not all do yet, but most have some options. I think I also imagined this screen as a general "learn about the application" screen for non-admins, but this partially came out of the older-nav era where we got a lot of complaints about application names, and only one or two applications actually have detailed text available and this doesn't seem to be a major concern from users.
  • We could put a link to configure the current application in the global menu, although we'd pretty much have to put it in "Help" right now. That feels a little weird, but maybe not too bad? Maybe we just reframe that as a sort of "Application" menu instead of strictly a "Help" menu?
  • For application policies, we can tell you how to change them when you hit the policy error. This may not be hugely helpful since the administrator (who can actually change the policies) can't see the error directly (since the button/action/whatever just works for them, generally). See also T9335 for related tailoring of this dialog.

Ah ha! Yes, I totally missed those little gear off to the right. Thanks very much!

epriestley renamed this task from Allow non-Admins to create repositories in Diffusion to Make it easier to discover application policy configuration.Sep 4 2015, 1:53 PM
epriestley edited projects, added Applications, Policy; removed Phacility Support.
chad added a comment.Sep 4 2015, 1:55 PM

I've been thinking about this for a while since the redesign, I'll toss a diff together today.

One other thing we might want to consider is making "Prototype" more prominent, just in the hope of reducing upstream support burden a little. We could link it to the "Prototype" docs too, perhaps.

There is a link on the config page, but it's just buried in the properties; we could reasonably call that out in a colored banner or something maybe.

(I don't think this stuff is too important and once Nuance comes online we can put an "Application: (Differential V)" dropdown on the form or whatever and if you pick any of the prototype apps we can set expectations again, which might reduce this stuff a bit.)

I also wonder if we should just make prototype applications more obviously broken? For example, if the page background was just this tiling infinitely:

...it would be much more clear that you were treading on thin ice by using the application.

(The actual support burden here is pretty small but I think it feels disproportionately burdensome to get requests which should be getting handled by the documentation.)

chad added a comment.Sep 4 2015, 2:07 PM

Do you know why Applications application doesn't show in search?

Yes, but it's real dumb:

The "Applications" application isn't marked as isLaunchable(), even though it is launchable in the traditional sense (i.e., it has some reasonable home page, like Maniphest, and isn't a pure infrastructure application like the "Policy" application). The reason it isn't marked as isLaunchable() is that when it was, it showed up at the top of the "Launcher" view of /applications/ (since it has an alphabetically-early name) and the link just took you to the same page which felt weird, and no one would ever go to Applications in order to go to Applications anyway since it's pointless. So I "fixed" that by marking it not-launchable.

As a side effect, isLaunchable() also controls whether the application appears in the typeahead, so this unintentionally removed it from the typeahead.

I'm not sure what the best behavior is for this. It should pretty definitely show up in the typeahead. I'm not sure if it should be launchable or not. If it was named "Zpplications" it would probably be fine, but it felt real weird that the first link was a no-op link to the current page (although "Almanac" is now the first link).

I could imagine this, purely motivated by flavor:

+-------------------------------------------------------------------------------------+
| You just clicked the link to go to the Applications application,                    |
| but you're already in the Applications application! This link                       |
| won't do anything interesting.                                                      |
|                                                                                     |
|      [ Stay in the Applications Application] [ Go to the Applications Application ] |
+-------------------------------------------------------------------------------------+

I find those buttons hilarious but am hesitant to make fun of the user like this in places that are NUX-ey.

(The dialog might also be inaccurate if the link was actually on a dashboard panel.)

It also seems strange to have some application config in Config and some in Applications

It's been moving out of Config and into Applications gradually and I want to have ~all of it in Applications eventually, a lot of it just predates Applications.

yurotet renamed this task from Make it easier to discover application policy configuration to dagjalskdfj====.Dec 10 2015, 10:50 AM
yurotet added a subscriber: yurotet.
yurotet updated the task description. (Show Details)Dec 10 2015, 10:55 AM
johnny-bit renamed this task from dagjalskdfj==== to Make it easier to discover application policy configuration.Dec 10 2015, 11:05 AM
johnny-bit updated the task description. (Show Details)
johnny-bit edited subscribers, added: johnny-bit; removed: yurotet.