2014-05-01から1ヶ月間の記事一覧
ConfluenceのXWorkによるプラグイン作成における値チェック(Validator)の方法が少なくてガッカリした - tohokuaikiのチラシの裏とか書いたけど、自前のInterceptorを追加できればいいわけで。 で、この記事がピッタリ参考になった。 Can we expand intercept…
原因 java.util.zip.ZipFileは、ZIPファイルのファイル名がUTF-8であるとして処理される。そこで、 Javaのマニアじゃない入門の「ZipFileクラスを使う」を使ったら日本語がダメになってしまった。*1 対策 java.util.zip.ZipFileではなく、org.apache.tools.z…
気が付き次第ここに追加する。 Confluenceのデータディレクトリからのパス confluence-project/confluence-core/confluence/src/java/com/atlassian/confluence/util/ConfluenceHomeGlobalConstants.java に記載されている。 package com.atlassian.confluen…
ConfluenceのバンドルしてるXWorkでは、サブミットボタンの名称によるAction先の変更はできないようだ。なんとなく、 <input type="submit" name="Top_Action" value="トップへ"/> とすると、Top_Actionに関連付けられたActionになるのかなと思いきや、そうではない。実際には、2方向しか移動ができないみたい。 進む …
基本的な使い方 atlassian-plugin.xml にて、インターセプターでActionに対してvalidatingStackにしておく。 <package name="jpages" extends="default" namespace="/pages"> <default-interceptor-ref name="validatingStack"/> </default-interceptor-ref></package>
タイトルだけだとなんのこっちゃって感じですが。。。 一番わかりやすいのは、Wordのインポート機能のページかと思います。ページを表示しているときに右上の「Tools」からプルダウンで出てくるやつ。 これって、左側のページメニューやスペースへのアクセス…
ConfluenceのプラグインでXWork/WebWork2の仕組みを使ってプログラムを書く(3) - tohokuaikiのチラシの裏でもちらっと書いたけど、トークン、あるいはチケットといわれるものの埋め込みですね。参考資料はこちら。CSRF対策なんだからActionクラス使うよねっ…
Actionクラスの中でHTTPセッションを使いたい場合。PHPで言えば、$_SESSION Confluenceはログイン基本なので、Actionクラスの中ではデフォルトでセッションが始まっている。COOKIE名がJSESSIONIDというやつ。これは匿名ユーザーにももちろん張られている。な…
実際に、Actionを定義して書いてみる。 参考にするもの 参考にするのは、Confluence自体のソースコード。 ソースコードは下記からダウンロードできる。*1 https://my.atlassian.com/download/source/confluence たとえば スケジュールされたのJob一覧を見るA…
ConfluenceのVelocityテンプレートは、Sitemeshというデコレータによりパワーアップされているらしい。ちなみに、SiteMeshはOpenSymphonyというJavaの結構すごい大規模なプロジェクトの1つだったのだが全体としてのOpenSymphonyは既に4年くらい前に終了し、…
CodeZine Struts 2入門(1)~基本形で理解する仕組みと構造~ (1/4):CodeZine Struts 2入門(1)~基本形で理解する仕組みと構造~ (2/4):CodeZine Struts 2入門(1)~基本形で理解する仕組みと構造~ (3/4):CodeZine Struts 2入門(1)~基本形…
ServletやXWorkのActionからConfluenceのページ情報やスペース情報などを取得したい場合には、各種Managerを使う。このあたりの方法が、Accessing Confluence Components from Plugin Modules - Confluence Development - Atlassian Developer Documentation…
前回ConfluenceのプラグインでXWork/WebWork2の仕組みを使ってプログラムを書く(1) - tohokuaikiのチラシの裏の続き。もう少し細かい設定については、XWork Plugin Complex Parameters and Security - Confluence Development - Atlassian Developer Documen…
純粋に情報を表示させるだけの目的であれば、servletプラグインだけで十分だがフォームを使ってデータの入出力をさせる場合はWebフレームワークを使わないといろいろと面倒で仕方がない。Confluence(というかAtlassianApplication群?)では、XWork/WebWork…
フォームを扱う場合、一般的にはフレームワークを使うと楽なので生では使いたくないのですが、Confluenceのプラグインでもそのような方法があるみたい。 Creating an Admin Configuration Form - Documentation - Atlassian Developer Documentation のチュ…
もー、ホントに下らない件ではまってしまった。。。自分も、Confluenceのプラグインを作ってみる(7) Atlassian Templateを使ってみる - tohokuaikiのチラシの裏で書いてるのに、理解してなかったからはまってしまった。おさらい。UnsatisfiedDependencyExcep…
Confluenceのプラグインを作ってみるメモ(5) Servletを使えるようにする - tohokuaikiのチラシの裏 の続きHTMLテンプレートのメタタグでなどと指定すると、テンプレートの周りを変えることができる。 参照ページ: https://developer.atlassian.com/display/…
自分用メモConfluenceは4から5になった際に*1マクロの保存形式にからタグを使うようになった。保存形式って、ページのツール>保存形式を見るで見られるやつ。 Confluence4 <ac:macro ac:name="include"><ac:default-parameter>ページタイトル</ac:default-parameter></ac:macro> Confluence5 <ac:structured-macro ac:name="include"><ac:parameter ac:name=""><ac:link></ac:link></ac:parameter></ac:structured-macro>