2

プラグインに構成を追加しようとしていますが、オプションについてかなり混乱しています。特に構成UIに関して、Webworkアクションとサーブレットの比較を教えてもらえますか。

これまでの私の経歴は、このチュートリアルを通過したことです。その後、インストールしたすべてのプラグインがアクションを使用していることを知り、既存のコードを見ると、アクションの実装と使用がはるかに簡単であることがわかりました(JavaScript / RESTインターフェイスを実装する必要はありません)。

チュートリアルが物事を過度に複雑にしているように見える理由について私は混乱しており、実際には同じことを行うためのはるかに簡単な方法については言及していません。誰?

その上、設定を保存するための少なくとも3つの異なる方法を見てきました:、、、またはを使用PluginSettingsFactoryBandanaManagerますConfigurationManager。もっと混乱!最近の合流点で設定を保存する「最新の」方法は何ですか?

4

1 に答える 1

2

Webwork アクションとサーブレット

  • Webwork アクションには、Webwork in confluence に付随する組み込みの速度テンプレート メカニズムと、Webwork 自体のすべての利点を使用できるという利点があります。
  • 両方のバリアントには、Spring Webframework で構築された合流点を介した依存性注入の利点があります。
  • すべてのアトラシアン製品が Webwork を使用しているわけではないため、Webwork アクションではなくサーブレットを使用すると、すべてのアトラシアン プラットフォーム ソフトウェアで独立性が得られます。
  • atlassian-plugin.xml のプラグイン記述子は、プラグイン構成ページの両方の方法を許可します。

<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2"> 
    <plugin-info>
        <description>${project.description}</description> 
        <version>${project.version}</version>
        <vendor name="${project.organization.name}" url="${project.organization.url}"/>  
        <param name="plugin-icon">images/pluginIcon.png</param>  
        <param name="plugin-logo">images/pluginLogo.png</param>  
        <param name="configure.url">/admin/plugins/PATHTOYOURCONFIGPAGE</param>  
    </plugin-info>  
    ...  
</atlassian-plugin> 

プラグイン設定の保存

PluginSettingsFactory インターフェースと、このインターフェースを実装するすべての既知のクラスのリストを見ると、ConfluencePluginSettingsFactory が見つかります。メソッドがpublic void setBandanaManager (BandanaManager bandanaManager)宣言されています。これは、BandanaManager の依存性注入です。これは、PluginSettingsFactory インターフェースの実装が、プロパティの永続化のために BandanaManager を使用することを示しています。

私は個人的にConfigurationManagerのことを知りません。すべての合流プラグインに BandanaManager を使用して、管理者設定ページまたは他の場所で設定されるプロパティを保存します。

Atlassian: Persistence in Confluence で説明されているように、データを永続化する最先端の方法については、こちらをご覧ください。BandanaManager も使用します。

于 2013-09-04T11:30:11.847 に答える