alfresco勉強会#19 alfrescoのtable viewをカスタマイズする
TRANSCRIPT
第19回Alfresco勉強会
AlfrescoのTable Viewをカスタマイズする
2013/11/27
@_tasky
自己紹介
私は…
◦ @_tasky
平日は…
◦ 株式会社イージフでAlfrescoやLiferayをいじってます
休日は…
◦ 1児(3歳♀)の父親業やってます
はじめに
本資料の内容はAlfresco Community 4.2.eに基づいています
◦ データベースはMySQLを利用
◦ 全文検索エンジンはLuceneを利用
具体的な手順(コマンドとか)は色々はしょってたりもっと気の利いた方法があったりしますが、最低限これでできますよ、ということで…
インストール方法は以下の資料を参考にしてください
http://www.slideshare.net/TasukuOtani/alfresco15-alfresco-4
http://aegif-labo.blogspot.jp/2012/03/alfresco40.html
http://aegif-labo.blogspot.jp/2013/09/alfresco-42d.html
Table Viewとは
Alfresco Community 4.2.dで新しく用意されたUI
文字通り表形式でコンテンツ一覧を表示
以前から要望が多かった(体感的に)
[余談] Alfresco 4.2.dの新機能
Alfresco Community 4.2.dではそこそこの機能追加/エンハンスメントが行われた
◦ Shareヘッダの刷新
◦ ドキュメントライブラリ表示形式の追加
Filmstrip View(スライド表示)
Table View(表形式の表示)
表示形式の保存
◦ マイファイル / 共有ファイル
◦ ユーザ毎のごみ箱
◦ その他色々…
※ 詳しくはこちらの記事を参照のこと
http://aegif-labo.blogspot.jp/2013/10/alfresco-42d.html
まずは環境の準備をば
カスタムモデルを定義する(カスタムアスペクトの追加)
◦ <tomcat_dir>/shared/classes/extension/customModel.xml
モデル定義ファイル
◦ <tomcat_dir>/shared/classes/extension/customModel.properties
モデル定義リソースファイル
◦ <tomcat_dir>/shared/classes/extension/custom-model-context.xml
上記モデル定義の読み込みを指示するSpring Bean定義ファイル
Share上での表示を設定する
◦ <tomcat_dir>/shared/classes/web-extension/share-config-custom.xml
カスタムアスペクトを表示する設定の追加
元設定はshare-documentlibrary-config.xml, share-form-config.xmlあたり
◦ <tomcat_dir>/shared/classes/messages/custom-share-messages.properties
Share用リソースファイル
◦ <tomcat_dir>/shared/classes/web-extension/custom-messages-context.xml
上記リソースの読み込みを指示するSpring Bean定義ファイル
カスタムアスペクトを自動付与するルールを設定する
Table Viewの定義を確認しよう
Alfresco.DocumentListTableViewRendererというview-renderer
◦ <tomcat_dir>/webapps/share/WEB-INF/classes/alfresco/share-documentlibrary-config.xml
<!-- Document Library config section --> <config evaluator="string-compare" condition="DocumentLibrary"> <!-- Document List --> <doclist> … <view-renderers> <view-renderer id="table" iconClass="table" label="button.view.table" index="50" widget="Alfresco.DocumentListTableViewRenderer"> <dependencies> <js src="components/documentlibrary/documentlist-view-detailed.js" /> <js src="components/documentlibrary/documentlist-view-table.js" /> <css src="components/documentlibrary/documentlist-view-table.css" /> </dependencies> <json-config> … </json-config> </view-renderer> … </view-renderers> …
カスタムTable Viewを追加しよう
例えばid=“table” のview-rendererをコピーして手を加える
◦ <tomcat_dir>/shared/classes/web-extension/share-config-custom.xml
sample_tableというidのview-rendererを追加
カスタムプロパティ2つを表示するよう設定
◦ <tomcat_dir>/shared/classes/messages/custom-share-messages.properites
上記カスタムTable Viewの名前/プロパティ名のリソースを追加
※ 何故かview-renderersは設定を上書きしないとview-rendererを追加できない模様
動作確認
無事追加されている(はず)
まとめ
Alfresco Community 4.2.dの新機能
カスタムモデルの追加
Table View定義の確認
カスタムTable View定義の追加
本日のサンプルコード
https://bitbucket.org/tasuku_otani/alfrescocustomtableview