Alfresco Community 4.0.d で Java Web サービスを使用しており、現在、自分のサイトにサムネイル機能を追加しようとしています。新しい画像を投稿した直後にサムネイルが表示されないことに気付きました。生成を手動でトリガーするための良いアプローチを誰かが推奨できるかどうか疑問に思っていましたか?
1 に答える
フォーラムでもあなたの質問に答えました。次のように、JavaScript API を使用してドキュメントにサムネイルを生成するように要求できます。
document.createThumbnail("doclib");
この場合、"doclib" は、共有内のドキュメント ライブラリ サムネイルのサムネイル構成の名前ですが、これは作成した任意のサムネイル定義である可能性があります。
Java の場合は、org.alfresco.repo.thumbnail.CreateThumbnailActionExecuter クラス ソースを参照してください。あなた自身のクラスでは、似たようなことをすることができます。または、actionService を使用して create-thumbnail アクションを呼び出します。
アクション サービスを使用するために必要なのは、アクションの名前と必要なパラメーターだけです。たとえば、メール アクションを使用すると、次のようになります。
ActionService actionService = getServiceRegistry().getActionService();
Action mailAction = actionService.createAction(MailActionExecuter.NAME);
mailAction.setParameterValue(MailActionExecuter.PARAM_SUBJECT, ExternalReviewNotification.SUBJECT);
mailAction.setParameterValue(MailActionExecuter.PARAM_TO, recipient);
mailAction.setParameterValue(MailActionExecuter.PARAM_FROM, ExternalReviewNotification.FROM_ADDRESS);
mailAction.setParameterValue(MailActionExecuter.PARAM_TEXT, sb.toString());
actionService.executeAction(mailAction, null);
サムネイルに対してこれを行うには、名前 (または CreateThumbnailActionExecuter.NAME) に「create-thumbnail」を使用します。そのクラスのソースを見ると、「cm:content」となる PARAM_CONTENT_PROPERTY と、通常のドキュメント ライブラリのサムネイルまたはサムネイル名を定義した場合は「doclib」となる PARAM_THUMBNAIL_NAME の 2 つのパラメータが必要であることがわかります。自分の。
executeAction 呼び出しで、2 番目の引数が「noderef に対するアクション」であることに注意してください。あなたの場合、サムネイルを生成するノードにする必要があります。