2020年3月28日土曜日

alfrescoの文書を文書作成日で並び替えたい

alfrescoに登録した文書を作成日順に並び替えたいと思い、bulkfsimportで、作成日を書き換えて対応しましたが、今後の運用を考えると、登録時に作成日を書き換えるルール設定を行えばいいのではないかと思い、試行錯誤しましたが、書換に成功しませんでした。
次に、カスタム属性を追加し、そこに入力することで可能となるのではないかと考え、一応成功したので記録を残します。

参考サイト
http://labo-blog.aegif.jp/2013/01/alfresco.html
 Alfrescoにカスタム属性を追加する - タイプとアスペクト
http://labo-blog.aegif.jp/2013/02/alfresco.html
 Alfrescoのカスタム属性(とアスペクト名、タイプ名とか)を日本語化する
https://www.slideshare.net/terajun/alfrescoui
 ドキュメントライブラリのUIカスタマイズ 

以上を参考に作成しましたが、ソートキーの多言語化については、分かりませんでした。
なお、以上の方法は、古いバージョンを対象としたもので、現在は、shareの管理ツールからモデルマネージャーを使用してカスタマイズできることが分かりました。しかし、ソートキーの追加については、やはり手動でカスタマイズするしかないようです。
また、一度上記のサイトを参考に、カスタム属性を作成し、customModel.xmlに設定したプロパティー名を書き換えたところ、エラーでプロパティーの編集ができなくなりました。一度作成したアスペクトは消去せずに、追加するしかないようです。

以上で作成したカスタムプロパティーをフォルダへアップロード時に記入するため、下記のようにルールを設定しました。

実行条件:アイテムがこのフォルダに作成または入力された時
すべの条件を満たす場合:すべてのアイテム
実行する処理:1.カスタムアスペクトを追加
       2.スクリプトを実行※

ファイル名に「ファイル名200101.pdf」と最後に作成日を表す6桁の数字をあらかじめ付加している場合
※スクリプトの内容
function main(){
var fileName = document.properties[ 'cm:name']; //ファイル名を変数に代入
var No = fileName.replace(/[^0-9]/g, ''); //ファイル名から数字のみ取り出す
var DateNo = No.slice( -6 ); //最後の6桁の数字のみ抽出
var Y = '20' + DateNo.slice( 0 , 2 ); //年を抽出し、4桁化
var M = DateNo.slice( 2 , 4 ); //月を抽出
var D = DateNo.slice( -2 ); //日を抽出
var Dt = new Date( Y + '/' + M + '/' + D) //日付に再構成 ISO8601形式へは自動で変換
document.properties[ '識別子:カスタムプロパティー名' ] = Dt;  //カスタムプロパティーへ代入
document.save(); 
}
main();

0 件のコメント:

コメントを投稿