tohokuaikiのチラシの裏

技術的ネタとか。

2014-05-01から1ヶ月間の記事一覧

Confluenceのプラグイン作成で自前のInterceptorを使うようにする

ConfluenceのXWorkによるプラグイン作成における値チェック(Validator)の方法が少なくてガッカリした - tohokuaikiのチラシの裏とか書いたけど、自前のInterceptorを追加できればいいわけで。 で、この記事がピッタリ参考になった。 Can we expand intercept…

JavaでZIPファイルの一覧を取得しようとしたら日本語ファイル名が文字化けしたので悩んだ件

原因 java.util.zip.ZipFileは、ZIPファイルのファイル名がUTF-8であるとして処理される。そこで、 Javaのマニアじゃない入門の「ZipFileクラスを使う」を使ったら日本語がダメになってしまった。*1 対策 java.util.zip.ZipFileではなく、org.apache.tools.z…

Confluenceのプラグイン作成で使えそうな環境変数の取得

気が付き次第ここに追加する。 Confluenceのデータディレクトリからのパス confluence-project/confluence-core/confluence/src/java/com/atlassian/confluence/util/ConfluenceHomeGlobalConstants.java に記載されている。 package com.atlassian.confluen…

ConfluenceのプラグインでXWork/WebWork2の仕組みを使ったときのボタンによるAction先の制御

ConfluenceのバンドルしてるXWorkでは、サブミットボタンの名称によるAction先の変更はできないようだ。なんとなく、 <input type="submit" name="Top_Action" value="トップへ"/> とすると、Top_Actionに関連付けられたActionになるのかなと思いきや、そうではない。実際には、2方向しか移動ができないみたい。 進む …

ConfluenceのXWorkによるプラグイン作成における値チェック(Validator)の方法が少なくてガッカリした

基本的な使い方 atlassian-plugin.xml にて、インターセプターでActionに対してvalidatingStackにしておく。 <package name="jpages" extends="default" namespace="/pages"> <default-interceptor-ref name="validatingStack"/> </default-interceptor-ref></package>

Confluenceのプラグイン作成で、ページベースの画面を作る

タイトルだけだとなんのこっちゃって感じですが。。。 一番わかりやすいのは、Wordのインポート機能のページかと思います。ページを表示しているときに右上の「Tools」からプルダウンで出てくるやつ。 これって、左側のページメニューやスペースへのアクセス…

Confluenceのプラグイン作成におけるCSRF対策

ConfluenceのプラグインでXWork/WebWork2の仕組みを使ってプログラムを書く(3) - tohokuaikiのチラシの裏でもちらっと書いたけど、トークン、あるいはチケットといわれるものの埋め込みですね。参考資料はこちら。CSRF対策なんだからActionクラス使うよねっ…

Confluenceのプラグイン作成 XWork/WebWork2でセッションを使う

Actionクラスの中でHTTPセッションを使いたい場合。PHPで言えば、$_SESSION Confluenceはログイン基本なので、Actionクラスの中ではデフォルトでセッションが始まっている。COOKIE名がJSESSIONIDというやつ。これは匿名ユーザーにももちろん張られている。な…

ConfluenceのプラグインでXWork/WebWork2の仕組みを使ってプログラムを書く(3)

実際に、Actionを定義して書いてみる。 参考にするもの 参考にするのは、Confluence自体のソースコード。 ソースコードは下記からダウンロードできる。*1 https://my.atlassian.com/download/source/confluence たとえば スケジュールされたのJob一覧を見るA…

ConfluenceのVelocityテンプレートで使えるカスタムタグについて

ConfluenceのVelocityテンプレートは、Sitemeshというデコレータによりパワーアップされているらしい。ちなみに、SiteMeshはOpenSymphonyというJavaの結構すごい大規模なプロジェクトの1つだったのだが全体としてのOpenSymphonyは既に4年くらい前に終了し、…

Struts2について読む記事

CodeZine Struts 2入門(1)~基本形で理解する仕組みと構造~ (1/4):CodeZine Struts 2入門(1)~基本形で理解する仕組みと構造~ (2/4):CodeZine Struts 2入門(1)~基本形で理解する仕組みと構造~ (3/4):CodeZine Struts 2入門(1)~基本形…

Confluenceのプラグインで、Confluenceの各種情報を取得したりする方法

ServletやXWorkのActionからConfluenceのページ情報やスペース情報などを取得したい場合には、各種Managerを使う。このあたりの方法が、Accessing Confluence Components from Plugin Modules - Confluence Development - Atlassian Developer Documentation…

ConfluenceのプラグインでXWork/WebWork2の仕組みを使ってComplex Parametersを使う時の注意点

前回ConfluenceのプラグインでXWork/WebWork2の仕組みを使ってプログラムを書く(1) - tohokuaikiのチラシの裏の続き。もう少し細かい設定については、XWork Plugin Complex Parameters and Security - Confluence Development - Atlassian Developer Documen…

ConfluenceのプラグインでXWork/WebWork2の仕組みを使ってプログラムを書く

純粋に情報を表示させるだけの目的であれば、servletプラグインだけで十分だがフォームを使ってデータの入出力をさせる場合はWebフレームワークを使わないといろいろと面倒で仕方がない。Confluence(というかAtlassianApplication群?)では、XWork/WebWork…

Confluenceのプラグインでフォームを含む管理画面を作ること(1)

フォームを扱う場合、一般的にはフレームワークを使うと楽なので生では使いたくないのですが、Confluenceのプラグインでもそのような方法があるみたい。 Creating an Admin Configuration Form - Documentation - Atlassian Developer Documentation のチュ…

Confluenceプラグインでcomponent-importを忘れてはまった件

もー、ホントに下らない件ではまってしまった。。。自分も、Confluenceのプラグインを作ってみる(7) Atlassian Templateを使ってみる - tohokuaikiのチラシの裏で書いてるのに、理解してなかったからはまってしまった。おさらい。UnsatisfiedDependencyExcep…

ConfluenceのPlugin作成でテンプレートを使う際の種類分け

Confluenceのプラグインを作ってみるメモ(5) Servletを使えるようにする - tohokuaikiのチラシの裏 の続きHTMLテンプレートのメタタグでなどと指定すると、テンプレートの周りを変えることができる。 参照ページ: https://developer.atlassian.com/display/…

ConfluenceのXHTML(保存形式)のマクロの保存形式の変更におけるマニアックな話

自分用メモ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>