Extension:Attachments

The Attachments extension lets users attach subpages, files and external links to pages in enabled namespaces.


 * Attachments can easily be added through the user interface.
 * Attachments of an article are displayed in an automatically generated section at its end.
 * This extension integrates with the Vector and Minerva skins.

So how does it work?


 * subpages automatically count as attached to their parent page
 * When you upload a file through the Attach page action, a parser function  is added to the descripiton.
 * When you add a link, the extension creates a subpage containing the  parser function.
 * Both parser functions set page properties, which are queried for the autogenerated sections.

Advanced features

 * can also be used to attach a regular page to another regular page.
 * You can link files added through the Attach page action relatively with  (or   for the parent page).
 * You can exclude subpages starting with a specific prefix from the autoindex with  on the parent page.
 * You can access attachments before they are sorted with the  hook, where links is an associative array mapping string keys to HTML links. Return false to take over the sorting.

Installation

 * Enable Uploads.

Configuration parameters

 * $wgAttachmentsNamespaces
 * Associative array, set a namespace id to true to enable the extension in the namespace.
 * For example:
 * Note that you should also enable subpages for these namespaces.

Tips

 * Enable $wgCountCategorizedImagesAsUsed to exclude attached files from Special:UnusedImages.
 * Attachments and external URLs are both stored as page props, meaning they can be queried with API:Pageprops and API:Pageswithprop.
 * Set $wgForeignUploadTargets to, if you don't want users circumventing this extension through the upload dialog.
 * If new attachments do not show up, it might be because you have many jobs in your job queue.

Credits
This extension is essentially a complete rewrite of PerPageResources by Mathias Ertl, which consists of Extension:Resources, Extension:AddResource and Extension:ExternalRedirects. This extension replaces all three, notable differences are:


 * attachments are stored in page_props instead of pagelinks
 * no open redirects, just links
 * attachments are shown at the end of pages, as opposed to on a special page