tohokuaikiのチラシの裏

技術的ネタとか。

2015-01-01から1年間の記事一覧

TCPDFで「右綴じ」を実現する方法

php

TCPDFでもFPDFでもFPDIでもFPDI_TMPLでもなんだかこのあたりの一群のライブラリはよく分かってなかったりしますが・・・・。 そもそも右綴じって? PDFのプロパティでこんな感じです。Acrobatで開いた時のプレファレンス。 英語で言うとBinding Directionで…

ハートキャッチプリキュア!で学ぶ、JIRAワークフローの使い方

本記事は、プリキュアアドベントカレンダーの5日目の記事です。www.adventar.org 先日、Atlassian Summit 2015で発表された3つのプロジェクトタイプ分かれたJIRA7の話をAtlassian Community Day 2015で聞いてまいりました。これからも発展していくであろう課…

PHPでRESTサーバを実装するライブラリLuracast/Restler

php

PHPでRESTサーバを書きたくなった場合、F.Wならそれの下地はあるだろうけどそれ程でも…っていう場合など。 Luracast/Restler 日本語の記事は見つからなかったけど、このライブラリが鉄板っぽいので使ってみる。 https://github.com/Luracast/Restler 以下、…

Vagrantで固定IPにしてホスト側から自由にアクセスできるようにしたいけど、なんか起動のたびにネットワークアダプタが増えてしかも接続できない件

VirtualBoxでこんなネットワーク構成にしたいと思うんですよね。 細かいことはこちらのエントリがよく分かると思う。 VirtualBox を利用する際のネットワーク設定の話 - 絶品ゆどうふのタレ Vagrantfile まぁ、とりあえずなんですがVagrantfileに config.vm.…

Vagrant+VirtualBox+Windowsで仮想環境Debianをつくる

ようやくVagrantを使ってみる。いつの間にかVMWareって下火になってたの? 以下をインストール VirtualBox https://www.virtualbox.org/wiki/Downloads VirtualBox Extension Pack https://www.virtualbox.org/wiki/Downloads *1 Vagrant https://www.vagran…

「Googleアナリティクス実践テクニック」を読んだまとめ

いい加減ちゃんと使ってみないとと思ったら、JavaScriptで色々と負荷情報を付けたりトリガーも自由自在なので、こりゃすごいぞと思ったので、ちょいちょいとまとめてみる。 今回読んだ本はこちら 新版 プロが教える Googleアナリティクス 実践テクニック ユ…

Atlassianのサーバ型Dev.に対するAtlassian Connectとの付き合い方のFAQ

こっちから。 Atlassian Connect FAQ for P2 developers ざっくり要約。Plugin2開発者はサーバ型の従来製品のアドオン開発者。 現在のPlugin2開発者にとって、Atlassian Connectは何を意味するか? 現在も動くし、これからもサーバ型ではPlugin2は動作する。…

AtlassianがDev.向けにサーバ型からConnectのCloud型に技術の取得を変更した方が良いと示唆するドキュメントを出した件

現状で、Atlassianの製品はオンプレミスのサーバ型とAtlassian Cloudにあるクラウド型の2種類がある。 この2つはアドオンの作り方においても全く異なり、共有できるノウハウはモジュールの分類分けぐらいだ。 しかし、2種類を覚えるのはやはり辛い・・・手間…

Googleの検索結果をクリックしたら、何が起こっているのか?

そもそもの発端は、「なんでGoogleの検索結果からリンクした場合Refererに検索語が出ないんだろう?」って思ったところ。 検索結果 こんな感じで、マウスオーバーするとwww.junoe.jpって出るけど、 これはJavaScriptで出しているだけで、本当のリンク先をChr…

Atlassian ConnectのConnect cookbookをやってみる。

ということで。これ。 https://developer.atlassian.com/static/connect/docs/latest/guides/connect-cookbook.html all.jsを読み込む方法 Getting startでは、直接描いたall.jsのScriptタグ <script src="//localhost:1990/confluence/atlassian-connect/all.js" type="text/javascript"></script> を動的に読み込む方法。ただし、サーバサイドで何かするとかいう…

Atlassian Cloud SDKでHelloworldを作ってみる

チュートリアルの Getting startedを行う。今回作るのは、サーバ版アドオンで言う所のサーブレットモジュールである。 なお、Windows8ですべてローカルで賄うものとする。 local開発用Confluenceを起動を以前のエントリ通り行っているものとする。 HTTPDを用…

Atlassian SDKの5.1.11が微妙。。。

なんか5.3.1の実機にインストールしてみたところエラーでる。 2015-08-27 17:16:01,408 ERROR [http-8191-6] [plugin.descriptor.web.ConfluenceWebInterfaceManager] getHtml Failed to render web panel: com.atlassian.plugin.web.descriptors.DefaultWeb…

Atlassian Cloud用のプラグインを作成する

Atlassian CloudのアドオンはJavaアプリではないので作り方が全く違う。ということで、Getting start. https://developer.atlassian.com/static/connect/docs/latest/guides/getting-started.html とりあえず、デモの起動まで Getting startでは、プレーンな…

Live Dowango Readerの「注目のブログ」

なんか、「ブログ」ってなんやねんそれっていうのがLive Dwango Readerの「注目のブログ」に上がってたのでクリック すると もう終わってた。

Confluenceの添付ファイルがどうやって保存されるかわからなかったので調べた件

メモ書き ファイルパスを作成するクラスを使った概観 com.atlassian.confluence.pages.persistence.dao.HierarchicalFileSystemAttachmentDataDao のcreateDirectoryHierarchy()を追ってみると、IdMultiPartHashGeneratorクラスのgenerateで行ってる。 で、…

Atlassian Licenseの実装周辺について

Atlassianマーケットプレイスで有料出品するにはライセンス認証が必須になる。 Paid via Atlassianならライセンスのパッケージもあるし、集金周りもやってくれる*1。Confluenceの場合でやってみた。参考ドキュメント Tutorial: Adding licensing support to …

Confluenceの自分自身のPluginUninstallEventをキャッチする方法

EventLitenerの使い方自体はこちらに過去書きましたが。。。 Confluenceのプラグイン開発で、Eventを使う方法(Annotation Based) - tohokuaikiのチラシの裏tohokuaiki.hateblo.jp プラグインの自分自身のアンインストール(あるいは無効化)のEventはキャッ…

Atlassian Cloud用のプラグインを書くために・・・。

Atlassian Cloud Atlassianはオンプレミス型のサービス展開をしていたのだけど、数年前からCloud型のサインアップだけで使えるシステムを提供している。ハード的な資源は共有しながらも、JIRAやConfluenceなどは1つずつのインスタンスとして動作しているので…

「お前がそう思うんならそうなんだろう お前ん中ではな」をランダムに表示し「お前がそう思うんならそうなんだろう お前ん中ではな」が完成したら煽ってくるプログラム

こちらのネタ元で 「進捗・どう・です・か」をランダムに表示し「進捗どうですか」が完成したら煽ってくるプログラム | ぞうさんの何でもノート PHPで = count($str)) array_shift($stack); $next = $str[mt_rand(0, count($str) -1 )]; $stack[] = $next; e…

Javaのプリミティブ型とObjectの違いをコードで

恥ずかしながら、Integerとintの比較とか分かってなかったので、実験しつつメモ。Ideone.com - PuegZx - Online Java Compiler & Debugging Tool /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import jav…

開発するConfluenceのバージョンとJavaのバージョンとAtlassian SDKのバージョンとYシャツとわたし。

これがなんか微妙に動いた動かなかったりで、環境変数変えたりSDK変えたりしてるんです。SDKの過去バージョンはここから。 Atlassian Plugin SDK - Windows - Version history | Atlassian Marketplaceここには、最新と思われるSDKもある。 Index of /groups…

ConfluenceのVelocityテンプレートで使える変数とか

覚書 設定に従った日付表記 $dateFormatter.formatDateTime($sampleDate) プラグインの情報を取りたい時 XWorkのAction内だと Plugin plugin = this.pluginAccessor.getPlugin("プラグインキー"); plugin.getParameter("ここにatlassian-plugin.xml の plugi…

XOOPSのお問い合わせモジュールliaiseでスパム除けする

画像認証改造っていうのがあるのは作った後で知った。 方針 所定の文字列を入れてもらい、それがPOST値になかったらエラー。(やり直し)下記のサンプルではその文字列は123456とする。 modules/liaise/include/form_render.php フォームに入力欄を入れる。 …

Confluenceで自動実行スケジュール化されたプラグインを作る

タスクを決められたタイミングで自動実行するプラグインを作ります。管理画面の「スケジュール ジョブ」から実行できたり無効化できたりするやつです。 以下のドキュメントを参考にしました。 Trigger Module - Atlassian Developers Job Module - Atlassian…

Confluenceのタスクスケジューリング設定における時刻の指定について

管理画面から行う自動バックアップとかのタスクのスケジューリング設定。 Scheduled Jobs - Confluence Latest - Atlassian Documentationcrontabによく似ているのですが、秒の指定ができたりとちょっと違う。 管理画面の編集でライブチェックができる 時刻…

Confluenceのbandanaに任意のObjectを保存する時は引数がゼロのコンストラクタが必要

なんか、bandanaManagerを通してConfluenceに登録してたObjectが何かのタイミングで消えてしまってた現象が発生。あれー?って思ってログ見たら 2015-06-18 16:59:45,738 WARN [http-1990-1] [confluence.setup.bandana.ConfluenceDaoBandanaPersister] getO…

WordPress公式のプラグイン登録をした後、バージョンを変更する

プラグインの登録まではこちらで。0からのWordPress公式ディレクトリ登録〜プラグイン編 #wckansainuuno.netその後のバージョンアップについて。このバージョンアップがされると、自動的にユーザーの管理画面から見られる。 trunkでプラグインのメインファイ…

ConfluenceのPlugin作成でバックグラウンドで走らせるようなタスクを作る

XMLエクスポートやインポートの時に出てくるプログラスバーがあるあれです。ソースコード見てたらTransactionTemplateを使ってあれこれやるらしいのだけど、まんまコピペ―したらエラーが出た。エラーの内容は、この人と一緒。Creating a LongRunningTask - A…

ConfluenceのPlugin作成でApache XMLRPCを使おうとしたらSAXParserでエラー出た件

プラグインでXMLRPCできるようにしたい ということで、pom.xmlにapache.xmlrpcを追加 <dependency> <groupId>org.apache.xmlrpc</groupId> <artifactId>xmlrpc-client</artifactId> <version>3.1.3</version> </dependency> あんまり久しぶりだったので、NetBeansから追加した際に<scope>jar</scope>が入っててそのままにしたらコンパイルは通るんだけど、実際に動作さ…

tinymceのリストであるadvlist_bullet_stylesを変更して選択肢ドロップダウンを変えたい

メモ:tinymceは3系統tinyMCE.init({...})のオプションで、advlist_bullet_stylesを変える場合。 つまり、 みたいに、4つあるデフォルト状態から1個にしたい場合。 advlist_bullet_styles: [ {title : 'Circle', styles: { listStyleType: "circle ], みたい…