alfresco勉強会#34 alfrescoをカスタマイズする時に知っておくと便利なこと
TRANSCRIPT
![Page 1: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/1.jpg)
2016年7月27日
Jun Terashita
第34回 Alfresco勉強会 Alfrescoをカスタマイズする時に
知っておくと便利なこと
![Page 2: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/2.jpg)
発表内容について
•Alfrescoをカスタマイズする時に知っておくと便利なこととして、Alfrescoの大まかな構成とソースコードの確認方法についてご紹介します。
•Alfrescoは後述するように複数のコンポーネントで構成されています。各コンポーネントの役割をおおまかに把握しておくことで、カスタマイズする時にどこに手を入れればいいのかイメージが掴みやすくなります。
•また、カスタマイズする時はゼロからコードを書くことは少なく、標準機能の「ここを変えたい」とか「ここに処理を追加したい」というケースが多いため、まずはソースコードを読むところからスタートすることが多いです。そういう時にオススメのソースコードの確認方法をご紹介します。
3
![Page 3: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/3.jpg)
今回使用する環境
•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をカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/4.jpg)
1. Alfrescoの大まかな構成
![Page 5: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/5.jpg)
インストーラでインストールした時の構成
Tomcat
Alfresco Share
Alfresco Platform
Solr
webapps
DB
PostgreSQL
File System
alf_data
6
![Page 6: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/6.jpg)
各コンポーネントの主な役割
Tomcat
Alfresco Share
Alfresco Platform
Solr
webapps
DB
PostgreSQL
File System
alf_data
7
Web UI 検索機能
• 文書管理リポジトリとしての主要な機能を提供
• Alfrescoのコアとなる部分
コンテンツの属性情報
コンテンツのファイル実体やSolrの検索インデックス
![Page 7: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/7.jpg)
2. Alfrescoのソースコードの確認方法
8
![Page 8: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/8.jpg)
個人的にオススメしたい方法
1. Alfresco SDKを使用してMavenプロジェクトを作成
2. 作成したMavenプロジェクトをEclipseにインポート
3. Eclipseにインポートしたプロジェクトの「Maven Dependencies」からJARファイルの中身を確認
9
![Page 9: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/9.jpg)
オススメする理由
• 使用しているバージョンのソースコードを勝手にダウンロードしてくれる。
• ハイライティングや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をカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/10.jpg)
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をカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/11.jpg)
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をカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/12.jpg)
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をカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/13.jpg)
3. 「Maven Dependencies」からJARファイルの中身を確認
1. Project ExplorerからインポートしたプロジェクトのMaven Dependenciesを開き、適当なJAR(alfresco-repository-5.1.e.jar等)を展開して確認したいファイルをダブルクリックします。 ※初回はこのタイミングでソースコードがダウンロードされます。
14
![Page 14: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/14.jpg)
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をカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/15.jpg)
まとめ
•Alfrescoの大まかな構成とソースコードの確認方法についてご紹介しました。
•カスタマイズする時などに参考にしていただければと思います。
16
![Page 16: Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと](https://reader030.vdocuments.site/reader030/viewer/2022021506/587bf40a1a28ab765a8b7925/html5/thumbnails/16.jpg)