16
2016727Jun Terashita 34Alfresco勉強会 Alfrescoをカスタマイズする時に 知っておくと便利なこと

Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

Embed Size (px)

Citation preview

Page 1: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

2016年7月27日

Jun Terashita

第34回 Alfresco勉強会 Alfrescoをカスタマイズする時に

知っておくと便利なこと

Page 2: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

発表内容について

•Alfrescoをカスタマイズする時に知っておくと便利なこととして、Alfrescoの大まかな構成とソースコードの確認方法についてご紹介します。

•Alfrescoは後述するように複数のコンポーネントで構成されています。各コンポーネントの役割をおおまかに把握しておくことで、カスタマイズする時にどこに手を入れればいいのかイメージが掴みやすくなります。

•また、カスタマイズする時はゼロからコードを書くことは少なく、標準機能の「ここを変えたい」とか「ここに処理を追加したい」というケースが多いため、まずはソースコードを読むところからスタートすることが多いです。そういう時にオススメのソースコードの確認方法をご紹介します。

3

Page 3: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

今回使用する環境

•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

Page 4: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

1. Alfrescoの大まかな構成

Page 5: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

インストーラでインストールした時の構成

Tomcat

Alfresco Share

Alfresco Platform

Solr

webapps

DB

PostgreSQL

File System

alf_data

6

Page 6: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

各コンポーネントの主な役割

Tomcat

Alfresco Share

Alfresco Platform

Solr

webapps

DB

PostgreSQL

File System

alf_data

7

Web UI 検索機能

• 文書管理リポジトリとしての主要な機能を提供

• Alfrescoのコアとなる部分

コンテンツの属性情報

コンテンツのファイル実体やSolrの検索インデックス

Page 7: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

2. Alfrescoのソースコードの確認方法

8

Page 8: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

個人的にオススメしたい方法

1. Alfresco SDKを使用してMavenプロジェクトを作成

2. 作成したMavenプロジェクトをEclipseにインポート

3. Eclipseにインポートしたプロジェクトの「Maven Dependencies」からJARファイルの中身を確認

9

Page 9: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

オススメする理由

• 使用しているバージョンのソースコードを勝手にダウンロードしてくれる。

• ハイライティングや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

Page 10: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

1. Alfresco SDKを使用してMavenプロジェクトを作成

1. Alfresco社のドキュメントに従ってプロジェクトを作成します。 Getting Started with the Alfresco SDK まずは上記のリンク先の「Before you begin」や「Installing and configuring software」に従ってプロジェクトを作る準備をします。

11

Page 11: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

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

Page 12: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

2. 作成したMavenプロジェクトをEclipseにインポート

1. Eclipseを起動し、Project Explorerで 右クリック > Import > Import... を選択します。

2. Maven > Existing Maven Projects を選択して「Next >」をクリックします。

3. 先ほど作成したプロジェクトのディレクトリを選択し、Projects: に表示されたプロジェクトをチェックして「Finish」をクリックします。

4. 画面の指示に従って設定し、Eclipseを再起動すれば完了です。

13

Page 13: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

3. 「Maven Dependencies」からJARファイルの中身を確認

1. Project ExplorerからインポートしたプロジェクトのMaven Dependenciesを開き、適当なJAR(alfresco-repository-5.1.e.jar等)を展開して確認したいファイルをダブルクリックします。 ※初回はこのタイミングでソースコードがダウンロードされます。

14

Page 14: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

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

Page 15: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと

まとめ

•Alfrescoの大まかな構成とソースコードの確認方法についてご紹介しました。

•カスタマイズする時などに参考にしていただければと思います。

16

Page 16: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと