Page MenuHomePhabricator

High level overview of Phabricator projects
Closed, DeclinedPublic

Description

Is this something that we want to have before the launch, right after the launch, or whenever it is ready?

On Wed, Oct 22, 2014 at 8:02 AM, David Cuenca wrote:

Tagging is just a poor man's
version of classing, since it doesn't let you define the relationship
between tags. True that you can put any task in several projects/tags, the
problem is that the project structure is nevertheless flat:
https://phabricator.wikimedia.org/project/query/all/
Which will become cumbersome to navigate for occasional visitors as the
number of projects goes up.

Sure, but after years of Bugzilla we have also seen that the rigid tree structure of https://bugzilla.wikimedia.org/describecomponents.cgi causes many problems too, and occasional visitors probably find it cumbersome anyway.

If we want a high level overview of the projects, we can always have a wiki page identifying the main teams/projects, the starting points to understand the hundreds of projects that we will have soon. Now there is a task to discuss this. :)

Event Timeline

Qgil raised the priority of this task from to Medium.
Qgil updated the task description. (Show Details)
Qgil added a project: Phabricator.
Qgil changed Security from none to None.
Qgil subscribed.
Qgil lowered the priority of this task from Medium to Low.Nov 7 2014, 10:49 AM

I'm not entirely sure which problem we want to solve. Make people understand what types of "projects" we have is already reflected by https://www.mediawiki.org/wiki/Phabricator/Requesting_a_new_project#Type_of_project I'd say?
Or what else is thought of?

For the records, https://phabricator.wikimedia.org/project/query/all/ lists all archived and active projects.

We are talking about a wiki page that serves as a list of the main projects (the ones that are important on its own and the ones that act as umbrella of many others). Something like (if only our Bugzilla tree structure would be same). This page shouldn't aim to contain all the projects, probably 2 levels only i.e.

  • MediaWiki
    • API
    • Configuration
    • ((some more core components))
  • MediaWiki Extensions
    • VisualEditor
    • MobileFrontend
    • ((a few more selected))
    • See all extensions ((a query to all projects containing the word "extension" in the title)
  • (etc etc)

While having a perfect two-level tree isn't trivial, having a first version up to a level that invites experienced contributors to fine tune it is not that difficult.

Also, this is a task that @Micru and/or @Quiddity could mentor. You just need to know about Wikimedia, editing wiki pages, and searching projects in Phabricator.

(Sorry, apparently my brain cannot have all ideas at once)

... and with https://bugzilla.wikimedia.org/describecomponents.cgi as starting point, a student cannot go too too wrong, with just a bit of guidance.

...and I am very happy to (co-)mentor this task!
Anybody willing to add this to https://www.mediawiki.org/wiki/Google_Code-in_2014#Proposed_tasks ? (I might do so if nobody is faster)

@Micru and/or @Quiddity: Are you in?

If I understand correctly, we want to start with a 2-column table on mediawiki, that lists:

  1. The existing components in bugzilla, as the structured 2-level tree that they are currently in. (https://bugzilla.wikimedia.org/describecomponents.cgi)
  2. The current list of phabricator projects. (https://phabricator.wikimedia.org/project/query/all/)

Once that exists:


Q1. Is that fairly accurate?

Q2. What other existing mappings, are missing?

Q3. Are all the existing components in bugzilla going to be replicated in phabricator 1-to-1? ("No" would mean we are also taking this opportunity to remove/merge some of the unused/un-useful components. Either now, or later.)

Q4. Is there a static list of all bugzilla's current "Product->Component" options? (Ideally, I want a copy&pastable 2-level bulletpoint list, of just the names. Otherwise I have to manually copy&paste a few hundred lines...)

(I have zero spare time to guarantee mentoring. But I'd happily contribute thoughts/edits, occasionally. :-)

I don't think we need a 1:1 mapping of all the projects. After the Bugzilla migration we will have hundreds. The word "overview" in the subject of this task is important.

Also, we don't need to perpetuate a Bugzilla tree structure that never made us happy.

We just need a sane list of main areas, identifying the most popular / relevant projects underneath.

Heads up! A student has taken this Google-Code-in-2014 task.

http://www.google-melange.com/gci/task/view/google/gci2014/5777066188341248

Hi toolboxx8! If you have questions, you can ask them here. In addition to the GCi mentors there are other community members that may help you. Thank you for your interest in contributing to Wikimedia!

Hi!

I'm excited in taking part in GCi and taking this task. However, I'm not very sure about my task at hand. I have a rough idea from the description given, but I would like to have a more detailed explanation?

It says that my proposal should help a newcomer to Phabricator to understand how we use Phabricator for managing projects. Does that mean I'm writing like a tutorial guide?

Some help is much appreciated! Thanks!

Hi @Toolboxx8, to keep this task simple,

  1. please create a wiki page cloning the list of projects shown in this page: https://old-bugzilla.wikimedia.org/describecomponents.cgi, but linking to their current Phabricator projects, which an be found under https://secure.phabricator.com/project/.
  2. then, under each project list the subprojects that look more relevant to you, for instance checking the amount of tasks they have listed.

I started a rough example of how this would look like at at a previous comment in this task.

No need to aim for perfection. If you have a wiki page that looks complete enough for a v0.8, we can continue polishing it.

Hi @Qgil

Thanks for the guidelines! I now understand what is my aim.

However, I have a few questions. Where should the wiki page be? And how do I go about creating one?

I'm sorry but I'm sort of new to creating wiki pages, but I'm willing to learn!

I have search about and read a few articles and watch a few videos but I'm not sure which one to follow. Any suggestions?

  1. Create an account in https://www.mediawiki.org/
  2. Then you can go with your browser to a page like www.mediawiki.org/wiki/User:YOUR-USERNAME/Sandbox (changing "YOUR-USERNAME" for your actual username)
  3. Click "Create"
  4. Type some text. Save.

There you have your page. Then you can share the URL here while you keep editing by clicking "Edit".

I have created a clone (quite literally) of the old Bugzilla page: https://old-bugzilla.wikimedia.org/describecomponents.cgi at https://www.mediawiki.org/w/index.php?title=User:Toolboxx8/Sandbox which is almost an exact copy of the old web page.

I have not linked the items to any projects yet as I know the difference between Bugzilla and Phabricator. However, I am unsure of how to link the two together. Some projects that are in Bugzilla are not present in Phabricator. Whereas some projects in Phabricator are not listed in Bugzilla. Any advice on tackling this problem?

Should I edit the project page? For example:

  • Common Apps
    • Android

becomes

  • Android

(as in Phabricator) and then add subprojects under this title?

@Toolboxx8: Thanks for your work on this!
Referring to your example, Bugzilla product "Common Apps" and component "Android" became Phabricator project "Commons-App-Android" - you can see that listed in the list of all projects under https://phabricator.wikimedia.org/project/query/all/?after=Commoa .
Note that the project is closed as archived so no new tasks can be filed under it anymore (I guess you looked at the list of active projects in Phabricator, which makes sense - we're not interested in listing archived/inactive projects).
Unfortunately, Bugzilla's describecomponents.cgi does not tell you whether a project is archived or not so that is indeed confusing. :-/

If you have further specific cases where you aren't sure what has happened, don't hesitate to list them here and ask - but in general, don't worry too much if you cannot find some stuff, it does not have to be totally perfect. :)

I think the current list would be good enough for a GCi task in terms of entries. We can polish these type of details that are quite time consuming for a newcomer but someone like Andre can decide in a whim. I would put my time on linking each entry to its Phabricator project and adding the soft description, if available.

@Aklapper Oh, I see.

Yeah, that makes a lot of sense. As I was browsing through the active projects I couldn't find any that was closely related to those in Bugzilla. Yes, it only states if the projects is new, unconfirmed or patched.

Okay, thanks a lot! I'll see what I can do to improve it further.

@Qgil I will continue to work on it for a while and upload the URL to the GCi page. Is that ok?

I feel that I could still improve the page a little more.

So, I have added links to the list and add a few more projects that were present in Phabricator but not in Bugzilla.

It is still incomplete, mainly the MediaWiki extensions part (there are a lot under it) and the Wikimedia section at the bottom. I have included archived projects while adding a (Archived) note beside the projects, it can be removed if it is not wanted. I also have not include a lot of projects that are in Phabricator but was not in Bugzilla e.g. JavaScript, Jenkins, Human Resource etc.

You can check out the list at : https://www.mediawiki.org/w/index.php?title=User:Toolboxx8/Sandbox

Another problem is at the Common Apps part where all the projects are archived. Should it just be removed? I added a link to the Android project page on Phabricator by the side.

Finally, just out of curiosity as I was going through the list of projects. Under 'Unofficial Apps' the projects listed there use "or" instead of "on", for example: Wikipedia or Windows 8. Shouldn't it be "on" instead of "or"? Just a minor question.

@Toolboxx8, you have done a tone of work! Thank you very much. I will close this task as completed now. Just one thing, can you please add a "{{draft}}" template at the top of the page (just paste that string using "edit source", and then move the page to Phabricator/Projects, please? To move the page just click the "More" link in the toolbar.

We will probably massage that page a bit and then create another task to add the descriptions and polish it. As said, I believe you have put enough effort to consider your GCi task closed, even if we will keep this task here open until the page is ready. Thank you again.

@Qgil I have added the draft template to the wiki. However, I cannot find the "Move" link. All I see is (From left to right): User Page, Discussion, Read, Edit, Edit Source, View History and Watchlist (The star). Some help is appreciated!

Maybe you don't have the permissions. No problem, it's here now: https://www.mediawiki.org/wiki/Phabricator/Projects

We have scheduled this task for ECT-January-2015 but it has no owner. Based on lessons learned, we should either get an owner for it or remove it from the sprint.

I'm going to remove ECT 01/2015 from this. It's a nice to have but I don't think I'll have time to work on this in January

chasemp moved this task from Doing to Ready to Go on the Phabricator board.

We do have http://www.mediawiki.org/wiki/Phabricator/Projects nowadays (which is created automatically). That's probably where to continue here.

That current script misses certain contextual knowledge, e.g. that a project named "Flow" is technically a "MediaWiki extension", or that "FR" is the same as "Fundraising". Not sure how that could be implemented.

Aklapper claimed this task.
  1. Regarding Bugzilla's product-component tree structure vs. Phab's flat namespace, soon the way to go in Phabricator will be using subprojects (see T123078) instead of some external wiki page listing connections or hierarchy between Phab projects.
  2. I consider http://www.mediawiki.org/wiki/Phabricator/Projects sufficient, and if $someone considers it not sufficient, $someone please write a wikipage for what is wanted here (and/or reopen this task and assign it to themselves), or enhance the code that creates http://www.mediawiki.org/wiki/Phabricator/Projects to fulfil their needs.

1.+2. together: Hence I'm declining this task.