__downloadable_plugin_resource
Defining a Single Downloadable Resource
Downloadable resources are configured to map a name of some downloadable file to its location within the plugin jar-file.
<atlassian-plugin name='IM Presence Macros' key='confluence.extra.impresence'>
<plugin-info>
<description>Macros to show online status for popular Instant Messaging services.</description>
<vendor name="Atlassian Software Systems" url="http://www.atlassian.com"/>
<version>0.1</version>
</plugin-info>
<macro name='aim' class='com.atlassian.confluence.extra.impresence.AIMPresenceMacro' key='aim'>
<description>Displays an AIM status graphic.</description>
<resource type="download" name="aimon.gif" location="templates/extra/impresence/aimon.gif">
<param name="content-type" value="image/gif"/>
</resource>
</macro>
<resource type="download" name="aimoff.gif" location="templates/extra/impresence/aimoff.gif"/>
</atlassian-plugin>
- Resources can be downloaded either within a plugin module, or as a resource of the entire plugin.
- Resources are always looked up relative to a plugin module (see below). If a resource can not be found in the plugin module, it will then be looked for in the plugin itself.
- Each resource must be of
type="download" - The
nameof the resource is how it will be referenced from within the application - The
locationof the resource is where it appears within the plugin itself - An optional
content-typeparameter can be used to supply the file's MIME type- In the absence of a
content-type, the application will attempt to guess the file's type from its file extension. For common file extensions, an explicit content-type is not necessary.
- In the absence of a
Defining a Directory of Downloadable Resources
If your plugin requires a lot of resources, you may wish to expose a directory of files as resources, rather than writing definitions for each individual file.
<resource type="download" name="icons/" location="templates/extra/impresence/icons/"/>
- The
nameandlocationmust both have trailing slashes - Subdirectories are also exposed, so in the example above,
icons/small/mail.gifwill be mapped to the resourcetemplates/extra/impresence/icons/small/mail.gif
Referring to Downloadable Resources
The URL for a downloadable resource is as follows:
{server root}/download/resources/{plugin key}:{module key}/{resource name}
例:
http://confluence.example.com/download/resources/confluence.extra.impresence:aim/aimon.gif
In a velocity template, you should use the $req.contextPath property to ensure that your resources are always relative to the URL of the Confluence server:
$req.contextPath/download/resources/confluence.extra.impresence:aim/aimon.gif