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 list 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 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.

Relatively linking an attached file
The Attachments extension provides the  parser function to faciliate linking/embedding attached files.

If you attach an image Example.jpg to Somepage then you can embed the image:


 * from Somepage with
 * from Somepage/Subpage with
 * from Somepage/Subpage/Subsubpage with

Note that the same also works with  links.

Installation


You will need to enable the extension for the namespaces where you want to use it, e.g:

$wgAttachmentsNamespaces[NS_MAIN] = true;

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 want to prevent users from 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