alfresco勉強会#34 alfresco 5のプレビュー機能とコンテンツ変換について
TRANSCRIPT
第 34 回 Alfresco 勉強会Alfresco 5 のプレビュー機能とコンテンツ変換
2016/07/27おおたに
わたしは…おおたにです やってること
◦ 株式会社イージフで Alfresco や Liferay などをやってます◦ 2 児 (5 歳 , 2 歳 ) の父親業◦ Ingress ゆるふわエージェント業◦ Pokemon Go ゆるふわトレーナー業◦ イース 8 (ファルコム信者なので…)
プレビュー機能とは ファイルをダウンロードせずにブラウザ上で中身を見れる
これです。
プレビュー機能とは 様々なファイル形式に対応している
◦ テキスト系 : プレーンテキスト , csv, xml…◦ オフィス系 : MS Office, LibreOffice…◦ 画像系 : jpeg, png, gif, bmp, tiff…◦ メディア系 : mp3, mp4, wmv, flv…◦ その他のドキュメント : PDF…
※ ファイルによってはプレビューの精度が落ちる(中身の再現性が低い)場合もある
ドキュメントプレビュー テキスト / オフィス /PDF 等のプレビュー
◦ HTML5 というか PDF.js で実装(以前は Flash で実装されていた)◦ 各ファイルを PDFに変換して表示◦ プレビュー内検索◦ 検索結果ハイライティング◦ PDF 形式でのダウンロード
画像プレビュー / メディアプレビュー メディアプレビュー
◦ Flash で実装された埋込メディアプレイヤー◦ 疑似ストリーミング(以前はクライアントにファイルを全て転送してからプレビューしていた)
画像プレビュー◦ ただ画像が表示されるだけ
うまくプレビューできないこともある… ドキュメントをプレビューしたいのに表紙の画像しか表示されない
うまくプレビューできないこともある… 文字化けする( MBCS を含む csv, xml あたり)
ファイルの本来の内容は、一行目 , あいうえお二行目 , かきくけこ三行目 , さしすせそ
うまくプレビューできないこともある… PDF の読み込みに失敗する( PDF 生成自体が失敗してる)
だいたいコンテンツ変換のせい 元ファイルを PDF に変換し、それを PDF.js を使ってブラウザ上に表示している プレビューできない場合、何らかの理由で PDF が生成されていない可能性が高い
コンテンツ変換とは ファイルをある形式( MIME タイプ)から別の形式に変換する機能のこと 英語だと Content Transformation と呼ばれている
コンテンツ変換とは Alfresco の様々な内部処理でコンテンツ変換が利用されている
◦ プレビュー用 PDF 生成◦ サムネイル用画像生成◦ 全文検索用テキスト抽出…
コンテンツ変換とは ユーザがコンテンツ変換機能を利用することもできる
◦ ルール機能のアクションとして、ファイル追加 / 更新時に自動的にコンテンツ変換を実行する
どんなファイル形式の変換ができるの? http://localhost:8080/alfresco/service/mimetypes で変換可能な
MIME タイプを確認できる◦ Transformable to : 変換可能な変換先 MIME タイプ( & 変換方法)◦ Transformable from : 変換可能な変換元 MIME タイプ( & 変換方法)
どこで設定されてるの? <alf_dir>/tomcat/webapps/alfresco/WEB-INF/lib/alfresco-repository-5.x.x.jar 内の alfresco/subsystems/Transformers/default/transformers.properties
# Debug and Log buffer sizes# ==========================transformer.debug.entries=0transformer.log.entries=50
# Base setting for all transformers# =================================content.transformer.default.priority=100content.transformer.default.thresholdCount=3content.transformer.default.time=0content.transformer.default.count=100000content.transformer.default.errorTime=120000content.transformer.default.timeoutMs=120000content.transformer.default.readLimitTimeMs=-1content.transformer.default.maxSourceSizeKBytes=-1content.transformer.default.readLimitKBytes=-1content.transformer.default.pageLimit=-1content.transformer.default.maxPages=-1
# Transformer specific settings# =============================
content.transformer.Archive.extensions.*.txt.priority=50content.transformer.Archive.extensions.bin.txt.supported=false
content.transformer.BinaryPassThrough.priority=20
# Text# ----content.transformer.TikaAuto.priority=120content.transformer.TikaAuto.extensions.bin.txt.supported=false
content.transformer.Office.priority=130
content.transformer.OutlookMsg.priority=125...
何が書かれてるの? 各変換方法に対して
◦ サポートする変換元 / 変換先 MIME タイプ◦ 優先度◦ パイプライン(複数の変換を組み合わせた新しい変換を作る)◦ 制限
ファイルサイズ タイムアウト値 最大ページ数※ それぞれ、変換をエラーで返す / 制限値まで変換を行ってその結果を返すの2 通りの制約を課すことが可能
各変換方法は別途 Spring bean として定義されている
※ 詳しくは https://wiki.alfresco.com/wiki/Content_Transformation_Limits を参照
カスタマイズできるの? <alf_dir>/tomcat/shared/classes/alfresco-global.properties に設定を追加
/ 上書きすることで以下のようなカスタマイズができる◦ 新規変換の追加◦ 既存の変換の設定変更
コンテンツ変換をカスタマイズしよう (1) CSV のプレビューで文字化けしなくするデフォルト設定
↑ PdfBox の PDF 変換が文字化けを起こしてるっぽい
alfresco-global.properties に以下の設定を追加
↑ これで text/plain を経由して OpenOffice を使って PDF 変換する、新しい CSV→PDF 変換が有効になる
content.transformer.PdfBox.priority=110content.transformer.PdfBox.extensions.pdf.txt.priority=50
content.transformer.PdfBox.TextToPdf.extensions.csv.pdf.supported=truecontent.transformer.PdfBox.TextToPdf.extensions.xml.pdf.supported=truecontent.transformer.PdfBox.TextToPdf.maxSourceSizeKBytes=10240
content.transformer.PdfBox.TextToPdf.extensions.csv.pdf.supported=falsecontent.transformer.complex.Csv.Pdf.pipeline=*|txt|OpenOfficecontent.transformer.complex.Csv.Pdf.priority=110content.transformer.complex.Csv.Pdf.extensions.csv.pdf.supported=true
コンテンツ変換をカスタマイズしよう (2) 大きいサイズの pptx ファイルもプレビューさせるデフォルト設定
↑ pptx ファイルがサイズ上限を超えてるとプレビューできない
alfresco-global.properties に以下の設定を追加↑ pptx ファイルの変換サイズ制限を緩和する
※ 変換の制限を緩くすることによって Alfresco サーバの負荷が高まる点には注意が必要
content.transformer.OpenOffice.extensions.pptx.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.pptx.pdf.maxSourceSizeKBytes=6134
おまけ aegif Labo blog やってます
http://aegif-labo.blogspot.jp/
2016/06/27 に Alfresco Community Edition 5.2.a (201606-EA)がリリースされましたhttps://wiki.alfresco.com/wiki/Community_file_list_201606-EA