日本でのアトラシアン(Atlassian)製品導入No.1

  1. HOME

リックソフトブログ

2017/07/12

Alfresco Shareでのメニューの表示、非表示

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Author

青地 芳彦Yoshihiko Aochi

青地 芳彦

こんにちは。リックソフトの青地です。なんとなく梅雨の時期に入ってきましたが、最近私を憂鬱にさせるものは老眼になったと感じることです。今までは、遠くのものがはっきり見えないことが気持ち悪くて眼鏡をかけていて、眼鏡の厚みもだんだんと厚みを増していたのに、今度は眼鏡をとらないと携帯や新聞の小さな文字が見づらくなるなんて、昨年はあまり感じなかったことです。

長い時間、パソコンのディスプレイを同じぐらいの距離で見ていると、目の動く範囲も少なくなるので、疲れてしまっているためかもしれません。たまには外に飛び出して、緑の景色が多い場所で仕事をしたいと思う今日この頃です。

さて、今回はよくある問い合わせの中から、Alfresco Shareのカスタマイズについて取り上げてみたいと思います。

Alfresco Shareで条件によってメニューを表示(あるいは非表示)にしたい場合があります。例えばアクセスするユーザのロールよって、ダウンロードやブラウザで表示というようなメニューを消したい時などです。こういう場合には、share-config-custom.xmlを変更することで、簡単に実現することができます。Alfresco Shareのドキュメントライブラリ内では、Evaluatorによって決められた条件を判定し、メニューの表示などをコントロールしています。利用できるEvaluatorはこちらからご覧下さい。

これらのEvaluatorがどのように実際のShareで利用されているかを知るには、tomcat/webapps/share/WEB-INF/classes/alfresco/share-*-config.xmlを見るとヒントが得られるでしょう。

アスペクトを持っているコンテンツに対してメニューを表示(あるいは非表示)にする

アスペクトを持っているコンテンツかどうかを判定するにするには、org.alfresco.web.evaluator.HasAspectEvaluatorを使います。{extensionRoot}/alfresco/web-extension/custom-slingshot-appication-context.xmlに、該当するアスペクトを設定したbeanを定義します。ここでは、mn:internalUseOnlyというアスペクトを判定するようにしています。(extensionRoot: tomcat/shared/classes)

<beans>
   <bean id="evaluator.doclib.action.hasInternalUseOnlyAspect" class="org.alfresco.web.evaluator.HasAspectEvaluator">
      <property name="aspects">
         <list>
           <value>mn:internalUseOnly</value>
         </list>
      </property>
   </bean>
</beans>

次に、${extensionRoot}/alfresco/web-extension/share-config-custom.xmlで、該当するメニューのactionに対して、上記で設定したevaluatorのbeanを設定します。ここでは、上記のアスペクトを持っていた場合に、ドキュメントの”ダウンロード”と”ブラウザで表示”メニューを表示しないようにしています(negate=”true”)

<config evaluator="string-compare" condition="DocLibActions">
   <!–- Action definitions –>
   <actions>
      <!–- Download document –>
      <action id="document-download" type="link" label="actions.document.download">
         <param name="href">{downloadUrl}</param>
         <param name="target">_blank</param>
         <evaluator negate="true">evaluator.doclib.action.hasInternalUseOnlyAspect</evaluator>
      </action>
      <!–- View document in browser –>
      <action id="document-view-content" type="link" label="actions.document.view">
         <param name="href">{viewUrl}</param>
         <evaluator negate="true">evaluator.doclib.action.hasInternalUseOnlyAspect</evaluator>
      </action>
   </actions>
</config>

Alfresco One 4.xであればここまででよかったのかもしれませんが、5.xになった時にダウンロードリンクのボタンが右上になり、これを隠すにはshare-config-custom.xmlではだめで、JavaScript (WebScript)を変更しなければならないようです。

tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/node-details/node-header.get.jsを、tomcat/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/components/node-detailsにコピーして、mn:internalUseOnly アスペクトでダウンロードを非表示できるようにします(下ではNodeの情報はnodeDetailsに入っています)。

...(途中から)...
   if (nodeDetails)
   {
      var supressSocial = AlfrescoUtil.isComponentSuppressed(nodeDetails.item.node, AlfrescoUtil.getSupressSocialfolderDetailsConfig());
      var folderIcon = null;
      if (nodeDetails.item.node.isContainer)
      {
         folderIcon = getFolderIcon(nodeDetails.item.node)
      }
 
      if(nodeDetails.item.node.aspects.indexOf("ac:jira-attachment") >= 0){
           AlfrescoUtil.param("showDownload", "false");
      }
....

図1:普通の状態

図1:普通の状態

図2:アスペクト(mn:internalUseOnly)をつけた状態

図2:アスペクト(mn:internalUseOnly)をつけた状態

しかし、これではサイト管理者もこれらが見れなくなってしまいます。アスペクトが設定してあっても、権限のある人はメニューが表示されるようにするには、カスタムのevaluatorを用意しなければならないかもしれませんが、設定だけでできる方法があります。この続きは、次号にて。。。

ご質問、ご相談のある方は、お気軽にお問い合わせください。

お問い合わせ

Alfrescoについて

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

アトラシアン製品の導入と活用を
成功させたいなら
リックソフトのサポートが
必要です。

サードパーティ製のアドオンもサポート

サードパーティ製のアドオンもサポート

RS標準サポート

アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのRS標準サポートではサポートします。

  • アトラシアン製品とサードパーティ製のアドオンとの事象の切り分け
  • 海外のアドオンベンダーとのやり取りを代行(日→英/英→日)

リックソフトのRS標準サポートは開発元が提供するサポート以上の価値があります。

サポートについて

ツールの活用を促進するアイテム

ツールの活用を促進するアイテム

各種ガイドブック

ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。

リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。

ガイドブックについて

価値あるツールの使い方

価値あるツールの使い方

研修・トレーニング

ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。

日本随一の生産性向上にも効果のある研修サービスです。

リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。

研修について

PAGE TOP