ページビューの合計

2011年3月28日月曜日

Windows OS環境ではAdempiereのビルドが失敗してしまう。

動作環境
Adempiere 3.6
Eclipse 3.6
CentOSなどのLinux環境ではビルドができますが、Windows環境ではビルドが失敗してしまいます。
エラーメッセージが長くて発生時点と思われる個所のみ貼り付けます。
...省略
javac D:\eclipse_ws\SF_Adempiere3.6\adempiere361\base\src\org\compiere\plaf\PlafRes_de.java:84
: 文字列リテラルが閉じられていません。
javac< { "White", "Weiテ? }, javacjavac D:\eclipse_ws\SF_Adempiere3.6\adempiere361\base\src\org\compiere\plaf\PlafRes_de.java:84
: '}' がありません。
javac { "White", "Weiテ? },
...省略
BUILD FAILED D:\eclipse_ws\SF_Adempiere3.6\adempiere361\utils_dev\build.xml:21: The following error occurred whil e executing this line: D:\eclipse_ws\SF_Adempiere3.6\adempiere361\base\build.xml:56: Compile failed; see the compiler error
output for details.
----------------------------------------------------------------------------------------------------------------------
Eclipseの設定は「UTF-8」になっていますし、
build.xmlの1行目に「<?xml version="1.0" encoding="UTF-8"?>」が記述されているにも関わらずエラーが発生します。
このエラーは解決しました。build.xmlの上1行目の「<?xml version="1.0" encoding="UTF-8"?>」だけでは足りないらしく、
本文の中で「javac target="1.6"」から始める行に「encoding="UTF-8"」を追記するとエラーがなくなります。
例)base/build.xml
<javac target="1.6" fork="true" destdir="${build.dir}" deprecation="on" debug="on" memoryinitialsize="512m" memorymaximumsize="512m" encoding="UTF-8">
これから開発を進める際、コメントを日本語で書く必要があると思うのでソースコードを含んでる全てのプロジェクトに「encoding="UTF-8"」を追記した方がよいと思います。
私はJasperReportsプロジェクトに日本語で書き込んだコメントにエラーが発生し気付きました。
追記する必要があるファイル一覧
base/build.xml
client/build.xml
install/build.xml
JasperReports/build.xml
JasperReportsWebApp/build.xml
looks/build.xml
posterita/build.xml
zkwebui/build.xml
ちなみに、JasperReports/build.xml、JasperReportsWebApp/build.xmlには1行目の「<?xml version="1.0" encoding="UTF-8"?>」の記述も抜けていました。

Eclipse上でSVN コミット(commit)のコメントを編集する - VisualSVN

動作環境
Ecilpse 3.6
VisualSVN Server 2.1.2
まずSubversion側で簡単な設定が必要。
VisualSVNのリポジトリのプロパティ画面で以下のように「Pre-revision property change hook」をダブルクリックし、空のhookを作成する。
VisualSVNではない場合は、「hooks/pre-revprop-change」のスクリプトを作成すればよいと思う。


hookが正しく作成されると上のように太字で表示される。
これでSubversion側の設定は終わり。
ちなみに、このhookを設定しないとコミットのコメントを修正する際、以下のようなエラーが発生する。


Eclipseでコメントの編集を行ってみましょう。
Subversionのリストリービューで「改訂プロパティーの表示」を選択。


以下のように改訂プロパティービューでコメントの追加や編集ができる。




残念ながら、コメントを編集してもRedmineとの連携には反映されない。
たとえばコメントを編集し、「refs #<issue番号>」を追記してもRedmineに連携できない。

Eclipse + Mylyn : Redmine + Subversion

動作環境
Eclipse 3.6
Bitnami Redmine 1.0.2
※潰れてる画像はクリックすると原本サイズで見れます。
------------------------------------------------------------------------------------------
今回はEclipseのタスク・リスト(mylyn)とRedmineを連動してみる。
以下は使い方。
issueをクリックすると、Eclipse内部のウェブブラウザーでRedmineのissueページを表示する。
下のメニュー(Private、コンテキスト、ブラウザー)を一度はクリックしてみましょう。
因みにここでissue(チケット)の新規登録も出来る。


次はissueの左のある、白いボールをクリックした後(Active)、ソースコードなどのモジュールを開いてみる。




そうすると自分が開いたモジュールのみエクスプローラーに表示される。




他のissueも同じ流れでタスク別にモジュールを管理することができる。




今のタスクからモジュールを除去(非表示)にしたい場合は、以下のように「コンテキストから除去」を選択する。




全てのモジュールを表示したい場合は、以下のアイコンをクリックする。


この環境を構築することで得るメリットは以下のようになる。
  1. 現在行っているタスクの制御や、タスクのスケジューリングが行えるTask List View
  2. タスクごとに分割した変更履歴の管理
  3. タスクの入力や、編集を行えるリッチエディタ
  4. パッケージエクスプローラーやアウトラインなど、Eclipseが標準的に配布するビュー上でのタスク指向UIモード
  5. BTS(Bug Tracking System)との連携(今回はRedmine)
  6. タスクの検索
-------------------------------------------------------------------------------------------------------------------------
ここからは構築手順になる。
EclipseでWeb Template Connectorプラグインが必要。
プラグインインストールURL:
http://download.eclipse.org/tools/mylyn/update/incubator/
または
http://download.eclipse.org/mylyn/incubator/3.6




インストールが完了するとEclipseの再起動が必要なすこし面倒なプラグインだが、
これから開発の効率が上がることを考えると再起動くらい構わない。
Eclipseを再起動したら、「ビュー表示」ウィンドウで「タスク・リポジトリ」を選択。


開かれた「タスク・リポジトリ」ビューで以下のようにタスク・リポジトリーを追加する。




※下記の記述をそのままコピペ(Copy&Paste)するとダブルクォーテーション(double quotation marks)「"」が正しく認識されない問題に気付いた。
ダブルクォーテーション(double quotation marks)だけを書き直しせば問題ないはず。
※Query Patternの「/redmine」の部分はBitnamiの場合のみ。
------------------------------------------------------------------------------------------------------------
サーバー:<Your Redmine Server>/redmine/
ラベル:<Your Task List Name>
ユーザID:RedmineのユーザID
パスワード:Redmineのパスワード
追加設定
⇒パラメータ追加
パラメータ名:project
値:<Redmineプロジェクトの識別子>


⇒ 拡張構成
Task URL:${serverUrl}/issues/show/
New Task URL:${serverUrl}/projects/${project}/issues/new/
Query Request URL:${serverUrl}/issues
Query Pattern:<td class="subject">.*?<a href="/redmine/issues/show/(\d+)">(.+?)</a></td>
ログイン・リクエスト URL:${serverUrl}/login?username=${userId}&password=${password}&authenticity_token=${loginToken}
Login Form URL:${serverUrl}/login
Login Token Pattern:<input name="authenticity_token" type="hidden" value="(.+?)" />
HTTP認証
ユーザID:RedmineのユーザID
パスワード:Redmineのパスワード
タスク・リポジトリの登録を完了すると以下のような「新規クエリー追加」が表示されるので「はい」を選択。


入力後プレビューを押すと下部のグリッドにRedmineのissue(チケット)が表示される。もしissueが表示されない入力の値に誤りがないかチェックしましょう。
ここも上と同様。ダブルクォーテーション(double quotation marks)「"」だけを書き直す必要がある。
--------------------------------------------------------------------------------------------------------------
パラメータ追加(以下のprojectパラメータが自動で設定されない場合のみ)
パラメータ名:project
値:<Redmineプロジェクトの識別子>
拡張構成
Query URL:${serverUrl}/projects/${project}/issues?set_filter=1&assigned_to_id=me
Query Pattern:<td class="subject">.*?<a href="/redmine/issues/(\d+)">(.+?)</a></td>
「${serverUrl}/projects/${project}/issues?set_filter=1&assigned_to_id=me」は${project}パラメータプロジェクトの自分担当分のみ取得すると言う意味。(多分)
完了ボタンを押してもタスクリストにissueが表示されない場合は、同期化を行ってみましょう。


正しく手順を行ってればRedmineのissueを取ってくる。
更にコミットの時、コメントのテンプレートを書いておけばコミットする度に毎回コメントを書かなくてよいので便利になる。
でも僕の場合はどうやら上手くいかない。
設定箇所:設定 ⇒ タスク ⇒ チーム :
値:(refs #${task.id}) ${task.description}
${task.url}


【お勧めアプリ】 kakaotalk(カカオトーク) - iPhoneとAdroid皆でチャット


kakaotalk(カカオトーク)は世界中のiPhoneとAndroid利用者同士が、無料で、そしてリアルタイムにグループチャットや1:1チャットを楽しめるメッセンジャーサービスです。
カカオトークのプッシュ機能を使って、リアルタイムでメッセージを受信できることはもちろん、写真、動画、連絡先といったマルチメディア情報も簡単に交換できます。
これからはカカオトークで、友だちや同僚、家族同士で、より便利で多様なマルチメディア・チャットの世界を楽しんでください。


---------------------------------------------------------------------------------

僕はこのアプリでよくグループチャットをします。
iPhone、Android関係なくグループでチャットできるのはかなりのメリット。
ちなみに、98人までグループチャットに成功したと聴きました。プッシュがずっと鳴り続けてiPhoneが壊れたと思ったらしい。:)

コミットと同時にRedmineでリポジトリの情報を取得する。- VisualSVN

OS : Windows Server 2008
Bitnami Redmine 1.0.2
VisualSVN Server 2.1.2


VisualSVNでの設定




"C:\BitNami Redmine Stack\ruby\bin\ruby.exe" -ropen-uri -e 'open("<Your Redmine Server>/redmine/sys/fetch_changesets?key=RedmineのAPIキー")'
※1行で、パスはダブルクォーターで囲まれることに注意

RedmineのWiki上でHTMLタグを使えるようにする

手順はいたって簡単です。
Redmineのソースに使用可能なHTMLタグを定義する箇所があるので、HTMLタグ名を追加するだけです。
${REDMINE_HOME}/lib/redcloth3.rb
上記のファイルの末尾に
ALLOWED_TAGS = %w(redpre pre code notextile)
という箇所があると思います。
この括弧の中に使えるようにしたいHTMLタグ名を半角スペースで区切って追加して、
Redmineを再起動すればWiki上で使用可能となります。
僕の場合は br div a font strong emを追加しました。

RedmineのTextile記法の制限を解除する

参照先:http://www.sakuttoly.com/blog/2009/05/redmine_formatter.html




※注
XSSの脆弱性により制限されることになった機能を使えるようにしてしまう方法です。

制限を解除するのは”自己責任”でお願いします。
では、早速手順の方をみていきたいと思います。
Redmineのソースを一部書き換えることで制限を解除出来ます。
${REDMINE_HOME}/lib/redmine/wiki_formatting/textile/formatter.rb
上記ファイルの中から
self.filter_styles=true
という行を探し、値を”false“に書き換えます。
あとはRedmineを再起動するだけです。

BitnamiのRedmine DBをバックアップ(backup) & リストア(restore)するコマンド

バックアップ(backup)
\BitNami Redmine Stack\mysql\bin>mysqldump.exe --default-character-set=utf8 -u bitnami --port=3306 -p bitnami_redmine > dump_utf8.sql




リストア(restore)
\BitNami Redmine Stack\mysql\bin>mysql -u root -p bitnami_redmine < dump_utf8.sql

※注意1:上記のコマンドが上手く行かない場合は、MySqlが停止状態ではないか確認してみましょう。


※注意2:DBをバックアップしても添付ファイルはバックアップされません!Redmineの添付ファイルは「<Redmine_HOME>/files」ディレクトリに格納されているのでこのディレクトリも一緒にバックアップする必要があります!

CentOSでAdempiereのビルドが失敗した。

CentOSでAdempiereのビルドが失敗した。
jboss/libが見付からないと言うエラーメッセージ。
(スクリーンショットは会社の情報を含んでいるため取らない)
動作環境
CentOS 5.5
java version "1.6.0_21"
Adempiere 3.6.0LTS
Adempiereディレクトリパス
/opt/Adempiere
Adempiereソースパス
/home/<home_name>/eclipse_ws/
エラーメッセージを見ると。jboss/libが見付からないと。
エラーが出てるinstall/build.xml:234行を見てみると。
<copy todir="${build.dir}/Adempiere/jboss/lib">
<fileset dir="${jboss.dir}/lib" excludes="**/CVS/**"/>
</copy>
ソースを見たところjboss.dirの下にlibディレクトリがなかった。
何か前にも同じことがあった気がするな。
libディレクトリとその中のjarファイルがなくて起こってるみたいだから以下のディレクトリをEclipse上でjbossの下にコピー。
/opt/Adempiere/jboss/lib
そうしたらビルドに無事成功した。
ビルドが完了したがソースのinstall/buildディレクトリの下にインストールファイルが作成される。



Adempiereのソースを修正したが、配布し直しても反映されない!

Adempiereのソースを修正したが、配布し直しても反映されない!
ソースを修正して、ビルド、上書きで再インストールしても修正した内容が反映されない。
動作環境
CentOS 5.5 (Windowsも同じ現象が起こる?)
Adempiere 3.6.0LTS
java version "1.6.0_21"
Eclipse 3.6
これで今日一日中ハマった。
色々試してもダメで、結局古いモジュールの/libディレクトリを削除した後、再インストールすることで解決した。
確かに上書きしたのにどうやらうまく行かなかったみたい。

Adempiereのフォントサイズを調整する(文字を大きくする)

小さいノートパソコンでAdempiereを実行するとフォントサイズが小さすぎて読みにくい。


ユーザーインターフェーステーマ画面でもフォントのサイズは変更できない。
フォントサイズを変更するには以下のソースを編集することで可能。
/base/src/org/adempiere/plaf/AdempiereTheme.java
上記のクラスの150行当たりでモニターのピクセル数に合わせてAdempiereテーマのフォントサイズを設定している。
その下に以下の内容を追記した。
(※注意:このブログはTabキーが効かなくて代わりにスペースを入れた)
if( size.width <= 1280 ) {
FONT_SIZE = FONT_SIZE + 3;
}


これでデフォルトテーマを選択するとフォントサイズが大きくなる。
テーマ設定画面


フォントサイズ調整後の画面

Ubuntuで最新バージョンのEclipseをインストールする(日本語化)

Ubuntuで最新バージョンのEclipseをインストールしてみよう。
今回は Eclipse 3.6にチャレンジ。
Eclipse日本語化プロジェクトがあるが、
http://mergedoc.sourceforge.jp/
残念ながら最新バージョンはLinux(Ubuntu)に対応していない。
と言うことで、Eclipseの英語版のインストール後、日本語パッケージを適用することにする。
① 下記のURLからEclipseをダウンロード
http://www.eclipse.org/downloads/僕の場合は、Eclipse IDE for Java EE Developersをダウンロード。
② /home/<user_name> ディレクトリに解凍(解凍場所は自由)
③ http://mergedoc.sourceforge.jp/ からPleiades 本体の「最新版 1.3.x 不具合修正、Eclipse 3.5 Galileo 追加訳対応、他」をダウンロード。(今回は何でも最新版にしてみた 笑)
④ 上で解凍したディレクトリとは別のディレクトリに解凍
(ここでは/home/<user_name>/tempとする)
⑤ 以下のコマンドを実行し、日本語化されたファイルをEclipse本体にコピー
まずは日本語化ファイルを解凍したディレクトリに移動。
$ cd /home/<user_name>/temp/pleiades_1.3.1
$ sudo cp -Rf plugins/* /home/<user_name>/eclipse/plugins/
$ sudo cp -Rf features/* /home/<user_name>/eclipse/features/
⑥ 以下のコマンドでeclipse.iniを開いて編集
$ sudo gedit /home/<user_name>/eclipse/eclipse.ini
まず日本語用Eclipseロゴイメージを表示するために下の2行をコメントアウト。(この作業は必須ではないが、日本語用Eclipseのロゴがオリジナルより格好いいから僕はいつもする 笑)
編集前
-showsplash
org.eclipse.platform
編集後
#-showsplash
#org.eclipse.platform
それから最後の行に下記の内容で1行追加する(これは必須)

-javaagent:/home/<user_name>/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
※注意:/home/<user_name>/eclipseに実際にEclipseを入れたディレクトリを書き込むこと。

最後に ./eclipse -clean で実行すれば終わり。 

カッコイイロゴイメージ
ちゃんと日本語化されている。

UbuntuでAdempiereが文字化けする

UbuntuでAdempiereのクライアントが文字化けしてしまう。
Compiereにも同じ現象が起こる。




動作環境
Ubuntu 10.04
java version "1.6.0_20" (Sun Java)
Adempiere 3.6.0LTS
Web版は問題無し。
原因はJavaにあった(正確にはJava JRE)。
Javaアプレットのフォントがどうやら文字化けするらしい。
僕は下記のコマンドで解決した。
# cd /usr/lib/jvm/java-6-sun/jre/lib/fonts
# sudo mkdir fallback
# cd fallback
# sudo cp /usr/share/fonts/truetype/takao/Takao* .
(最後に「.」があるのに注意)






でもフォント自体が非常に読みづらいし、小さすぎる。
次の課題として残そう。