0

何度か前、私はAlfresco 5.2 Community Editionを使用しました。私は、カスタマイズのいくつかの種類を開発するために必要な場合は、私は、3つの異なるMaven archetypesAlfresco Maven SDKを使用し、それがあった。Jarを使用してFreeMarkerテンプレートをカスタマイズする方法は?

  • のAlfrescoリポジトリAMP。
  • Alfresco Share AMP;
  • アルフレコオールインワン(AIO)。このSDKを使用することにより

私は、モジュール管理ツールを使用してalfresco.warまたはshare.warのいずれかの上に重ねAMP filesを開発しました。

私はAlfresco 4.2.2 Enterprise Editionを使用しています。問題は、長年にわたるすべてのカスタマイズが、展開されたWARのサーバー上で直接実行されていることです。

このアプローチは、ここで説明されていますPackaging Approaches

開梱ファイルやZIP

多くの開発環境を にソース管理からアンパック変更されたファイルを移動する スクリプトを実行することができますビルドプロセスを採用Webアプリケーションの展開されたWARファイルAntのは、bash、またはいくつかのスクリプト 言語はすべてこれを行うには良い方法ことができます...パッケージされていないファイルの移動

そしてさらに...理解 にすばやく簡単であるという利点があります:

配布場所

一つの解決策は、の代わりに(恒久的に展開展開を使用することですAlfresco WARファイルを/webappsの配下に配備しています)。 webappsディレクトリのというディレクトリ を作成し、 の内容をalfresco.warに抽出します。その後

... ../webapps/alfresco/WEB-INF/にファイルをコピーして、Tomcatを再起動してこのように、私は、AMP-カスタマイズ(そうでない場合は、以前のすべての開発は削除されます)を使用することはできません。私が知る限り、代替のJARカスタマイズを使用することができます。

同じ文書で説明したように:v3.4のよう

JAR

、共有のWebアプリケーションは、JARファイルとしてパッケージ あるオーバーライドをサポートしています。これにより、複数のカスタマイズが互いに分離された になり、選択の順序を予測することができます。 静的なJavaScriptなどのファイル、CSS、または 通常、共有アプリケーションのWebルートに配置されることになる画像ファイルは、これらのJARにパッケージ化すること ことができます...

それが上書きの問題を回避することは可能ですが( Tomcatの)中に少なくともしかし... tomcat/shared/lib

をこれらのJARファイルを置くことで、私はどちらか、このアプローチの利点を取ることができません。例えば、私はFreeMarkerテンプレートを上書きする必要があります。

/opt/tomcat7/webapps/share/WEB-INF/classes/alfresco/web-extension/site-webscripts/components/form/service-note/service-note-order-things.ftl 

私はIDEで適切なディレクトリ構造を作成し、何らかの方法でテンプレートを変更し、Jarファイルをビルドします。それから私はtomcat7/shared/libに入れました(私もtomcat7/webapps/share/WEB-INF/libに入れましたが、成功もありませんでした)、アプリケーションサーバーを再起動します。

再起動後、私の変更は表示されません。テンプレートは同じままです。さらに、別のテンプレートを同じディレクトリに追加しようとすると(.../service-note/...)、新しいテンプレートは表示されません。

私のTomcatインストール共有クラスローダーが正しく設定されています。

私は間違っていますか? JARを使って静的リソースを無効にする方法は?

私は情報に非常に感謝します。ありがとうございます。

+0

つまり、私はこのケースで必要なすべての[だそうですhttp://docs.alfresco.com/4.2/concepts/dev- extensions-share-tutorials.html](http://docs.alfresco.com/4。2/concepts/dev-extensions-share-tutorials.html) –

答えて

2

SurfBug debugging toolを使用してテンプレートファイル(Template Typeプロパティ)を識別する必要があります。

Spring Surf拡張モジュール("are the preferred way of customizing many of the Alfresco Share user interface features")を開発し、Jarにパックします。 は、それから私はでWEB- スクリプトを通じて利用可能であるModule deployment使用する必要があります。

http://host:port/share/service/modules/deploy

次のようにFTLをカスタマイズすることができます。

  • 置き、新たなコンテンツを前に、特定の後に/ @region;
  • @regionの内容を新しい内容で置き換えます。
  • 特定の@regionを完全に削除します。春のサーフは、インメモリモデルに書き込み、その後、モデルは出力ストリームにフラッシュされる前に、拡張子がそのモデルを操作することを可能にするため、ファイルシステムでは

は、我々は、同じ変更されていないテンプレートを持つことになります。

も参照してください:

関連する問題