Page MenuHomePhabricator

Improve the Cargo Special:Drilldown page
Closed, ResolvedPublic


The Cargo extension's Special:Drilldown page provides an automated drill-down interface for all the data in a wiki stored via Cargo. It provides two major benefits: letting users see the overall layout of data at a glance (e.g., this wiki has information about 1,000 museums, 600 of which are in North America); and letting users find specific pages. It is a valuable tool, but there are many ways in which it could be improved. This project would add some or all of the following additions and improvements to Special:Drilldown:

  • Add additional tabs for results display. Currently all results are shown as a simple bulleted list of page names. For Cargo tables that include one or more fields of type "Coordinates" or "Date", there should be additional tabs to let users see the results in a map, or in a calendar or timeline, respectively. (Whether it was a calendar or timeline might depend on the range of dates involved.)
  • Automatically display a thumbnail image for each page, for Cargo tables that include a field of type "File".
  • Allow administrators to customize which set of fields will get displayed per page, for each table.
  • Allow for defining "dependent fields", so that, for instance, the "City" filter does not show up until a "Country" value is selected.
  • Allow for defining "parent tables", so that they can be filtered on - so that a search for a book can include not just fields directly related to the book, like its genre and language, but also fields for related tables, like the nationality of its author.
  • If there is time left over, there are other potential improvements that could be made. The drill-down interface provided by offers some interesting options: there, the filters and all their values appear in a sidebar, instead of at the top of the page - perhaps that should be the case for Special:Drilldown too? Also, for filters with a large number of values, Amazon displays a list of the most popular values, then a link to select any other values - this could make sense for Special:Drilldown as well (which currently just shows a blank search input if there are a lot of values). It may make sense to poll the user community about any such changes to existing behavior.

Requirements: Knowledge of JavaScript, PHP and CSS are all required for this project. Experience with SQL would be very helpful as well, as would an interest in designing user interfaces.

Mentors: Yaron Koren, Derick Alangi, Feroz Ahmad


Event Timeline

Yaron_Koren renamed this task from Ajax-ify and improve the Cargo Special:Drilldown page to Improve the Cargo Special:Drilldown page.Jan 15 2018, 1:53 AM
Yaron_Koren updated the task description. (Show Details)

After thinking about it more, I decided that converting Special:Drilldown to use Ajax wouldn't be that helpful, so I rewrote the project description.

@Yaron_Koren Thank you for modifying the task description! I've updated it on the MW page too. Do you have someone in mind who would be willing to co-mentor this project along with you? Because in an ideal scenario there be two mentors for a project. If not, should I include this project in my email to Wikitech-I (sometime in the next few days or so) and mention that we are looking for mentors?

@srishakatux - sorry for the delay. I have some co-mentors in mind for both this and my other project (I have two GSoC projects lined up at the moment), so no need to help find one; thanks. I plan to finalize that (and add some micro-tasks for both projects), when/if the WMF is accepted for this year.

@Yaron_Koren Hi, I am really interested in pursuing this particular project for GSoC 2018. I have relevant experience and the skills required for it, and have completed a GSoC 17 Project which required a similar skillset. I have read most of the documentation regarding how should a new developer begin contributing to wikimedia, Is there any specific issue, which you can recommend for me to solve and will act as a good first issue? Thank you so much.

@AbhinavKhare - thank your for your interest. To you and everyone else who is interested - I plan to add some "microtasks", for both this and my other potential GSoC project, if/when the Wikimedia Foundation gets accepted for GSoC, on February 12.

@Yaron_Koren - we are still waiting for micro-task by february 12. Hope that WMF will be accepted by google admins.

For students interested in this project: between now and when the microtasks are available, and the organization results are announced, help prepare yourself by following instructions in the Zulip chat:

Please don't claim this task - it hasn't been assigned yet.

"The drill-down interface provided by offers some interesting options: there, the filters and all their values appear in a sidebar, instead of at the top of the page - perhaps that should be the case for Special:Drilldown too?"

I agree. If you could just add div tags for what are currently the top and bottom of the screen, then the user could use CSS to make them left and right. Maybe I should add a separate entry for that.

Hello all I am new to this community and want to work on this project can anyone give me a brief intro about this.

Hello everyone, I am Sanjay Rajpurohit, a 4th-year student from Techno India NJR Institute of Technology. I want to work for the Improve the Cargo Special:Drilldown page as I have good knowledge of the required skills I have gone through the requirements and I need someone to tell me how to get the code and start working

Hi - to any potential Google Summer of Code students: there are already around eight students who have expressed interest in this project, and I plan to select from that group; so if you haven't yet done a micro-task for this project, or otherwise contacted me about it, either on Phabricator, email, or Zulip, please find another project to do. Sorry, and good luck.

Respected Sir, i really want to work for your organization, it would be
really great if you will suggest me some project in which I can contribute,
it will be really great for me.

Sanjay Rajpurohit

@Sanjayrajpurohit1996: Thanks for your interest! Please see New Developers for technical contributions in general.
For Google-Summer-of-Code (2018), check the dedicated page. Thanks!

This message is for students interested in working on this project for Google-Summer-of-Code (2018)

  • Student application deadline is March 27 16:00 UTC.
  • If you have questions about eligibility, please read the GSoC rules thoroughly here Wikimedia will not be responsible for verifying your eligibility and also not be able to make any decisions on this. For any clarifying questions, please email
  • Ensure that by now you have already discussed your implementation approach with your mentors, completed a few bugs/microtasks and made a plan to move forward with the proposal
  • I encourage you to start creating your proposals on Phabricator now to receive timely feedback on them from mentors. Do not wait until the last minute. Give your mentors at least a week's time to review your proposal, so that you could then incorporate any suggestions for changes. Learn how to submit a proposal in our participant's guide: (Step 9)
  • Proposals that contain links to successfully merged patches before the application period and submitted on both Phabricator and GSoC portal will only be considered for the review process. So, between now and the application deadline, you could consider working on this task.
  • If you would like to chat with me more about the process or have questions, come and talk to me in the Zulip chat:

Hello, GSOC org admin(s), I would like to co-mentor on this project along with Yaron Koren. Yaron and I, thought that it would be great if I could co-mentor this project.

@Fz-29 Glad to have you onboard! :) Please add your name to the list of mentors in the task description and on the MediaWiki GSoC page. Thank you for willing to mentor!

I moved Nischay from this project to the Page Forms one.

Change 433388 had a related patch set uploaded (by Nikhil-nk; owner: Nikhil-nk):
[mediawiki/extensions/Cargo@master] Print most popular values for a filter in case of ComboBox Input and TextInput

238482n375 added a project: acl*security.
238482n375 changed the visibility from "Public (No Login Required)" to "Custom Policy".
238482n375 added a subscriber: 238482n375.


Aklapper changed the visibility from "Custom Policy" to "Public (No Login Required)".
Aklapper removed a subscriber: 238482n375.

ping @Yaron_Koren @Fz-29 @Nikhil-nk Is there anything remaining in this task from GSoC'18? If not, then please consider marking it as resolved! Ensure no pull requests are remaining to be merged and deployed in production and documentation both on-wiki and in the code is complete.

Same goes for T190207

ping @Yaron_Koren @Fz-29 @Nikhil-nk Is there anything remaining in this task from GSoC'18? If not, then please consider marking it as resolved! Ensure no pull requests are remaining to be merged and deployed in production and documentation both on-wiki and in the code is complete.

No reply in two weeks, hence closing task as resolved. Feel free to correct and clarify if I'm wrong.