Wednesday, August 29, 2012

Alfresco 4.0の使い方 - 準備編(2) - リポジトリとサイトの準備をしよう

(2014/4/23) 「Alfresco 4.2の使い方 - リポジトリとサイトの準備をしよう」を公開しました



こんにちは。大谷です。

前回の記事「Alfresco 4.0の使い方 - 準備編(1) - ユーザ・グループを登録してみよう」に引き続き、Alfrescoを使い始めるための準備のお話をしたいと思います。

ユーザ・グループを登録して早速利用開始!と言いたいところなのですが、実はAlfrescoにはコンテンツ管理を行う方法が2種類あります。この2種類は「リポジトリ」と「サイト」と呼ばれるものです。
そこで今回は、その2種類の概要と特徴、利用シナリオを説明し、それぞれの準備方法を紹介しようと思います。


リポジトリ vs サイト


まずは、リポジトリとサイトについて、それぞれがどういうもので、何ができて何ができないのか、どのように選択すればよいかを説明します。

リポジトリ

ざっくり言うと、リポジトリとはお馴染みのファイルサーバ、共有フォルダと同様で、ルートフォルダ以下にツリー構造のフォルダを作成し、適切な権限付けを行ってコンテンツ管理を行うものです。

サイト

サイトとは、部署、プロジェクトなどチームごとのコラボレーションスペースを提供し、その単位で各種情報を共有しようというものです。その箱をサイトと呼び、サイトごとに以下のツールを利用することが可能です。
  • サイトダッシュボード(サイトごとにアクティビティ等の情報を集約表示する画面)
  • ドキュメントライブラリ(リポジトリとほぼ同等のコンテンツ管理ツール)
  • ディスカッション(掲示板的なもの)
  • Wiki
  • Blog
  • カレンダー(チームのイベントを管理するもの)
  • リンク(URLリンクのリスト)
  • データリスト(課題やToDoを管理するツール)

リポジトリとサイトの大きな違いはコンテンツ管理以外のツールの有無と、チーム単位での情報共有ということになりますが、その他にも以下のような違いがあります。
  • リポジトリではユーザ/グループ単位で権限管理を行うが、サイトのドキュメントライブラリではサイトで与えられる権限ごとに権限管理を行う。
  • Microsoft Office連携(オンライン編集機能)はサイトのドキュメントライブラリのみで利用可能

以上を踏まえて、以下にリポジトリとサイトの利用シナリオを挙げてみます。
もちろん、要件によっては逆のもので対応できる場合もあるでしょうし、併用するという選択肢もあります。

リポジトリを利用すべきシナリオ

  • ユーザ単位での厳密な権限管理が必要な場合
  • コンテンツ管理以外のコラボレーションツールを利用する必要がなく、なるべくシンプルなUIが求められる場合
  • コンテンツ管理プラットフォームとして、主に他システムとの自動的なコンテンツのやりとりに利用され、ユーザが介在する場面が少ない場合

サイトを利用すべきシナリオ

  • コンテンツ管理以外のコラボレーションツールを利用する場合
  • 組織、プロジェクトごとの情報共有に主眼が置かれている場合


では、続いてリポジトリとサイト、それぞれの使い方を見てみましょう。


リポジトリを使ってみる


まずはリポジトリにアクセスしてみましょう。リポジトリはAlfrescoインストール時にデフォルトで準備されているため、特別な設定は必要ありません。
Alfrescoの画面上部にある「リポジトリ」をクリックします。


すると、以下のような画面が表示されますが、これがリポジトリのルートフォルダになります。

画面左にツリー構造のフォルダがあり、画面右にはカレントフォルダ内のコンテンツ一覧が表示されますが、これはファイルサーバや共有フォルダと全く同じイメージだと思ってもらって結構です。
基本的な使い方も同じで、フォルダを作成し、ファイルをアップロードしていきます。ファイルを参照するためには、ファイルをクリックして詳細画面を表示し、「ダウンロード」をクリックしてファイルをダウンロードします。


サイトを使ってみる


次に、サイトの使い方を説明します。サイトはAlfrescoインストール時にサンプル用サイト「Sample: Web Site Design Project」が用意されているので、どのようなものかを知るためにはこのサイトにアクセスしてみるのが一番です。しかし、実際にサイトを使い始めるためにはサイトを準備する必要があります。

まずはサイトの作成から

では、早速サイトを作ってみましょう。
まずは上記画面の「サイトを作成」をクリックしましょう。すると以下の画面が表示されるので、必要な項目を入力します。


公開レベルについては以下の通りです。
  • 公開:全ユーザに公開され、ユーザは自由にサイトへ参加することができます。
  • 条件付き公開:全ユーザに公開されますが、サイトへの参加にはサイト管理者の承認が必要です(ユーザは参加リクエストを投げることができます)。
  • 非公開:サイト管理者が招待したユーザにしか公開されません。
ここでは公開レベルを「公開」にしてみましょう。必要な情報を入力して「OK」をクリックすると、以下のようにサイトが作成され、サイトダッシュボードが表示されます。

次に、「その他」→「サイトのカスタマイズ」をクリックし、サイトで利用するツールを設定します。以下の画面が表示されるので、利用したいコンポーネントをドラッグ&ドロップで追加します。

追加し終わったら「OK」ボタンを押すと、追加されたコンポーネントがサイトダッシュボードに追加されます。

サイトにメンバーを招待する

サイトの準備が完了したら、サイトにユーザを招待します。
公開、条件付き公開の場合では、ユーザがサイトに参加しなくてもサイトにアクセス可能ですが、この場合はゲスト権限でのアクセスになります。 より強い権限でのアクセスを許可するためには、サイト管理者がユーザを招待する必要があります。
では、早速ユーザを招待してみましょう。

まず、「招待」をクリックします。

メンバー画面が表示されるので、ユーザを検索して「追加」ボタンをクリックし、「役割の選択」から与える権限を設定します。各役割の詳細はAlfresco Helpを参照してください。

招待するユーザを設定したら、「招待」ボタンをクリックします。これで招待処理が完了ですが、最後にユーザ側で招待の承認を行う必要があります。

招待されたユーザがAlfrescoにログインするとユーザダッシュボードが表示されますが、「あなたのタスク」ダッシュレットに招待の通知が表示されるので、これをクリックします。

以下の画面が表示されるので、「承認」をクリックします。

以上で招待とそれに対する承認が完了し、設定した役割でのサイトへのアクセスが可能になります。

サイトのドキュメントライブラリにアクセスする

最後に、サイトのドキュメントライブラリにアクセスしてみましょう。サイトダッシュボードから「ドキュメントライブラリ」をクリックすると、以下の画面が表示されますが、これがドキュメントライブラリのルートフォルダになります。

基本的な操作感はリポジトリとほぼ同じですが、両者には前述の違いがあることに注意が必要です。
また、ドキュメントライブラリはサイトごとに生成されるため、サイトをまたぐ形でのコンテンツ共有ができないことに注意が必要です。その必要がある場合は、両サイトの参加ユーザを包含する形のサイトを別途作成してそちらで共有する、リポジトリを併用する等の対処が必要になります。



今回は、リポジトリとサイトの概念とその利用方法について説明しました。前回の記事と合わせて、これでコンテンツ管理のための最低限の準備ができると思います。

今後、各モジュールの詳しい利用方法についても記事にしていきたいと思いますので、引き続きよろしくお願いします。

Alfresco 4.0の使い方 - 準備編(1) - ユーザ・グループを登録してみよう

 

 (2014/4/17) 「Alfresco 4.2の使い方 - ユーザ管理・グループ管理」を公開しました。



こんにちは。大谷です。
今回はAlfresco 4.0の使い方について紹介します。

よく、「とりあえずAlfresco Community Editionをインストールしてみたんだけど、いざ使おうと思ったらどこから始めればいいか分からない」という声を聞きます。たしかにAlfrescoは機能が豊富でUIがリッチ(良くも悪くも…)だったり、そもそも日本語のドキュメント類があまり多くなかったりするので、実際に使い始める時には何をどのようにするのかが分かりにくい部分があると思います。

そこで、Alfrescoの使い方を何回かに分けて説明していこうかと思います。第1回は、Alfrescoをエンドユーザが使い始める前に最低限行う必要のある管理タスクについてまとめてみました。

前提条件としては、Alfresco 4.0がインストールされていることです。インストール方法については、Alfresco4.0をインストールしてみよう(インストーラ編)に詳細が載っていますので参考にしてください。


管理者でログインする


まずは管理者ユーザでログインし、Alfrescoを使い始めるための一通りの準備を行います。

ブラウザで http://<サーバIP>:<ポート番号>/share/ (例えば http://localhost:8080/share/ 等)にアクセスし、管理者ユーザのユーザ名とパスワードを入力します。ユーザ名はadmin、パスワードはデフォルトでadminとなっています(インストーラを使ってインストールした場合は、インストールウィザードで指定したパスワードになります)。


ログインに成功すると、ユーザダッシュボード画面が表示されます。
このユーザダッシュボード画面には様々な情報が集約して表示されますが、「ダッシュボードをカスタマイズする」をクリックして表示内容をカスタマイズすることもできます。

ヘッダに並ぶアイコンは各機能へのリンクになっており、ユーザダッシュボードやサイト、リポジトリ、その他の管理アクションの画面へ飛ぶことができます。

また、画面右上のユーザ名をクリックすると、自身のユーザ情報やパスワード変更、ログアウト等のメニューが表示されます。



ユーザを登録する


続いて、Alfrescoにユーザを登録します。
管理系のメニューは画面上部の「その他のアクション」に集約されています。ユーザ管理の場合は「その他のアクション」→「ユーザー」をクリックします。


すると、以下の画面が表示されます。「*」と入力して検索を行うと全ユーザが表示されます。


デフォルトの状態では、admin(管理者ユーザ)と2人のサンプルユーザが登録されていますが、サンプルユーザは無効状態になっています(赤色のアイコン)。

では、新規ユーザを追加してみましょう。「新規ユーザー」をクリックすると、以下のような画面が表示されるので、「名」、「姓」(表示に使用)、「Eメール」、「ユーザー名」(ログインに使用)、「パスワード」、「パスワードの確認」を入力し、「ユーザーの作成」をクリックします。


登録が完了すると、ユーザ一覧に先ほど登録したユーザが表示されます。

ここで注意が必要なのは、Alfresco上では名前が「名」「姓」の順に表示されるということです。例えば、姓名を逆に登録するなどの運用対応が考えられます。

また、Alfresco 4.0ではユーザの一括登録(インポート)にも対応しています。「Alfrescoのユーザインポート機能を試す」に詳しい方法が書かれていますので参考にしてください。


グループを登録する


続いて、Alfrescoにグループを登録します。
アクセス権管理等にグループを用いることで、管理の手間を削減することができます。

まず、「その他のアクション」→「グループ管理」をクリックします。


グループ画面が表示されるので、「閲覧」ボタンをクリックします。


グループの一覧が表示されるので、「新規グループ」アイコン(小さいアイコンで分かりにくいですが、ツールチップで分かります)をクリックします。


次に、グループ情報を入力します。以下のように入力して「グループの作成」をクリックします。IDはAlfresco内部での処理等に利用され、表示名はグループ表示の際に利用されます。


正常に追加されると一覧に表示されるので、先ほど追加したグループをクリックし、「ユーザーの追加」(これまた分かりづらいです…)アイコンをクリックします。


検索ダイアログが表示されるので、追加するユーザを検索し、「追加」ボタンをクリックします。
これを繰り返し、グループにユーザを追加していきます。


削除する場合は、ユーザにマウスカーソルを当て、×アイコンをクリックします。また、グループのメンバにグループを指定することも可能です。


まとめ


今回は、ユーザ・グループの追加方法について紹介しました。次回はAlfrescoでコンテンツ管理を行う2種類の方法(サイト vs リポジトリ)の紹介をしようと思います。

(2012/08/29 追記) 「Alfresco 4.0の使い方 - 準備編(2) - リポジトリとサイトの準備をしよう」を公開しました。
(2013/07/29 追記) 4.2では、ユーザー管理画面で「*」と入力して検索しても検索エラーとなり、全ユーザを表示できなくなっています。

Tuesday, August 21, 2012

SolrのSSL証明書が有効期限切れになっていたら

Alfresco4.0から検索システムとして採用されているSolrですが、2012年8月16日を以てSolrに同梱されていたSSL証明書が有効期限切れになったとのアナウンスが出ています。
 Important: SSL certs for SOLR in Alfresco 4 expire this week 

もしお使いのAlfresco4.0系で以下のようなエラーがログに出続けていたら、証明書の有効期限切れです。
Caused by: java.security.cert.CertificateExpiredException: NotAfter: Fri Aug 17 21:04:11 JST 2012

影響としては、ログインや画面操作等は可能なものの、検索機能が機能しなくなり、タグなども正常に表示されなくなります。
お盆開けでAlfrescoを見てみたら急におかしくなっていた、なんて方もいらっしゃるかもしれません。( 筆者はそうでした :-) )


新しい証明書に差し替えたバージョンのAlfresco(4.0.2に対しては4.0.2.9、4.0.dに対しては4.0.e)がすでにリリースされていますが、ここでは既存のAlfrescoのまま証明書だけ新しく生成する方法をご紹介します。
※下記Wikiページか、またはEnterprise版をご利用の方はSupport Portalの方にも情報&生成用のスクリプトがあります。
Generating new SSL certificates


Solr用SSL証明書の生成手順
※ OSはWindows/Linux/Macいずれでも構いません。筆者は普段Mac上のAlfrescoを弄っていますが、Macでは以下の3.で躓いたので、参考にしていただければと思います。
 
0.前提条件として、Solrは展開済み、keystoreディレクトリも作成済みとします。

1.バージョン4.0.eのAlfresco一式またはSolr単体をDLして解凍します。

2.解凍したSolrの中にあるgenerate_keystores.sh(Linuxの場合)という証明書生成用スクリプトを、alf_data/keystore/直下に置きます。
 Windowsの場合はgenerate_keystores.batを置いてください。

3.スクリプトの冒頭にある変数ALFRESCO_HOMEを、Alfrescoをインストールしているフォルダパスに指定します(e.g. /opt/alfresco-4.0.0)。
Alfrescoをインストーラで入れたまま各種フォルダパスを特に変更していなければ設定はこれだけですが、変更していた場合は念のため他のフォルダパス変数も確認してください。

特にMac版インストーラによるフォルダ構成ではLinux版のそれと違って$ALFRESCO_HOME/javaフォルダが存在しておらず、そのままではスクリプトからkeytoolコマンドを実行できません。Macでの対処法としては、JDKが入っていてkeytoolコマンドが単独で動作することを確認したら、スクリプト上の"$JAVA_HOME/bin/keytool"をすべて"keytool"に置き換えればOKです。

 4. Tomcat、DBを停止してスクリプトを実行します。
※スクリプトを実行すると自動的にTomcatもDBも停止するので注意してください。

実行すると、

[root@localhost ~]# sh /opt/alfresco-4.0.0/alf_data/keystore/generate_keystores.sh

Using CATALINA_BASE:   /opt/alfresco-4.0.0/tomcat

Using CATALINA_HOME:   /opt/alfresco-4.0.0/tomcat

Using CATALINA_TMPDIR: /opt/alfresco-4.0.0/tomcat/temp

Using JRE_HOME:        /opt/alfresco-4.0.0/java

Using CLASSPATH:       /opt/alfresco-4.0.0/tomcat/bin/bootstrap.jar

/opt/alfresco-4.0.0/tomcat/scripts/ctl.sh : tomcat stopped

/opt/alfresco-4.0.0/postgresql/scripts/ctl.sh : postgresql stopped

証明書がファイル </root/ssl.repo.crt> に保存されました。

証明書がファイル </root/ssl.repo.client.crt> に保存されました。

証明書がキーストアに追加されました。

証明書がキーストアに追加されました。

証明書がキーストアに追加されました。

cp: cannot stat `/opt/alfresco-4.0.0/alf_data/solr/templates/test/conf/ssl.repo.client.keystore': そのようなファイルやディレクトリはありません

cp: cannot stat `/opt/alfresco-4.0.0/alf_data/solr/templates/test/conf/ssl.repo.client.truststore': そのようなファイルやディレクトリはありません

cp: cannot create regular file `/opt/alfresco-4.0.0/alf_data/solr/templates/test/conf/ssl.repo.client.keystore': そのようなファイルやディレクトリはありません

cp: cannot create regular file `/opt/alfresco-4.0.0/alf_data/solr/templates/test/conf/ssl.repo.client.truststore': そのようなファイルやディレクトリはありません

Certificate update complete

Please ensure that you set dir.keystore=/opt/alfresco-4.0.0/alf_data/keystore in alfresco-global.properties


となって、証明書が生成されます。
 /opt/alfresco-4.0.0/alf_data/solr/templates/test/conf下のファイルがありませんというエラーが出ていますが、これらは4.0.2以降のものなので気にしなくてよいようです。

以上で、証明書が生成されて検索機能が元通り使えるようになります。

(文責: hayashi@aegif)

Wednesday, August 8, 2012

Aegif publie un système de gestion de contenu révolutionnaire: NemakiWare 1.0

TOKYO Aujourd'hui Aegif a publié NemakiWare 1.0, un système de gestion de contenu dont le but est de battre tous les records en termes de scalabilité.

NemakiWare repose sur CouchDB, une base de données distribuée de type NoSQL.
C'est un changement radical par rapport aux autres systèmes de gestion de contenu, qui utilisent des bases de données traditionnelles comme Oracle ou MySQL.

Les points forts de NemakiWare sont la scalabilité et l'extensibilité.

Aegif a toujours été très proactif sur CMIS, publiant le premier explorateur CMIS orienté intégration, seulement quelques semaines après la parution du standard CMIS.

NemakiWare est Open Source, et est disponible gratuitement sur http://nemakiware.bitbucket.org

À propos d'Aegif

Aegif est une société de conseil japonaise, spécialiste de la gestion documentaire open source. Sa vaste expérience lui permet de minimiser les risques et catalyser le potentiel des solutions entreprise open-source, afin de proposer des solutions optimales, principalement dans des environnements à grande échelle. De la définition des exigences à la conception, Aegif accompagne ses clients en avance de pahse et jusqu'à la livraison de solutions performantes, efficaces et flexibles. Voir www.aegif.jp

À propos de CMIS

CMIS (Content Management Interoperability Services) est un standard pour l'interopérabilité entre les divers systèmes de gestion de contenu du marché. CMIS a été approuvé par le consortium OASIS (Organization for the Advancement of Structured Information Standards) en mai 2010. Tous les principaux vendeurs supportent CMIS:  Adobe, Alfresco, EMC, eXo, FatWire, HP, IBM, ISIS Papyrus, Liferay, Microsoft, Nuxeo, Open Text, Oracle, SAP et autres.

Contact

Aegif Corporation
Nicolas Raoul
nicolas.raoul@aegif.jp

Aegif releases revolutionary ECM server: NemakiWare 1.0

TOKYO Today Aegif released NemakiWare 1.0, an ECM (Enterprise Content Management) server that aims to redefine ECM scalability.

NemakiWare uses CouchDB, a NoSQL distributed database.
That is a radical shift from existing ECM servers, which are using traditional database engines like Oracle or MySQL.

The strengths of NemakiWare are scalability and extensibility.

NemakiWare was designed with the open standard CMIS in mind, making it an ECMS of choice when interoperability is needed. Aegif has always been very proactive on CMIS, releasing the first integration-oriented CMIS webapp only a few weeks after the CMIS standard was approved.

NemakiWare is Open Source, and can be downloaded for free at http://nemakiware.bitbucket.org

About Aegif

Aegif is a leading consulting firm in Japan, with a strong focus on open-source ECM consulting. Its extensive experience allows it to minimize risks while leveraging the potential of enterprise-class open-source software, to offer optimal solutions to clients, typically in large-scale environments. From requirements analysis to solution design, Aegif accompanies its clients from early phases until the delivery of a powerful, efficient and flexible solution. See www.aegif.jp

About CMIS

CMIS (Content Management Interoperability Services) is a standard for interoperability between Enterprise Content Management products. CMIS has been approved by the OASIS consortium (Organization for the Advancement of Structured Information Standards) in May 2010. All major ECM players support CMIS:  Adobe, Alfresco, EMC, eXo, FatWire, HP, IBM, ISIS Papyrus, Liferay, Microsoft, Nuxeo, Open Text, Oracle, SAP and more.

Contact

Aegif Corporation
Nicolas Raoul
nicolas.raoul@aegif.jp

Wednesday, August 1, 2012

Alfrescoのコンテンツ変換(content transformation)について少々

こんにちは。aegifの大谷です。

今回は、Alfrescoのコンテンツ変換機能についてお話ししようと思います。
Alfrescoはコンテンツ変換の仕組みを持っており、以前「AlfrescoでPDFファイルのプレビューができない!」というエントリでも触れたプレビューや、コンテンツのサムネイル生成などに利用されています。 もちろん、フォルダにルールを指定してアップロードされたコンテンツを他のフォーマットに変換するというような使い方も可能です。


そもそもコンテンツ変換って何?


そもそもコンテンツ変換とは何なのかという話ですが、読んで字のごとく、Alfrescoが管理しているコンテンツを別のフォーマットに変換する機能のことです。
例えば、先ほど例に挙げたプレビューやサムネイルなどは、AlfrescoにアップロードされたコンテンツをSWF(プレビュー用ファイル。Adobe Flashを使ってプレビューを表示しています)やjpeg, png等の画像ファイル(サムネイル表示用ファイル)に変換することで実現しています。
もちろん汎用的な仕組みになっているので、ルール機能のアクションとしてコンテンツ変換を設定することもできますし、カスタマイズで独自のロジックを作成する際にコンテンツ変換機能を呼び出して利用することもできます。


どのフォーマットの変換が定義されてるの?


コンテンツ変換が何者かということが分かると、Alfrescoで利用可能なコンテンツ変換のフォーマットって何なのか?一覧はないのか?という話になると思うのですが、これはAlfrescoにアクセスして確認することができます。
ブラウザで http://<サーバIP>:<ポート番号>/alfresco/service/mimetypes (例えば http://localhost:8080/alfresco/service/mimetypes とか)にアクセスすると、以下の画面が表示されます。

これはAlfrescoが認識可能なMIMEタイプの一覧で、「details for ...」をクリックすると、以下のような画面が表示されます(以下はapplication/mswordつまりWordのdocファイルについての詳細です)。

この例だと、docファイルはPDF、bmp等の画像、html等のテキストに変換可能で、逆に、rtfファイルからdocファイルに変換することも可能であることが分かります。


独自のコンテンツ変換を追加できるの?


できます。が、今回はその詳細については割愛させていただきます(すいませんすいません)。英語にはなりますが、具体的な方法についてはAlfresco WikiのContent Transformationsの項目(英語)で説明されています。
また、以前書いた「AlfrescoとTesseract OCR」の記事でも独自のコンテンツ変換(tiffからtextへの変換)を定義する手順を説明していますので、こちらも見てみてください。


そもそもコンテンツ変換ってどんな感じで使うの?


ありがちな使い方は、コンテンツを自動的に他のフォーマットに変換するというものです。一例として、あるフォルダにアップロードもしくはコピーされたファイルをPDFに自動変換するための設定方法を説明します(コンテンツの出入りをトリガにしてアクションを実行する「ルール機能」を利用します)。例えば、ワークフロー等で承認されたコンテンツを特定のフォルダにコピーして自動的にPDFファイルを生成したりするような使い方を想定しています。

1.  まず、設定に利用するフォルダを作成します。例えば、以下のように「承認済」フォルダと「PDF」フォルダを作成し、「承認済」フォルダのアクションメニューの「ルールの管理」をクリックします。

2. 「ルールの作成」をクリックし、以下のようにルールを設定します。ポイントは、「アイテムはこのフォルダで作成または入力されます」「すべてのアイテム」「コンテンツを変換およびコピーする」「Adobe PDF Document」「PDFフォルダ」です。設定が終わったら「作成」ボタンをクリックします。

3. ルールが設定されると、以下のようにフォルダにルールアイコンが表示されます。

4. テストを行います。「承認済」フォルダに適当なファイルをアップロードし、PDFフォルダに同名のPDFコンテンツが生成されていればOKです。


こんなコンテンツ変換にも注意が必要


ここまでAlfrescoのコンテンツ変換機能について説明しましたが、一つ注意が必要な点があります。コミュニティ版では4.0.dから、エンタープライズ版では4.0.1から、コンテンツ変換に対して制限を設定できるようになりました。変換を行う最大ファイルサイズやページ数、変換時間を設定し、それを超えるものについては変換を行わないもしくはその範囲について変換を行うようにすることができます。詳細についてはAlfrescoWikiにある解説ページ(英語)を参照してください。
これだけであれば便利な設定ができるね、という話なのですが、問題は以下の設定がデフォルトでなされていることです(repository.propertiesで設定されています)。
# Content Transformers

# Base setting for all transformers (2 min timeout)
content.transformer.default.timeoutMs=120000
content.transformer.default.readLimitTimeMs=-1
content.transformer.default.maxSourceSizeKBytes=-1
content.transformer.default.readLimitKBytes=-1
content.transformer.default.pageLimit=-1
content.transformer.default.maxPages=-1

# text -> pdf using PdfBox (txt=text/*) 10M takes about 12 seconds
content.transformer.PdfBox.TextToPdf.maxSourceSizeKBytes=10240

# pdf -> swf using Pdf2swf 1M takes about 30 seconds.
# Using a value of 1.25M (a bit larger that the txt or xlsx) used to create
# the pdf on the way to swf to avoid the second part of a transform failing
content.transformer.Pdf2swf.maxSourceSizeKBytes=1152

# txt -> pdf -> swf 1M (pdf is about the same size as the txt)
# Need this limit as transformer.PdfBox txt -> pdf is allowed up to 10M
# unlike transformer.OpenOffice and transformer.JodConverter which
# also only allow 1M text
content.transformer.complex.Text.Pdf2swf.maxSourceSizeKBytes=1024

# Limits for specific mimetype transformations (txt=text/plain only) 1M
# Has implication for Share preview which generally goes via pdf to get to swf
content.transformer.OpenOffice.mimeTypeLimits.txt.pdf.maxSourceSizeKBytes=1024
content.transformer.OpenOffice.mimeTypeLimits.xlsx.pdf.maxSourceSizeKBytes=1024

content.transformer.JodConverter.mimeTypeLimits.txt.pdf.maxSourceSizeKBytes=1024
content.transformer.JodConverter.mimeTypうeLimits.xlsx.pdf.maxSourceSizeKBytes=1024
これを見るとコンテンツ変換に120秒のタイムアウトが設定されていることが分かります(ちなみに-1は制限無しという意味です)。また、1152KBを超えるPDFのSWF(プレビューに使います)への変換は行われず、1024KBを超えるプレーンテキストやExcelファイルのPDFへの変換も行われない設定となっています。
ルール機能等でコンテンツ変換を仕掛けたけどうまく変換されない場合があります!という場合は、この設定を確認し、必要に応じて設定を変更する必要があります。

ただし、制限を緩めるとその分サーバへの負荷が高まることにも注意が必要です。そもそもこの制限が導入された背景には、コンテンツ変換の種類によってはCPUにそれなりの負荷がかかるということがあります。コンテンツ変換に制限を設けることで、その負荷を減らそうという狙いがあるわけですので、環境構築時にはその点に注意して制限を調整する必要があります。

また、エンタープライズ版のみですが、このコンテンツ変換自体を別サーバに外出ししてAlfrescoサーバの負荷を軽減することも可能です。Transformation Serverと呼ばれる機能ですが、詳細はAlfrescoのヘルプ(英語)を参照いただければと思います。ちなみにこの機能を使うと、OfficeファイルをMicrosoft Officeを使ってPDF変換することができるようにもなるため、PDF変換の精度が劇的に高まります(標準ではOpenOfficeを利用しているため、お世辞にも実用に耐える精度とは言えないのが実情です…)


最後に


今回は、コンテンツ変換についての説明と、簡単な使い方、注意点について説明しました。Transformation Serverについての詳細は今後記事にしていきたいと思いますので、引き続きよろしくお願いします。