Adding a Custom Action to Confluence

このチュートリアルで使われているプラグインのソースコードはAtlassian public source repositoryで利用可能である。
ソースコードはここでチェックすることができる。

Over View

このチュートリアルでは、「Comfluenceにカスタムアクションをどのように加えるか」を見る。カスタムアクションは、Confluenceのページかブログ・ポストを見る場合'Tools'メニューによってアクセスすることができます。
あなたが"Add'draft'label"のカスタムアクションをToolsメニューから選択したとき、'draft'ラベルがページに追加されるだろう。
これをするために、次のコンポーネントで構成されているConfluenceプラグインを作成する。
  • Confluence中のplugin moduleを可能にするPluginディスクリプタ。
  • Confluence中のウェブ・アイテムを加えて、このアクションが何を行うか(confluence Web ItemおよびXWork-Webworkモジュールによって)定義するためのresource。
  • plugin logic(それはConfluence PageAwareインターフェースを実装し、LabelManager依存性を注入する)をカプセルに入れるJavaクラス。
これらのコンポーネントはすべて単一のJAR file内に含まれる。
各コンポーネントに関しては下記参照のこと。

Step1.Create the Plugin Project

貴方のプラグインを作成するために適切なatlas-create-application-pluginを使うこと。
(applicationの部分がjiraだったりconfluenceだったりする。)

1.1あなたのplugin開発環境をセット・アップする、上記のSDKドキュメント中の指示に従ってください。
2. atlas-create-confluence-pluginを実行する上記のSDKドキュメント中の指示に従ってください。これはあなたのskeleton pluginを作成するだろう。
  • group-id:com.atlassian.plugins.tutorial
  • artifact-id:AddDraftLabelAction
  • varsion:1.0
  • package:com.atlassian.plugins.tutorial

Step2.Add Plugin Metadara to the POM

あなたのプラグインや会社、組織についてのいくつかのメタデータを加えるために、POM(Project Object Model definition file)を編集する必要がある。
1.プラグインのrootフォルダ内にあるpom.xmlファイルを編集する。
2.<prganization>エレメントに、会社や組織の名前、ウェブサイトを加える。
(画像)
3.<name>エレメントをアップデートする。
(画像)
4.<description>エレメントをアップデートする。
(画像)
5.ファイルを保存する。

Step3.Resister the Plugin Modules in the Plugin Descriptor

次に、src/main/resources/atlassian-plugin.xmlのあなたのpluginディスクリプタに必要なpluginモジュールを加える必要がある。
pluginディスクリプタは、Confluenceへのpluginを識別し、pluginが要求する機能性を定義するXMLファイルです。
今、pluginディスクリプタ、atlassian-plugin.xmlの中でpluginモジュールを登録しなければなりません。

もしatlassian-plugin内のnameパラメータが${project.artifactID}ならば、前のステップであなたが<name>エレメントで使った${project.name}に変更する。
(画像)

Add the Web Item Module

まず、Confluenceインターフェイスないでのカスタムアクションの場所を定義するConfluence Web Item moduleを加える必要がある。
この場合、私たちは、Confluenceページかブログ・ポストの'Tool'メニューの'primary'セクションにこのアクションを加えている。
(詳細な情報はWeb UI Moduleを参照せよ)
↑ここに、場所についての詳細情報が書かれている

Web Item Moduleは、さらにカスタム・アクションおよびそのシンタックスのためのリンクを定義する。
このリンク自体は、離れたXWork-Webwork moduleに定義されたアクションの引き金である。

Add the XWork-Webwork Module

最後に、XWork-Webwork moduleを定義する。

タグ:

+ タグ編集
  • タグ:
最終更新:2012年06月14日 17:44
添付ファイル