Showing posts with label Alfresco SDK. Show all posts
Showing posts with label Alfresco SDK. Show all posts

Friday, August 28, 2020

Alfresco 201911GAで管理ツールからユーザ検索できない問題の解決方法

こんにちは。てらしたです。今回はAlfresco 201911GAのリリースノートにKnown Issuesとして記載されている、Shareの管理ツールからユーザ検索ができない問題の解決方法についてです。

リリースノートからもリンクが貼られているこちらのissueに問題の内容と解決方法が書いてあるので、その内容のご紹介になります。どうやらEnterprise版(有償版)のための機能のバグ修正の結果として生まれた新たなバグのようです。

解決方法の前に、まずは問題の内容を確認します。Alfrescoを起動し、Shareにadminでログインしてヘッダの「管理ツール」をクリックします。次に管理ツール画面で左メニューの「ユーザー」をクリックします。本来はこのページでユーザを検索できるはずですが、検索しても「アイテム読み込み時のエラー」というエラーメッセージが表示されて検索できません。ブラウザの開発ツールで確認してみると、people-enterpriseというapiにリクエストを投げて404が返ってきていることが原因のようです(Enterprise版用のAPIだから)。



上にリンクを貼ったissueによると、share-config.xmlでshow-authorization-statusというプロパティがtrueになっていることが原因のようなので、これをfalseにしてあげれば解決します。

Alfresco SDK 4.1で修正する場合

SDKを使って修正する場合(SDK4.1の開発環境構築についてはこちら)は、share-jarプロジェクトの [artifactId]-share/src/main/resources/META-INF/share-config-custom.xmlの<alfresco-config>タグの間の適当な場所に以下のコードを追記してリビルドすればOKです。

<config evaluator="string-compare" condition="Users" replace="true">
    <users>
        <!-- minimum length for username and password -->
        <username-min-length>2</username-min-length>
        <password-min-length>3</password-min-length>
        <show-authorization-status>false</show-authorization-status>
     </users>
     <!-- This enables/disables the Add External Users Panel on the Add Users page. -->
     <enable-external-users-panel>false</enable-external-users-panel>
</config>
  

Dockerfileで修正する場合

201911GAをdocker composeを使って試用している場合(やり方についてはこちら)でも、show-authorization-statusというプロパティを書き換えればいいだけなので方法はいろいろあると思いますが、手っ取り早く確認したいのであれば以下の方法が簡単なのではないかと思います。

docker-compose.ymlと同じディレクトリに以下の内容を記載したDockerfileを作成します。

FROM alfresco/alfresco-share:6.2.0

ARG TOMCAT_DIR=/usr/local/tomcat

# Patch for https://github.com/Alfresco/acs-community-packaging/issues/367
RUN sed -i 's@true@false@' \
	$TOMCAT_DIR/webapps/share/WEB-INF/classes/alfresco/share-config.xml

次に、docker-compose.ymlの以下の部分を

share:
    image: alfresco/alfresco-share:6.2.0
    mem_limit: 1g
        environment:
    ...

以下のように書き換えます。image名は既存のものと被らなければ何でもいいと思いますし、指定しなくても動くはずです。

share:
    image: custom-alfresco-share:development
    build:
        dockerfile: ./Dockerfile
        context: ./
    mem_limit: 1g
        environment:
    ...

修正した後に確認してみると、以下のようにユーザ検索が問題なく実行できると思います。


こんなことをしなくてもいいようにいずれ修正されるのではないかと思いますが、今のところはこのような方法で修正することが可能です。

Monday, August 24, 2020

Alfresco SDK 4.1を使って開発環境を構築する

こんにちは。てらしたです。 今回は現時点(2020年8月)での最新のSDKである4.1を使って、Alfrescoをカスタマイズするための開発環境を構築する手順をご紹介します。

以前のSDK 3.xとは、動作確認用のAlfrescoがDockerコンテナとして起動するようになっている点が大きく異なっています。これによって、本番環境でもコンテナを使う場合は、開発環境との環境差異に起因する問題が従来より少なくなることが期待できるかもしれません。

開発環境の構築手順については3.xの時と基本的には同じです。以下のドキュメントに沿って1つずつ手順をご説明していきます。
Getting started with Alfresco SDK 4.1

準備

開発用のプロジェクトを作るためには、JDK11、Maven、DockerおよびDocker Composeのインストール/設定が必要です。

まずJDK11をインストールし、環境変数JAVA_HOMEを適切に設定します。インストールと設定が終わったら以下のコマンドで確認します。

java -version
echo $JAVA_HOME

Mavenをインストールします(バージョンは3.3以上)。こちらも以下のコマンドでバージョンを確認します。

mvn -v

Dockerをインストールします。Docker ComposeがDockerのインストール時に一緒にインストールされていない場合は個別にインストールします。終わったら以下のコマンドで確認します。

docker -v
docker-compose -v

プロジェクトの作成

準備が整ったので、適当なディレクトリに移動し、以下のコマンドを実行してMaven Archetypeからプロジェクトを作成します。

mvn archetype:generate -Dfilter=org.alfresco:

ここからは対話形式で設定していきます。どのarchetypeを使用するか聞かれるので、

  • alfresco-allinone-archetype
  • alfresco-platform-jar-archetype
  • alfresco-share-jar-archetype
の3つ(以下の2, 4, 5)のいずれかを選択します。
Choose archetype:
1: remote -> org.alfresco.maven.archetype:activiti-jar-archetype (DEPRECATED - UNSUPPORTED - EXPERIMENTAL)
2: remote -> org.alfresco.maven.archetype:alfresco-allinone-archetype (Sample multi-module project for All-in-One development on the Alfresco platform. Includes modules for Platform/Repository JAR and Share JAR)
3: remote -> org.alfresco.maven.archetype:alfresco-amp-archetype (Sample project with full support for lifecycle and rapid development of Repository AMPs (Alfresco Module Packages))
4: remote -> org.alfresco.maven.archetype:alfresco-platform-jar-archetype (Sample project with full support for lifecycle and rapid development of Platform/Repository JARs and AMPs (Alfresco Module Packages))
5: remote -> org.alfresco.maven.archetype:alfresco-share-jar-archetype (Share project with full support for lifecycle and rapid development of JARs and AMPs (Alfresco Module Packages))
6: 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): : 

Alfresco Platformのみカスタマイズする場合は4. alfresco-platform-jar-archetype、Shareのみカスタマイズする場合は5. alfresco-share-jar-archetype、両方の場合は2. alfresco-allinone-archetypeを選べばよいと思います。

次に、どのバージョンを使用するか聞かれるので4.1.0を選択します(デフォルトで選択されているはずなのでEnterを押すだけでOKです)。

Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version: 
1: 2.0.0-beta-1
2: 2.0.0-beta-2
3: 2.0.0-beta-3
4: 2.0.0-beta-4
5: 2.0.0
6: 2.1.0
7: 2.1.1
8: 2.2.0
9: 3.0.0
10: 3.0.1
11: 3.1.0
12: 4.0.0-beta-1
13: 4.0.0
14: 4.1.0
Choose a number: 14:

最後に、groupIdやartifactIdといった情報の入力を求められるので適当に入力します。ここで入力したartifactIdが、プロジェクトのディレクトリ名やビルド時に作成されるJARファイルのファイル名として使用されます。

Define value for property 'groupId': jp.aegif
Define value for property 'artifactId': alfresco-allinone-test
[INFO] Using property: version = 1.0-SNAPSHOT
Define value for property 'package' jp.aegif: : jp.aegif.alfresco

入力内容が合っているか聞かれるので、問題なければYを入力します(何も入力せずEnterでも同じです)。Y以外を入力するとgroupIdの入力からやり直すことができます。archetypeの選択からやり直したい場合はCtrl+Cで終了して最初からやり直せば大丈夫です。

Confirm properties configuration:
groupId: jp.aegif
artifactId: alfresco-allinone-test
version: 1.0-SNAPSHOT
package: jp.aegif.alfresco
 Y: :

「BUILD SUCCESS」と表示されたらプロジェクト作成完了です。

Buildして起動

最初にmvnコマンドを実行したディレクトリにartifactIdと同名のディレクトリ(ここではalfresco-allinone-test)が作成されているはずなのでそのディレクトリに移動します。

cd alfresco-allinone-test

このディレクトリで、LinuxやMacでは

./run.sh build_start

Windowsでは

run.bat build_start

を実行すると、カスタマイズが適用されたAlfresco(厳密に言うとAlfrescoを動かすために必要なコンテナ群)が起動します。

デフォルトではホスト側のポート8080がAlfresco Platform、8180がShareに割り当てられるので、Shareにアクセスするためには http://localhost:8180/share を開く必要がある点にご注意ください。使用するポートを変更したい場合もあると思うので、その方法については下の方でご説明します。

停止したい場合はCtrl+Cでログ出力を中止して、

./run.sh stop

または

 run.bat stop

で停止できます。

run.shやrun.batを見ていただけるとわかるように、build_startやstop以外にもいくつかコマンドが用意されています。PlatformやShareだけを再起動するreload_acsやreload_shareは実際に開発する際に使用頻度が高そうです。

また、作成されたPlatformやShareのプロジェクトは空ではなく、それぞれサンプルの設定ファイル等が入っているので、どこにどういうファイルを置けば変更が反映されるのか確認しやすいようになっています。カスタマイズが思ったように反映されないという時にはサンプルを参考にしてみると解決するかもしれません。

バージョンの変更

Alfrescoのバージョンを201911GAに合わせるには、run.shやrun.batがあるディレクトリのpom.xmlで以下のようにplatformのバージョンを6.2.0-gaに、shareのバージョンを6.2.0に設定してください(デフォルトではplatformが6.2.0-eaになっているはずです)。

<alfresco.platform.version>6.2.0-ga</alfresco.platform.version>
<alfresco.share.version>6.2.0</alfresco.share.version>

後で説明しますと上に書いたポートの変更方法ですが、このpom.xmlの以下の部分を書き換えると変更できます。

<share.port>8180</share.port>
...
<acs.port>8080</acs.port>

pom.xmlを変更したら、以下のコマンドでbuildし直せば完了です(run.batの方は省略)。

  ./run.sh stop
  ./run.sh purge
  ./run.sh build_start

不要なDockerイメージの掃除

最後に注意点として、このSDK4.1ではbuildする度にDockerのimageを作るので、何度もbuildしていると以下のようにdanglingなimageが大量にできてしまいます。これらのimageを使うことはないと思うので定期的に掃除した方が良さそうです。

REPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZE
alfresco-content-services-alfresco-allinone-test    development         3182d8b5ebad        45 minutes ago      1.43GB
alfresco-share-alfresco-allinone-test               development         dc21bb791a51        45 minutes ago      786MB
<none>                                              <none>              51fe77a145c1        49 minutes ago      1.43GB
<none>                                              <none>              6cc266a96034        49 minutes ago      786MB
<none>                                              <none>              82290779e1a0        59 minutes ago      1.43GB
<none>                                              <none>              20aab698f49a        59 minutes ago      786MB
...

以上、SDK4.1を使用した開発環境の作り方をご紹介しました。作成したプロジェクトをEclipseやInteliJ IDEAといったIDEにインポートして開発したい場合は以下のドキュメントを参考に設定していただければと思います。
Setting up your development environment using Eclipse
Setting up your development environment using Intellij IDEA

Wednesday, July 19, 2017

第39回Alfresco勉強会 Share UIカスタマイズの第一歩

こんにちは。そうまです。

6月21日(水)に、弊社オフィスにて第39回Alfresco勉強会が開催されました。
そこで、弊社の寺下から「Alfresco 5.2の新機能のご紹介」を、私から「Share UIカスタマイズの第一歩」を発表させていただきました。

「Share UIカスタマイズの第一歩」では、Alfrescoのカスタマイズでご要望の多い、Share UIのカスタマイズについて、これからカスタマイズを行おうと考えている方のとっかかりとなりそうな初歩的な内容について具体的にご紹介させていただきました。


Share UIカスタマイズの第一歩 from MoritakaSoma

発表したカスタマイズはShare UIのヘッダーにあるメニュー項目の変更(削除、追加)で、UIのカスタマイズとして非常にご要望の多い内容です。
比較的簡単にカスタマイズ可能で、カスタマイズの適用と非適用状態の切り替えをランタイムにUIから可能ですので、普段Alfrescoを利用していて気になっていたなどという方は気軽にチャレンジしていただければと思います。


次回の第40回 Alfresco勉強会は8月23日(水)に開催しますので、ご興味のある方は以下のリンクから参加登録をお願いします。

第40回 Alfresco勉強会 

勉強会ですので参加者の方からの発表も大歓迎です。また、発表はできないけどこういう内容が知りたい、こんなところで困っているから教えてほしい、といった要望があれば上記リンク先のconnpassのフィードに投稿していただければと思います。

Friday, March 31, 2017

第38回Alfresco勉強会を開催しました。

こんにちは。そうまです。

3月22日(水)に、弊社オフィスにて第38回Alfresco勉強会が開催され、そこで弊社の戸谷から「Alfresco カスタマイズHow-To WebDAVのカスタマイズ例」を発表させていただきました。

「Alfresco カスタマイズHow-To WebDAVのカスタマイズ例」ではAlfresco platformのカスタマイズを行う際にどのような手順と方針で行えば良いかについて、AlfrescoのWebDAVサービスをカスタマイズする具体例を通して説明しています。



これからAlfrescoカスタマイズを行おうと考えている方や、カスタマイズを行う際にどのような方針で行うのがAlfrescoのセオリーであるかを知りたい方には特に参考になるのではないかと思います。


次回のAlfresco勉強会は日程が決まり次第以下のリンクのページでお知らせいたします。

Alfresco勉強会

勉強会ですので参加者の方の発表も大歓迎です。また、発表はできないけどこういう内容が知りたい、こんなところで困っているから教えてほしい、といった要望があればconnpassのフィードに投稿していただければと思います。

Monday, December 5, 2016

Alfresco Community 5.1, 5.2でalfresco-sdkを使ってmavenビルドする際の注意点

こんにちは。大谷です。

先日Alfresco Community 5.1.gでビルド環境を作る際にハマりポイントがあったので、備忘代わりにブログエントリをば。

バージョン番号が違う?


「Alfresco SDK 2.2でJARパッケージの拡張モジュールを作る」などのエントリを参考にしてalfresco-sdkベースのmavenビルド環境を作ったのですが、おなしな状況が発生しました。

pom.xmlの alfresco.version 5.1.g(記事執筆現在の最新のGA版)として、 mvn integration-test -Prun でカスタムモジュールのビルドとテストサーバ起動を行いました。いざ http://localhost:8080/alfresco/ にアクセスしてみると、なんかバージョン番号がおかしい…なんと「Community - 5.2.0 (r128301-b8)」と表示されました。
5.1.gと指定してビルドしてるはずなのに何故か5.2.0...

念のためインストーラインストールの5.1.g(201605-GA)を確認すると「Community - 5.1.0 (r127059-b7)」と表示されるので、mavenビルド環境に何か問題がありそうです(なお、schema番号も10,003と10,001で異なります)。

原因と解決方法は…


Alfrescoのドキュメントをよく読んでみると、原因と解決方法が書いてありました。結論から言うと、alfresco.warのartifactIdが変わったことが原因でした。

Alfresco Documentationのこの記事によれば、Alfresco Community 5.1.e以降ではalfresco.warのartifactIdが旧来の"alfresco"から"alfresco-platform"に変わったようです。pom.xmlのpropertiesタグ内に <alfresco.repo.artifactId>alfresco-platform</alfresco.repo.artifactId> と追記することで対応できます。

    <properties>
        <!-- The following are default values for data location and Alfresco Community version.
             Uncomment if you need to change (Note. current default version for Enterprise edition is 5.0.1)
-->
          <alfresco.version>5.1.g</alfresco.version>
          <alfresco.repo.artifactId>alfresco-platform</alfresco.repo.artifactId>
<!--
          <alfresco.data.location>alf_data_dev</alfresco.data.location> -->

        <!-- This control the root logging level for all apps uncomment and change, defaults to WARN
            <app.log.root.level>WARN</app.log.root.level>
        -->

        <!-- Set the enviroment to use, this controls which properties will be picked in src/test/properties
             for embedded run, defaults to the 'local' environment. See SDK Parent POM for more info.
        <env>local</env>
        -->
    </properties>

pom.xmlの設定を上記のように変更してリビルドすると、以下のように5.1.gの適切なバージョン番号 が表示されるようになるかと思います。

5.1.gの場合の正しいバージョン番号はこれ

5.1系、5.2系でalfresco-sdkを使って開発を進める際にはご注意ください。

Thursday, December 1, 2016

Alfresco勉強会#36 Alfresco 5でカスタムREST APIを作ってみよう

こんにちは。おおたにです。

2016年11月30日(水)に弊社オフィスで開催された第36回Alfresco勉強会で、「Alfresco 5でカスタムREST APIを作ってみよう」という発表をしました。なお、もう1本の発表は「Google Docs連携の機能のご紹介」というタイトルで、Google Docsを使ってオンライン編集し、保存時にはAlfrescoに直接書き戻す連携方法が紹介されました。

なお、今回一番のトピックは、参加者が14人と過去最高を記録したことかと思います(パチパチ)。参加者が集まるようになって純粋に嬉しい反面、開催スペースが手狭でご不便をおかけしてしまいました。

さて本題ですが、Alfrescoはコア機能のほとんどをREST APIという形で外部から利用可能になっています。Spring Web Scriptsというフレームワークを使って実現しているのですが、そのWeb Scripts自体の簡単な説明と、Web Scriptsを使ったREST APIの追加方法を簡単に紹介しました。



資料でも紹介していますが、以下の3ステップで簡単にREST APIの追加ができます。
  1. 定義ファイル(xml)、ロジック(JavaScriptもしくはJavaで記述)、レスポンス生成用テンプレート(ftl)の3つを作る
  2. 所定の場所に格納する
  3. Web Scriptsをリフレッシュする

想像よりだいぶ簡単にできると思いますので、興味のある方は是非チャレンジしてみてください。
例えば以下のような場合には、必要なロジックを実装したカスタムREST APIを実装するメリットがあると思います。
  • 外部システムと連携したいけど期待される処理が実装されたREST APIが無い
  • 複数のREST APIを順次呼ぶような連携方式になってしまう

というわけで、次回Alfresco勉強会は2017年1月25日(水)になります。興味のある方はconnpass上のイベントから参加登録をお願いします。

また、Alfrescoの基本的な使い方や機能を知りたい、という方向けに「OSSドキュメント管理Alfrescoセミナー :  導入からチームコラボレーションの設定まで」というセミナーを定期開催しています。こちらの方が体系だったAlfrescoの説明を聞けると思いますので、興味がある方は是非お申込みください。

Friday, May 27, 2016

Alfresco勉強会#33でファイルの自動削除機能を実装する話をしました

こんにちは。おおたにです。

先日第33回Alfresco勉強会が開催され、そこでファイル自動削除機能の実装について発表させていただきました。

out-of-the-boxのAlfrescoでは、ファイルの有効期限を管理するための属性を付与することはできるのですが、 その有効期限に応じた何らかのアクション(削除とかアーカイブとか)を実行するための機能は提供されていません。そこで、今回の発表では、有効期限を過ぎたコンテンツを自動削除するようなスケジュールジョブの実装方法を紹介しました。なお、ジョブの実装を変えることで、コンテンツのアーカイブを実現することも可能です。



カスタマイズにはAlfresco SDKを使ったのですが、Alfresco SDK + Eclipseの開発の進め方については以前の勉強会で発表された「Alfresco SDK+Eclipseで開発してみよう」Alfresco公式のドキュメントがとても役に立つので是非チェックしてみてください。


なお、次回の第34回Alfresco勉強会は2016年7月27日(水)ですので、興味がある方はAlfresco勉強会ページから参加登録してみてください。

Monday, May 23, 2016

Alfresco SDK 2.2でJARパッケージの拡張モジュールを作る

こんにちは。おおたにです。

今回はAlfresco SDKを使ってAlfresco Community Edition 5.1系向けの開発を行うためのtipsを紹介したいと思います。なお、Alfresco SDKの詳細やEclipse+Alfresco SDKでの開発方法については本ブログの記事「Alfresco勉強会#26でAlfresco SDK + Eclipseによる開発方法について発表しました」を参照すると実践的な情報が得られると思います。

記事執筆時点でのAlfresco Community Editionの最新版は5.1.fです。5.1系に対応したAlfresco SDKは2.2.xで、現時点での最新版は2.2.0です。以下ではこれらの最新版を用いて、JARパッケージングされた拡張モジュールを作りたいと思います(拡張モジュールのJARパッケージングは5.1で初めてサポートされました)。

なお、事前準備としてこちらのドキュメントの内容をひととおり設定しておく必要があります。

Alfresco SDKで拡張モジュールを作ってみる(Alfresco Repository編)


では早速拡張モジュールを作っていきます。JARパッケージングの場合はGitHubで公開されているAlfresco SDK Examplesを使うのが手っ取り早いです。Download ZIP等でコード一式をダウンロードして展開しておきます。手順は以下のとおりです。

1. ./samples/alfresco-simple-module/repo/pom.xml を以下のように編集する。
  • alfresco-sdk-parent のバージョンを2.1.0から2.2.0に変更する
  • alfresco-rad のバージョンを2.1.0から2.2.0に変更する
  • <alfresco.version>5.0.d</alfresco.version> をコメントの外に出し、<alfresco.version>5.1.f</alfresco.version> に変更する
  • alfresco.versionを5.1.e以降にする場合は、<alfresco.version>の次の行に<alfresco.repo.artifactId>alfresco-platform</alfresco.repo.artifactId>を追記する(2016/12/05追記)
  •  tomcat7-maven-plugin の <dependencies> 内に以下の2つのdependencyを追加する(これ重要)
<dependency>
    <groupId>org.alfresco</groupId>
    <artifactId>alfresco-repository</artifactId>
    <version>${alfresco.version}</version>
    <classifier>h2scripts</classifier>
    <exclusions>
        <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.codehaus.plexus</groupId>
    <artifactId>plexus-archiver</artifactId>
    <version>2.3</version>
</dependency>

2. 以下のコマンドを実行してテスト用サーバを起動する。
> cd ./samples/alfresco-simple-module/repo
> mvn integration-test -Prun

Mavenの諸々の処理の後にTomcatが起動し、ログにエラー無く Starting ProtocolHandler ["http-bio-8080"] と出力されればOKです。以下のようなエラーが出ている場合はpom.xmlの記述が足りないor間違っている可能性があります。

 org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Failed to get resource: alfresco/ibatis/#resource.dialect#/activities-insert-SqlMap.xml

このサンプルには以下のカスタム実装が同梱されていますので動作を確認してみてください。
  •  Alfresco Repository起動時に標準出力に"SDK Sample Repo JAR class has been loaded"と出力するカスタムクラス
  •  拡張モジュール読み込み時にログに"Test debug logging. Congratulations your JAR is working"と出力するカスタムクラスとログレベル変更ファイル
  • 静的/動的コンテンツ http://localhost:8080/alfresco/alfresco-simple-repo-module/index.html
  • テスト用サーブレットとサーブレットマッピング(test-servlet)
  • 簡単なテキストを返すJava-backed WebScript(/sample/helloworld)
  • ワークフローのプロセス定義my-process
  • モデル定義のコンテンツタイプmyc:dox
もちろん、個別にインストールしたAlfrescoのクラスパスに生成されたJARファイルをコピーすることで拡張モジュールを適用することができます。

Alfresco SDKで拡張モジュールを作ってみる(Alfresco Share編)


続いて、Alfresco Share向けの拡張モジュールを作ります。引き続きAlfresco SDK Examplesを使います。手順は以下のとおりです。

1. ./samples/alfresco-simple-module/share/pom.xml を以下のように編集する。
  • alfresco-sdk-parent のバージョンを2.1.0から2.2.0に変更する
  • <alfresco.version>5.0.d</alfresco.version> を <alfresco.version>5.1.f</alfresco.version> に変更する
  • <dependencies> 内の spring-surf-api dependency を以下の内容に置き換える(このissueへの対応策です)
<dependency>
    <groupId>org.alfresco.surf</groupId>
    <artifactId>spring-surf-api</artifactId>
    <version>${dependency.surf.version}</version>
    <scope>provided</scope>
</dependency>

2. 以下のコマンドを実行してテスト用サーバを起動する。
> cd ./samples/alfresco-simple-module/share
> mvn integration-test -Prun -Ddependency.surf.version=6.3

Mavenの諸々の処理の後にTomcatが起動し、ログにエラー無く Starting ProtocolHandler ["http-8081"] と表示されればOKです。以下のようなエラーが出ている場合はpom.xmlの記述が足りないor間違っている可能性があります。

 [ERROR] 'dependencies.dependency.version' for org.springframework.extensions.surf:spring-surf-api:jar is missing.

http://localhost:8081/share にアクセスしてAlfrescoにログインできることを確認したら、サンプルに含まれる以下のカスタム実装の動作を確認してみてください。
  •  Alfresco Share起動時に標準出力に"SDK Sample Share JAR class has been loaded"と出力するカスタムクラス
  • 静的/動的コンテンツ http://localhost:8081/share/alfresco-simple-share-module/index.html
  • テスト用サーブレットとサーブレットマッピング(test-servlet)
  • Aikau Pageを生成するWebScript(/helloworld)
こちらも生成されたJARファイルをAlfresco Shareのクラスパスにコピーすることで拡張モジュールを適用することができます。


以上が、Alfresco SDK 2.2.0 + Alfresco Community Edition 5.1.fでJARパッケージの拡張モジュールを開発するための大まかな手順となります(それぞれ若干の追加ステップが必要となりますが、将来的にはAlfresco SDKが吸収してくれそうな気がします)。是非皆様も最新のAlfresco SDKを使ったAlfrescoカスタマイズを試してみてください。