Making Phabricator More Public-Friendly

Tim Flink tflink at redhat.com
Thu Jan 23 07:18:35 UTC 2014


After a conversation with Kamil earlier today, I started looking into
making our phabricator instance a bit more public friendly.

Blender's instance is a good example of what I'd like to see ours do in
terms of sidebar configuration and public landing page:

https://developer.blender.org/

The awesome part is that the blender folks keep their modifications in
a public repo as a branch of the upstream phabricator code, so figuring
out how they got it to work is possible :)

I was able to get the root uri display a similar page as what a logged
in user can see:

https://phab.qadevel-stg.cloud.fedoraproject.org/

It does require hacking on the code and as near as I can tell, the
changes can't be done as an extension. The changes are pretty sane,
though so I'll start a conversation with upstream on whether they'd be
interested in a patch.

Changing the sidebar layout, however, is a different story. The
placement logic uses metadata in the code to determine where the icons
are placed and how big they are. This is great from a dev point of view
because you don't need any crazy logic for layout or need to update it
all the time. Not so much if you want to change the default layout,
though.

If we want to change the default layout, I see 3 options:

1. maintain an out-of-band patch that either changes the application
   metadata so that the display works how we want or change the display
   logic so that it works differently.

    This is how the blender instance is set up - they changed the
    metadata in applications so that they would be rendered differently
    from the defaults. Not the prettiest thing ever but reasonably
    maintainable and effective. I suspect this would cause problems
    with any custom layouts that folks set, though.


2. hack a hard-coded default into the display logic, overriding the
   current logic-based defaults.

    This should allow for users to customize the sidebar as they want
    while not being a terrible hack. It would require more work and a
    decent understanding of the codebase, though. I also suspect that
    maintenance would be a bit more difficult.


3. Work with upstream (if they're interested) on a way to set a default
   layout for the sidebar.

    This would be quite a bit of work, assuming that upstream would
    even be interested in the functionality. It would be most likely to
    not cause maintenance headaches in the future, though.

    
If we're going to change the sidebar layout, I'm of the opinion that
option 1 is the best for us, for now. We're already on a tight deadline
and I don't want to spend too much more time hacking on support tools
right now. FAS auth integration is already going to take some work, so
there's that task for the near future as well but phabricator already
has persona auth support and I'm not expecting that task to be terrible.

Thoughts?

Tim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/qa-devel/attachments/20140123/bc665108/attachment-0001.sig>


More information about the qa-devel mailing list