Make DynamicPageList_(wikimedia) use page images as the image in gallery mode for pages that are not in the File namespace
This task is a bit of a more advanced task. It is recommended you have already done at least two (maybe more) tasks involving PHP coding of MediaWiki extensions that involved submitting code to gerrit. As this is meant as a more challenging task, some of the details are not as spelled out as some of the less challenging tasks. If things are confusing, don't hesitate to ask for clarification on irc.
The DynamicPageList(Wikimedia) extension (also known as the "intersection" extension) https://www.mediawiki.org/wiki/Extension:DynamicPageList(Wikimedia) has an option mode=gallery
which allows showing a gallery of images that match the query. Currently this only really works with files in the file namespace. Your task is to have it use the page image (from the PageImages extension https://www.mediawiki.org/wiki/Extension:PageImages ) for pages that are not file pages.
Prerequisites:
- You have done several MediaWiki PHP coding related tasks, and are looking for a more complex PHP coding task
- You have already setup MediaWiki locally
- You have a basic knowledge of SQL and know what a LEFT JOIN is (e.g. You understand what the query
SELECT page_namespace, page_title, p1.pp_value AS 'image' FROM page left join page_props p1 on p1.pp_page = page_id and p1.pp_propname = 'page_image_free' where page_id = 1931416;
means. If not, there are several sql tutorials online)
See https://phabricator.wikimedia.org/T240108 for more details