readme.ftl テンプレートを使って [Template]
Alfrescoには、スペースにreadme.htmlをいれておくと、
その内容をカスタム表示してくれるテンプレートが用意されています。
(1)readme.ftlの内容
<#-- Displays the contents of readme.html and/or the evaluated readme.ftl
if they exist in the current space. -->
<#assign htmlFilename = "readme.html"/>
<#assign ftlFilename = "readme.ftl"/>
<#if space?exists>
<#if space.childByNamePath["${htmlFilename}"]?exists>
${space.childByNamePath[htmlFilename].content}
</#if>
<#if space.childByNamePath["${ftlFilename}"]?exists>
<#include space.childByNamePath["${ftlFilename}"].nodeRef>
</#if>
</#if>
(2)readme.html
<html>
<head>
<title>readme</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<h4>**User&Group**</h4>
<table border="1">
<tr>
<td>No.</td>
<td>機能</td>
<td>呼出html</td>
<td>Javascript</td>
<td>データファイル名</td>
<td>log 又は list ファイル名</td>
</tr>
<tr>
<td>1</td>
<td>ユーザー作成</td>
<td>create_user.html</td>
<td>create_user.js</td>
<td>user_data.csv</td>
<td>create_user_log.txt</td>
</tr>
<tr>
<td>2</td>
<td>グループ作成</td>
<td>create_group.html</td>
<td>create_group.js</td>
<td>group_UTF-8.csv</td>
<td>create_group_log.txt</td>
</tr>
<tr>
<td>3</td>
<td>ユーザーをグループに登録</td>
<td>addperson.html</td>
<td>addperson.js</td>
<td>user_data.csv</td>
<td>addperson_log.txt</td>
</tr>
<tr>
<td>4</td>
<td>フォルダにグループとパーミッションをセット</td>
<td>permission_set.html</td>
<td>permission_set.js</td>
<td>permission_data.csv</td>
<td>permission_set_log.txt</td>
</tr>
<tr>
<td>5</td>
<td>フォルダのリストを取る</td>
<td>folder_list.html</td>
<td>folder_list.js</td>
<td> </td>
<td>folder_list.txt</td>
</tr>
<tr>
<td>6</td>
<td>グループと属するメンバーのリストを作成</td>
<td>group_list.html</td>
<td>group_list.js</td>
<td> </td>
<td>group_member_list.txt</td>
</tr>
</table>
<br>*注意*<br>
1.データファイルはdataFolderに、
scriptはprogramFolderにある。結果はloglistFolderにできる<br>
2.実際に使用するときは、
現在テスト用にしてあるフォルダ名などを変更する必要有り<br>
</body>
</html>
(3)スペースにreadme.htmlをアップロードして、カスタム表示に
readme.ftlテンプレートを適用すると、
となります。
(注)画面に表示されているJavascriptなどはテスト用に実際に作成したものです。
呼び出しhtmlはアンカーをつければ、この画面から開くこともできます。
コンテナ数・ドキュメント数を表示するテンプレート [Template]
スペースのコンテナ数(サブフォルダ数)とドキュメント数を表示する
テンプレートを作成しました。
(あるスペースの下の階層の全サブフォルダ・全ドキュメントの名前と数を調べる
必要に迫られてJavascriptを作った時に使用したものの一部です)
(1)count02.ftl を作成
Company Home>Data Dictionary> Presentation Templates スペースにアップロード
<b>${space.name} children count: ${space.children?size}</b><br>
<#assign countC = 0>
<#assign countD = 0>
<#assign countR = 0>
<#list space.children as child>
<#if child.isContainer>
<#assign countC = countC + 1>
<#elseif child.isDocument>
<#assign countD = countD + 1>
<#else>
<#assign countR = countR + 1>
<#assign othername = child.name>
</#if>
</#list>
${space.name} children Container count: ${countC}<br>
${space.name} children Document count: ${countD}<br>
${space.name} children ruleFolder count: ${countR}<br>
(2)MyHomeのカスタム表示に、そのテンプレートを適用する
(注)このテンプレートでは、スペース直下のフォルダ数ドキュメント数しか表示されません。
バージョン履歴 [Template]
Alfrescoではコンテンツのバージョン管理ができる
(バージョンのつけ方の説明は後日にゆずる
前回テンプレートのことを書いたので、バージョンの履歴をテンプレートで表示してみる)
(1) version を表示するテンプレートをつくり
Company Home > Data Dictionary > Presentation Templates スペースにアップロードする
http://wiki.alfresco.com/wiki/FreeMarker_Template_Cookbook を参考にしてテンプレート作成
(2) webclient から見ると
**** とても便利な機能です。
メールのテンプレートを日本語化 [Template]
2009/05/20 メールのテンプレートを日本語化
(1)Alfrescoではwebclientのアクション・JavaScript・workflowなどいろいろな場面から
メールを出すことができる。
Company Home > Data Dictionary > Email Templates スペースに
そのためのメールテンプレートが用意されている。
今回はそれを日本語化したものを作ってみた。
それを上記スペースにアップロードしておけば、利用時に選択できる。
(2) invite_user_email.ftl ----> invite_user_emai_ja.ftl
**テンプレートの内容**
あなたは、スペース '${space.name}' に招待されました。
招待したのは '${person.properties.firstName}<#if person.properties.lastName?exists>
${person.properties.lastName}</#if>'.
権限は the role of: ${role} です。
スペースへのリンク:
<#assign ref=space.nodeRef>
<#assign workspace=ref[0..ref?index_of("://")-1]>
<#assign storenode=ref[ref?index_of("://")+3..]>
http://yourserver:8080/alfresco/navigate/browse/${workspace}/${storenode}
お知らせでした。
Alfresco
(3) notify_user_email.ftl -----> notify_user_email_ja.ftl
**テンプレートの内容**
新しい投稿 '${document.name}'が、スペース'${space.name}' に届きました。
届けたのは '${person.properties.firstName}<#if person.properties.lastName?exists>
${person.properties.lastName}</#if>'.
ドキュメントへのリンク:
http://yourserver:8080/alfresco${document.url}
スペースへのリンク:
<#assign ref=space.nodeRef>
<#assign workspace=ref[0..ref?index_of("://")-1]>
<#assign storenode=ref[ref?index_of("://")+3..]>
http://yourserver:8080/alfresco/navigate/browse/${workspace}/${storenode}
お知らせでした。
Alfresco
(3) 利用例
(4) Alfresco では テンプレートとして freemarker がよく使用される
参考URL http://freemarker.org/
マニュアルのURL http://freemarker.org/docs/index.html
(注意) ftl ファイルはテキストファイルだが、UTF-8で保存するこ
댓글 없음:
댓글 쓰기