<atlassian-plugin name="plugin name" key="plugin key" enabled="true" plugins-version="2">
| 属性 | 説明 |
| key | pluginモジュールを識別するString。この属性は必須で、plugin内でユニークである必要がある。keyがユニークであることを保証するために、reverse domain記法を使うべきである。デフォルトで設定される。 |
| name | これは、アプリケーション内のメニューの中でディスプレイに使用された、人から見て判読可能な名前。デフォルトで設定される |
| state | これはデフォルトで可能になる。全pluginを不能にするためには、無効を指定する。 |
| plugins-version | OSGiプラグインを作成するために、plugins-version="2"を使用する。 |
| i18n-name-key | pluginモジュールの人間の判読可能な名前用のlocalizationキー。 |
| class | このpluginモジュールを実装するクラス。提供する必要のあるクラスはモジュール・タイプに依存する。例えば、Confluenceのテーマ、レイアウトおよび色彩設計モジュールは、Confluenceの中で既に提供されているクラスを使用することができる。したがって、Javaコードのないテーマ-pluginを書くことができる。マクロとリスナーのモジュールがなかったならば、自分のインプリメントするクラスを書き、pluginにそれを含んでいる必要がある。 |
| system | このpluginモジュールがシステムpluginモジュール(value='true')かどうか(value='false')を示す。 |
<atlassian-plugin ...>
<plugin-info>
<!-- ... -->
<description>New macros for integration with Acme Corp. web services</description>
<version>1.2</version>
<application-version min="2.0" max="2.7" />
<vendor name="Acme Systems Ltd" url="http://acme.example.com/" />]
<param name="configure.url">/admin/plugins/example/configurePlugin.action</param>
<bundle-instructions>
<Export-Package>my.external.pkg</Export-Package>
<Import-Package>com.mylibrary,*;resolution:=optional</Import-Package>
</bundle-instructions>
</plugin-info>
</atlassian-plugin>
| <description> | 作成したプラグイン内で、人が読むことができる記述。 |
| <version> | 作成したプラグインのヴァージョン。アプリケーションのplugin manager内に記述される。 |
| <java-version> | 作成したプラグインで要求されるJavaのヴァージョン。 |
| <vendor> | プラグインのデベロッパについての情報。 |
| <param> | パラメータの値。(プラグインで必要であれば。) |
| <bundle-instructions> | plugin dependencyを宣言して、OSGiがplugin XML(OSGi pluginsだけ)の中で指示を直接束ねることを明示することにより、exportパッケージ・リストを短くする。 |
<web-item name="Radio Paradise" i18n-name-key="radio-paradise.name" key="radio-paradise" section="client-sites-link/my-section" weight="1000">
<description key="radio-paradise.description">The Radio Paradise Plugin</description>
<label key="radio-paradise.label"></label>
<link linkId="radio-paradise-link"></link>
</web-item>
<resource name="searchreplace/" type="download" location="searchreplace/"/>
| 要素 | 属性 | 説明 |
| <resource> | 'resourse'を定義するブロック。 例:<resource type="velocity" name="template" location="com/example/plugin/template.vm"/> | |
| <resource> | name | resourceのnameは、plugin moduleがどのように特定のresourceを見つけることができるか定義する。 'namePattern'がそうでない場合、指定されるだろう。 location parameterが単一のresourceではなくディレクトリーを指す場合、「/」を用いて名前を指定する。 例:<resource type="download" name="myimages/" location="com/example/plugin/myimages"/> |
| <resource> | namePattern | derectory resourceをロードする時に使用するpattern。 |
| <resource> | type | 資源のtypeは、どのようにその資源を使用することができるかmoduleに伝える。 各アプリケーションによって、許可されるvalueは異なる。 モジュールはあるタイプか名前のresourceを捜すことができる。 例えば、layout pluginは、そのヘルプ・ファイルのtypeがvelocityでnameがhelpであることを必要とする。 |
| <resource> | location | resourceのlocationは、jar fileでどこでresourceを見つけることができるかpluginに伝える。 (resourceはJavaのclasspath resource loaderによってロードされる。) |
| <property> | key/value | resourceは任意のkey/valueペアを含んでいる可能性がある。 例:<property key="content-type" value="text/css"/> |
| <param> | name/value | resourceは任意のname/valueペアを含んでいる可能性がある。 |
<web-resource name='TinyMCE Search Replace Web Resources' key='tinymce-searchreplace-resources'>
<resource name="searchreplace.js" type="download" location="searchreplace/editor_plugin.js"/>
<resource name="searchreplace-adapter.js" type="download" location="searchreplace/confluence-adapter.js"/>
<context>wysiwyg-editor</context>
</web-resource>
<component key="pluginScheduler" class="com.atlassian.sal.core.scheduling.TimerPluginScheduler" public="true" >
<interface>com.atlassian.sal.api.scheduling.PluginScheduler</interface>
</component>
<component-import key="loc" interface="com.atlassian.sal.api.license.LicenseHandler" />
<codeformatter name="ruby" key="ruby" class="com.example.confluence.formatters.RubyFormatter">
<description>Code formatter for the Ruby programming language</description>
</codeformatter>