2016年7月27日
Jun Terashita
第34回 Alfresco勉強会 Alfrescoをカスタマイズする時に
知っておくと便利なこと
発表内容について
•Alfrescoをカスタマイズする時に知っておくと便利なこととして、Alfrescoの大まかな構成とソースコードの確認方法についてご紹介します。
•Alfrescoは後述するように複数のコンポーネントで構成されています。各コンポーネントの役割をおおまかに把握しておくことで、カスタマイズする時にどこに手を入れればいいのかイメージが掴みやすくなります。
•また、カスタマイズする時はゼロからコードを書くことは少なく、標準機能の「ここを変えたい」とか「ここに処理を追加したい」というケースが多いため、まずはソースコードを読むところからスタートすることが多いです。そういう時にオススメのソースコードの確認方法をご紹介します。
3
今回使用する環境
•Alfresco SDK 2.2.0
•Alfresco Community Edition 5.1.e ※2016.07.27現在、SDK 2.2.0のpom.xmlで指定されているデフォルト値
•Eclipse Mars 4.5.2
4
1. Alfrescoの大まかな構成
インストーラでインストールした時の構成
Tomcat
Alfresco Share
Alfresco Platform
Solr
webapps
DB
PostgreSQL
File System
alf_data
6
各コンポーネントの主な役割
Tomcat
Alfresco Share
Alfresco Platform
Solr
webapps
DB
PostgreSQL
File System
alf_data
7
Web UI 検索機能
• 文書管理リポジトリとしての主要な機能を提供
• Alfrescoのコアとなる部分
コンテンツの属性情報
コンテンツのファイル実体やSolrの検索インデックス
2. Alfrescoのソースコードの確認方法
8
個人的にオススメしたい方法
1. Alfresco SDKを使用してMavenプロジェクトを作成
2. 作成したMavenプロジェクトをEclipseにインポート
3. Eclipseにインポートしたプロジェクトの「Maven Dependencies」からJARファイルの中身を確認
9
オススメする理由
• 使用しているバージョンのソースコードを勝手にダウンロードしてくれる。
• ハイライティングやF3で宣言を開く等、Eclipseの機能が使える。
• バージョンを変えたい時はpom.xmlの<alfresco.version>を書き換えればよい。 ※ただし、今回の例(SDK 2.2.0)では書き換えられるのは5.1.xのみ。4.xや5.0.xのソースコードを確認したい場合はCompatibility Matrixを見てプロジェクトを作り直した方が安全かも。 http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html
• ソースコードを読んでいて、「ここを変えたらどうなる?」とか「ここにログを仕込んでみよう」とか思った時にすぐに試せる。
10
1. Alfresco SDKを使用してMavenプロジェクトを作成
1. Alfresco社のドキュメントに従ってプロジェクトを作成します。 Getting Started with the Alfresco SDK まずは上記のリンク先の「Before you begin」や「Installing and configuring software」に従ってプロジェクトを作る準備をします。
11
1. Alfresco SDKを使用してMavenプロジェクトを作成
2. 今回は例としてRepository extension projectを作ってみます。 Creating a Repository extension project (AMP)
$ mvn archetype:generate -Dfilter=org.alfresco: … [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype: 1: remote -> org.alfresco.maven.archetype:alfresco-allinone-archetype (Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for: Repository WAR overlay, Repository AMP, Share WAR overlay, Solr configuration, and embedded Tomcat runner) 2: remote -> org.alfresco.maven.archetype:alfresco-amp-archetype (Sample project with full support for lifecycle and rapid development of Repository AMPs (Alfresco Module Packages)) 3: remote -> org.alfresco.maven.archetype:share-amp-archetype (Share project with full support for lifecycle and rapid development of AMPs (Alfresco Module Packages)) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 2 … $ cd <生成されたディレクトリ> $ man clean install
12
2. 作成したMavenプロジェクトをEclipseにインポート
1. Eclipseを起動し、Project Explorerで 右クリック > Import > Import... を選択します。
2. Maven > Existing Maven Projects を選択して「Next >」をクリックします。
3. 先ほど作成したプロジェクトのディレクトリを選択し、Projects: に表示されたプロジェクトをチェックして「Finish」をクリックします。
4. 画面の指示に従って設定し、Eclipseを再起動すれば完了です。
13
3. 「Maven Dependencies」からJARファイルの中身を確認
1. Project ExplorerからインポートしたプロジェクトのMaven Dependenciesを開き、適当なJAR(alfresco-repository-5.1.e.jar等)を展開して確認したいファイルをダブルクリックします。 ※初回はこのタイミングでソースコードがダウンロードされます。
14
grepかけたい、という時は?
•Eclipseで一度JARを開いた後であれば、例えば alfresco-repository-5.1.e.jar の場合は以下の場所にソースコードが入ったJARファイルが置かれています。 ~/.m2/repository/org/alfresco/alfresco-repository/5.1.e/alfresco-repository-5.1.e-sources.jar
•このファイルを適当な場所にコピーして拡張子を jar → zip に変更した上で展開すればターミナルやテキストエディタで扱えるようになります。
15
まとめ
•Alfrescoの大まかな構成とソースコードの確認方法についてご紹介しました。
•カスタマイズする時などに参考にしていただければと思います。
16
Recommended