Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
JT
Uploaded by
Jun Terashita
PDF, PPTX
4,645 views
Alfresco勉強会#26 Alfresco SDK + Eclipseで開発してみよう
第26回のAlfresco勉強会で発表した資料です。MavenベースのAlfresco SDK 2.0とEclipseを使ってAlfrescoをカスタマイズするための環境作りの方法を紹介しました。
Software
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 33
2
/ 33
3
/ 33
4
/ 33
5
/ 33
6
/ 33
7
/ 33
8
/ 33
9
/ 33
10
/ 33
11
/ 33
12
/ 33
13
/ 33
14
/ 33
15
/ 33
16
/ 33
17
/ 33
18
/ 33
19
/ 33
20
/ 33
21
/ 33
22
/ 33
23
/ 33
24
/ 33
25
/ 33
26
/ 33
27
/ 33
28
/ 33
29
/ 33
30
/ 33
31
/ 33
32
/ 33
33
/ 33
More Related Content
PPTX
Share UIカスタマイズ Widget編
by
MoritakaSoma
PPTX
0からわかるAlfresco
by
MoritakaSoma
PDF
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
by
Jun Terashita
PPTX
Alfresco Bulk Import toolのご紹介
by
MoritakaSoma
PPTX
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
by
Tasuku Otani
PPTX
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
by
Tasuku Otani
PDF
Alfresco勉強会#18 alfrescoのバックアップとリストア
by
Tasuku Otani
PPTX
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
by
Tasuku Otani
Share UIカスタマイズ Widget編
by
MoritakaSoma
0からわかるAlfresco
by
MoritakaSoma
Alfresco勉強会#34 Alfrescoをカスタマイズする時に知っておくと便利なこと
by
Jun Terashita
Alfresco Bulk Import toolのご紹介
by
MoritakaSoma
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
by
Tasuku Otani
Alfresco勉強会#28 alfresco 5.0の検索機能をみてみよう
by
Tasuku Otani
Alfresco勉強会#18 alfrescoのバックアップとリストア
by
Tasuku Otani
Alfresco勉強会#26 alfresco community 5.0でssoを設定する
by
Tasuku Otani
What's hot
PPTX
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
by
Tasuku Otani
PDF
【第1.5回勉強会】後編 alfrescoの基本操作
by
マジセミ by (株)オープンソース活用研究所
PDF
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
by
Ryota Watabe
PDF
Keycloak拡張入門
by
Hiroyuki Wada
PPTX
DevOpsにおけるAnsibleの立ち位置と使い所
by
Hidetoshi Hirokawa
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PDF
Alfresco勉強会#28 メタデータテンプレート
by
Jun Terashita
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
by
NTT DATA Technology & Innovation
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PPTX
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
by
真乙 九龍
PDF
忙しい人の5分で分かるDocker 2017年春Ver
by
Masahito Zembutsu
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PDF
Apache Kafka 0.11 の Exactly Once Semantics
by
Yoshiyasu SAEKI
PDF
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
by
JustSystems Corporation
PDF
Oracle GoldenGate入門
by
オラクルエンジニア通信
PDF
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
by
Masaya Tahara
PDF
vSphere 7 へのアップグレードについて
by
富士通クラウドテクノロジーズ株式会社
PPTX
Kafka vs Pulsar @KafkaMeetup_20180316
by
Nozomi Kurihara
PPTX
backlogsでもCI/CDする夢を見る
by
Takeru Maehara
PDF
DevOps Sonatype Nexus Demo_2023.pdf
by
DevOps Tec
Alfresco勉強会#33 alfresco 5.1でコンテンツ自動削除を実装してみた
by
Tasuku Otani
【第1.5回勉強会】後編 alfrescoの基本操作
by
マジセミ by (株)オープンソース活用研究所
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
by
Ryota Watabe
Keycloak拡張入門
by
Hiroyuki Wada
DevOpsにおけるAnsibleの立ち位置と使い所
by
Hidetoshi Hirokawa
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
Alfresco勉強会#28 メタデータテンプレート
by
Jun Terashita
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
by
NTT DATA Technology & Innovation
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
by
真乙 九龍
忙しい人の5分で分かるDocker 2017年春Ver
by
Masahito Zembutsu
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
Apache Kafka 0.11 の Exactly Once Semantics
by
Yoshiyasu SAEKI
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
by
JustSystems Corporation
Oracle GoldenGate入門
by
オラクルエンジニア通信
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
by
Masaya Tahara
vSphere 7 へのアップグレードについて
by
富士通クラウドテクノロジーズ株式会社
Kafka vs Pulsar @KafkaMeetup_20180316
by
Nozomi Kurihara
backlogsでもCI/CDする夢を見る
by
Takeru Maehara
DevOps Sonatype Nexus Demo_2023.pdf
by
DevOps Tec
More from Jun Terashita
PDF
Alfresco勉強会#24 コンテンツのライフサイクル
by
Jun Terashita
PDF
Alfrescoのカスタムテーブルの使い方
by
Jun Terashita
PDF
[Alfresco]ドキュメントライブラリのUIカスタマイズ
by
Jun Terashita
PDF
Alfresco勉強会#33 Alfresco Solr Admin UI
by
Jun Terashita
PDF
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズ
by
Jun Terashita
PDF
Alfresco勉強会#21 Alfresco Workdesk Configuratorによるpluginの設定変更方法
by
Jun Terashita
PDF
Alfresco ce 4.2の新機能
by
Jun Terashita
PDF
[Alfresco]Custom Modelの作成
by
Jun Terashita
Alfresco勉強会#24 コンテンツのライフサイクル
by
Jun Terashita
Alfrescoのカスタムテーブルの使い方
by
Jun Terashita
[Alfresco]ドキュメントライブラリのUIカスタマイズ
by
Jun Terashita
Alfresco勉強会#33 Alfresco Solr Admin UI
by
Jun Terashita
Alfresco勉強会#35 AlfrescoのアクティビティフィードをSlackに送るカスタマイズ
by
Jun Terashita
Alfresco勉強会#21 Alfresco Workdesk Configuratorによるpluginの設定変更方法
by
Jun Terashita
Alfresco ce 4.2の新機能
by
Jun Terashita
[Alfresco]Custom Modelの作成
by
Jun Terashita
Alfresco勉強会#26 Alfresco SDK + Eclipseで開発してみよう
1.
2015© 2015年2月18日 Jun Terashita 第26回 Alfresco勉強会 Alfresco
SDK + Eclipseで開発してみよう
2.
2015©2 Alfresco SDK とは •
Alfrescoをカスタマイズするための開発ツール。 • Maven Alfresco SDKと呼ばれていたが、2.0がリリースされたタイミングで単にAlfresco SDK という名前に変わった。 • alfresco-amp-archetype、share-amp-archetype、alfresco-allinone-archetype (alfresco、share、solrの全部入り)の3種類がある。 • Alfresco SDK 2.0ではホットリロードできるようになったため、開発効率が向上している。 (参考) Alfresco SDK https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/ latest/index.html Git Hub https://github.com/Alfresco/alfresco-sdk/ Alfresco Community Edition 5.0のオンラインヘルプ http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html
3.
2015©3 Alfresco SDKとAlfrescoの互換性 Alfresco version Maven Alfresco Lifecycle (deprecated) Maven
SDK 1.0.x (deprecated) Maven SDK 1.1.x Alfresco SDK 2.0.x 3.2.2 - 4.1.1.x Compatible (but not supported) Not available Not available Not available 4.1.x (x >=2) Not available Compatible (but not supported) Not available Not available 4.2.x Not available Not available Compatible and supported Not available 5.0+ Not available Not available Not available Compatible and supported Alfresco SDK 2.0はAlfresco 5.x以降で使用可能 http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html
4.
2015©4 必要なもの http://docs.alfresco.com/community/concepts/alfresco-sdk-install-requirements.html • Maven 3.2.5+ •
JDK 1.7+ • Eclipse Luna(4.4)+ (m2eプラグインも必要)
5.
Alfresco AMP用のプロジェクトを作成
6.
2015©6 ご説明する手順について だいたい以下のAlfresco Community 5.0のオンラインヘルプどおりの手順ですが、Mavenビ ルドの実行方法等、一部手順を変えてある部分があります。 http://docs.alfresco.com/community/tasks/alfresco-sdk-rad-eclipse-amp-project.html
7.
2015©7 ウィザードでMavenプロジェクトを作成(1/2) Package Explorerで右クリック New >
Project... を選択 Maven > Maven Project を選択してNextをクリック
8.
2015©8 ウィザードでMavenプロジェクトを作成(2/2) 「Create a simple
project (skip archetype selection)」 のチェックを外して(たぶん最初から 外れている)Nextをクリック
9.
2015©9 アーキタイプカタログを追加(1/4) 「Configure ...」をクリック
10.
2015©10 アーキタイプカタログを追加(2/4) 「Add Remote Catalog
...」をクリック
11.
2015©11 アーキタイプカタログを追加(3/4) 以下のとおり入力(Descriptionはわかりやすければ何でもよい)してOKをクリック Catalog File: http://repo1.maven.org/maven2/archetype-catalog.xml Description
: Alfresco Archetypes 2.0
12.
2015©12 アーキタイプカタログを追加(4/4) もう一度OKをクリック
13.
2015©13 Repository AMP用のプロジェクトを作成(1/2) Catalogは先ほど作成したAlfresco Archetypes
2.0を選択 Filterにorg.alfrescoと入力 Artifact Idがalfresco-amp-archetypeの行を選択してNextをクリック
14.
2015©14 Repository AMP用のプロジェクトを作成(2/2) Group Id、Artifact
Id、Packageを適当に入力してFinishをクリック ※初回はここでけっこう時間がかかります。
15.
2015©15 補足:m2e connectorsの追加(1/2) プロジェクト作成後にエラーが発生していたらMarkersタブで問題を右クリックしてQuick Fix を選択 Discover
new m2e connectorsを選択してFinishをクリック
16.
2015©16 補足:m2e connectorsの追加(2/2) Finishをクリック Licence agreementに同意してFinishをクリック Warningが出たら内容を確認してOKをクリック Eclipseを再起動するよう促されるのでYesをクリックして再起動
17.
2015©17 補足:プロジェクトの構造 pom.xml • archetypeのバージョンやAlfrescoのバージョン、ロ グレベル等、ビルドする際の各種プロパティを必要 に応じて設定 src/main/java • Javaのソースコード •
ビルドするとJarにまとめられる src/main/amp • Javaのソースコード以外のリソース src/test/java • ユニットテスト用のソースコード src/test/resources • テスト用の設定ファイル src/test/properties/<env> • <env>毎に異なるalfresco-global.properties • デフォルトの<env>はlocal(pom.xmlで指定)
18.
ビルドとデプロイ
19.
2015©19 Mavenによるビルドとデプロイ Alfrescoのオンラインヘルプの以下のドキュメントではEclipseから実行する方法が書かれてい ますが、プロジェクトのルートディレクトリにあるrun.shを実行する方が簡単です。 http://docs.alfresco.com/community/tasks/alfresco-sdk-rad-eclipse-amp-project.html ターミナルでプロジェクトのルートディレクトリに移動し、run.shを実行します。 ※初回はけっこう時間かかります。 #!/bin/bash # Downloads the
spring-loaded lib if not existing and runs repository AMP springloadedfile=~/.m2/repository/org/springframework/springloaded/1.2.0.RELEASE/ springloaded-1.2.0.RELEASE.jar if [ ! -f $springloadedfile ]; then mvn validate -Psetup fi MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn integration-test -Pamp-to-war ホットリロードを可能にするSpring Loadedのインストールや MAVEN_OPTSの設定もやってくれる。
20.
2015©20 ブラウザで確認 ブラウザで以下のURLを開く。AdministratorのID/PWはadmin/admin。 http://localhost:8080/alfresco ※alfresco-amp-archetypeではShareは起動しない。
21.
2015©21 その他の使い方 mvn package •
ユニットテストを実行し、ampファイルを作成 mvn install • package + Mavenのローカルリポジトリへのインスト ール(?) mvn install -Pamp-to-war • install + WARとAMPをデプロイしたTomcatの起動 (実質はmvn integration-test -Pamp-to-war と同じ?) mvn clean -Ppurge • DB、alf_data、インデックス、ログファイルの削除
22.
ホットリロードを試す
23.
2015©23 ホットリロード:WebScriptのjsとftl ブラウザで以下のURLにアクセスすると、「Message: Hello World!」と表示される。 http://localhost:8080/alfresco/service/sample/helloworld Eclipseで以下のファイルを開き、内容を変更するとブラウザでリロードするだけで変更が反映 される。 src/main/amp/config/alfresco/extension/templates/webscripts/webscript.get.js src/main/amp/config/alfresco/extension/templates/webscripts/webscript.get.html.ftl
24.
2015©24 ホットリロード:Javaのクラス サンプルコードのDemoComponent.childNodesCountに以下の行を追記して保存する。 System.out.println("childNodesCount has been
executed"); public int childNodesCount(NodeRef nodeRef) { System.out.println("childNodesCount has been executed"); log.debug("childNodesCount has been executed"); return nodeService.countChildAssocs(nodeRef, true); } パッケージエクスプローラでユニットテスト用のDemoComponentTest.javaを右クリックし、 Run As > JUnit Test を選択すると、ユニットテストが実行されてEclipseのコンソールタブま たはターミナルに「childNodesCount has been executed」と表示される。
25.
2015©25 補足:ログレベルの設定 Alfresco Repo AMP
Archetypeから作成したプロジェクトでは、以下のファイルにログレベル が設定されているが、module.log.levelというパラメータはどこにも設定されていない。 src/main/amp/config/alfresco/module/<artifactId>/log4j.properties 以下のいずれかの方法で設定する。 1. Mavenのコマンドを実行する際にオプションで指定する。 $ mvn integration-test -Dmodule.log.level=DEBUG 2. POMの<properties>で設定する。 ※POMを変更した際は再起動が必要。 log4j.logger.org.alfresco.demoamp.DemoComponent=${module.log.level} … <properties> … <module.log.level>DEBUG</module.log.level> … </properties> …
26.
MySQLを使う場合
27.
2015©27 開発用DBの作成 以下のSQLを実行して開発用のDBを作成する(DB名やユーザ、パスワードは後でpom.xmlに 書くプロパティと合っていれば何でもよい)。 create database alfrescoamp
default character set utf8; grant all on alfrescoamp.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option; grant all on alfrescoamp.* to ‘alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;
28.
2015©28 POMにMySQL用のdependencyを設定 POMにdependencyを設定する。 <dependencies> ... <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.28</version> </dependency> </dependencies> 「Overriding managed version
5.1.31 for mysql-connector-java」というWarning が出るためversionは指定しない方がよいかも(指定しなくても動いた)。 artifactId : alfresco-parent のPOMのpropertiesに <dependency.mysql.version>5.1.31</dependency.mysql.version> が指定されている。
29.
2015©29 POMにDB接続用のパラメータを設定 POMのpropertiesにDB接続用のパラメータを設定する。 <properties> ... <!-- MySQL configuration
--> <alfresco.db.name>alfrescoamp</alfresco.db.name> <alfresco.db.username>alfresco</alfresco.db.username> <alfresco.db.password>alfresco</alfresco.db.password> <alfresco.db.host>localhost</alfresco.db.host> <alfresco.db.port>3306</alfresco.db.port> <alfresco.db.params></alfresco.db.params> <alfresco.db.url>jdbc:mysql://${alfresco.db.host}:${alfresco.db.port}/$ {alfresco.db.name}</alfresco.db.url> <alfresco.db.datasource.class>org.gjt.mm.mysql.Driver</ alfresco.db.datasource.class> </properties>
30.
2015©30 既存のalf_dataを削除してAlfrescoを起動 ターミナルで mvn clean
-Ppurge を実行した上で、 run.sh を実行する。
31.
以上。
32.
2015©32 最後に • プロジェクトの作り方はshare-amp-archetypeもalfresco-allinone-archetypeも同じです。た だ、alfresco-allinone-archetypeはマルチモジュールになっています。 • カスタムモデルの定義やWebScriptの開発、ShareのUIのカスタマイズ方法等、SDKを使った 具体的な開発については今後の勉強会で紹介したいと思います。
Download