Alfresco
ONLYOFFICEとAlfrescoの統合について
ONLYOFFICEは、Alfrescoと統合してドキュメントライブラリ内でオフィスドキュメントの作成、編集、変換を行うための公式コネクタを提供しています。ONLYOFFICEコネクタは、公式のAlfrescoアドオンディレクトリまたはONLYOFFICEのGitHubページからダウンロードできます。
主な機能
- テキストドキュメント、スプレッドシート、プレゼンテーションの作成、編集、表示。
- ファイルの変換。
- リアルタイムでの共同編集:2つの共同編集モード(高速モードと厳格モード)、変更履歴モード、コメント、組み込みチャット。
- JWTサポートにより、適切な権限を持つユーザー以外がドキュメントにアクセスできないようにトラフィックを保護します。
サポートされている形式
- 作成、編集、表示用:DOCX、PPTX、XLSX
- フォーム作業用:PDF
- 変換用:ODT、ODP、ODS、DOC、XLS、PPT、RTF
- OOXMLへの変換による編集用:ODP、ODS、ODT、RTF、CSV、TXT
- 表示専用:PDF
バージョン8.1.0の新機能
追加
- エディターでのイベントサポートを追加:onRequestReferenceData、onRequestReferenceSource、onRequestOpen
変更
- SSL証明書設定のバグを修正
完全な変更履歴はこちらで確認できます。
ONLYOFFICE DocsをAlfresco Shareに接続する
要件
-
ONLYOFFICE Document Server v7.1(サーバーまたはクラウドバージョン)以降
ONLYOFFICE DocsのインスタンスがAlfrescoおよびすべてのエンドクライアントから解決可能で接続可能である必要があります。Alfrescoに直接POSTできる必要があります。
ONLYOFFICE Docsのインストールについて詳しくは、公式のドキュメントページをご覧ください。 - Alfresco v.7.4、23、25
- ONLYOFFICE Connector 7.0.0 for Alfresco
ONLYOFFICEとAlfrescoモジュールパッケージのインストール
最新のコンパイル済みパッケージファイルはGitHubで入手できます。onlyoffice-integration-repo.ampとonlyoffice-integration-share.ampファイルが必要です。
コンパイル済みパッケージによるインストール
- 上記のリンクを使用してコンパイル済み.ampパッケージファイルをダウンロードします。
-
サーバー上に次のディレクトリを作成します:
sudo mkdir -p /var/opt/alfresco/ampssudo mkdir -p /var/opt/alfresco/amps_share -
コンパイル済み.ampパッケージファイルを新しく作成したディレクトリに移動します:
/var/opt/alfresco/ampsにはonlyoffice-integration-repo.amp/var/opt/alfresco/amps_shareにはonlyoffice-integration-share.amp
-
次の方法のいずれかを使用してAlfrescoサービスを停止します:
- 方法1:
sudo systemctl stop alfrescoすべてのAlfrescoサービスが停止していることを確認してください。サービスは連続して停止する必要があります。最後に停止するのはcontentという名前を含むものです。例:alfresco-tengine-aio.service.service alfresco-search.service alfresco-content-monitored-startup.service alfresco-content.service - 方法2:
sudo ./alfresco.sh stopこの方法は、スクリプトがバージョンに含まれている場合にのみ機能します。
- 方法1:
- alfresco.warとshare.warファイルのパスを見つけます。例:
sudo find / -type f -iname '*alfresco.war*' 2>/dev/null - alfresco-mmt.jarツールファイルのパスを見つけます。
-
プラグインのrepoコンポーネントをインストールします:
ここでPATHは、以前に見つけたファイルパスを指します。上記のコマンドでPATHの値は各反復で異なります。java -jar /PATH/alfresco-mmt.jar install \ /PATH/onlyoffice-integration-repo.amp \ /PATH/alfresco.war \ -verbose -nobackup -forcealfresco-mmt.jarをデプロイするにはJavaを更新する必要があるかもしれません:sudo apt update sudo apt install openjdk-17-jre-headless -
プラグインのshareコンポーネントをインストールします:
ここでPATHは、以前に見つけたファイルパスを指します。上記のコマンドでPATHの値は各反復で異なります。java -jar /PATH/alfresco-mmt.jar install \ /PATH/onlyoffice-integration-share.amp \ /PATH/share.war \ -verbose -nobackup -force -
再起動時にAlfrescoが再コンパイルするためにTomcatディレクトリを削除します:
sudo rm -rf /var/opt/alfresco/tomcat/webapps/alfresco sudo rm -rf /var/opt/alfresco/tomcat/webapps/share -
次の方法のいずれかを使用してAlfrescoを再起動します:
sudo systemctl start alfrescosudo ./alfresco.sh start
サービスを停止したのと同じ順序で起動することを確認してください。
Ubuntuでのインストール
ONLYOFFICE DocsをAlfrescoで使用するには、Ubuntu 24.04で次の手順を実行する必要があります:
-
コンパイル済みの*.ampパッケージをAlfrescoインストール用のディレクトリにアップロードします:
onlyoffice-alfresco/repo/target/から/usr/local/tomcat/amps/へAlfrescoリポジトリ用に、onlyoffice-alfresco/share/target/から/usr/local/tomcat/amps_share/へShare用に。
-
すでにコンパイル済みのパッケージファイルをこちらからダウンロードし、それらをそれぞれのディレクトリに配置します。
モジュール管理ツール(MMT)を使用してモジュールをインストールするには、次のコマンドを実行します:
- Alfresco
java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar install /usr/local/tomcat/amps/onlyoffice-integration-repo.amp /usr/local/tomcat/webapps/alfresco - Share
java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt.jar install /usr/local/tomcat/amps_share/onlyoffice-integration-share.amp /usr/local/tomcat/webapps/share
MMTの使用に関する詳細は、Alfrescoインストールガイドに記載されています。
- Alfresco
- Document ServerがAlfrescoにPOSTできることを確認します。
これらの行をalfresco-global.propertiesに変更する必要があるか、設定ページを使用して設定できます:
alfresco.host=<hostname> alfresco.port=443 alfresco.protocol=https share.host=<hostname> share.port=443 share.protocol=https - Alfrescoを再起動します:
sudo ./alfresco.sh stopsudo ./alfresco.sh start
モジュールは、Alfrescoの管理ツールの/share/page/console/admin-console/module-packageで確認できます。
ONLYOFFICE Alfrescoモジュールパッケージのコンパイル
ONLYOFFICE Alfrescoモジュールパッケージを自分でコンパイルする(例:ソースコードを編集して後でコンパイルする)場合は、次の手順に従ってください:
-
成功したビルドには最新のOracle Javaバージョンが必要です。インストールされていない場合は、次のコマンドを使用してOracle Java 8をインストールします:
sudo apt-get updatesudo apt-get install openjdk-8-jdk - 最新のMavenをインストールします。インストールプロセスは公式Mavenガイドに記載されています。
-
ONLYOFFICE Alfrescoモジュールパッケージのソースコードをダウンロードします:
git clone https://github.com/ONLYOFFICE/onlyoffice-alfresco.git -
サブモジュールを取得します:
git submodule update --init --recursive -
リポジトリと共有ディレクトリでパッケージをコンパイルします:
cd onlyoffice-alfresco && mvn clean install
ONLYOFFICE Alfrescoモジュールパッケージをビルドするもう一つの方法は、docker-composeファイルを使用することです。
プロジェクトディレクトリからこのコマンドを使用します:
docker-compose upONLYOFFICEとAlfrescoモジュールパッケージの設定
Alfresco管理コンソールにアクセスします。http://<alfrescohost>/alfresco/s/onlyoffice/onlyoffice-configを開き、次のパラメータを指定します。
設定:
- ドキュメント編集サービスのアドレス - ドキュメント編集サービスがインストールされているURLアドレスを指定します。
重要 ONLYOFFICE DocsのアドレスはAlfrescoからアクセス可能である必要があり、AlfrescoのアドレスもONLYOFFICE Docsからアクセス可能である必要があります。
- シークレットキー - データを署名するために使用されるシークレットを指定します。
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。Alfresco側でも有効にする必要があります:ONLYOFFICE Docsの設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定します。詳細については、この記事のONLYOFFICEとAlfrescoの統合のためのJWTの有効化セクションを参照してください。
高度なサーバー設定:
- Alfrescoサーバーからの内部リクエスト用のドキュメント編集サービスのアドレス - Alfrescoサーバーからドキュメント編集サービスにアクセスするために使用されるアドレスを指定します。
- ドキュメント編集サービスからの内部リクエスト用のAlfrescoサーバーアドレス - ドキュメント編集サービスからAlfrescoサーバーにアクセスするために使用されるアドレスを指定します。
- 認証ヘッダー(デフォルトのヘッダーを使用するには空白のままにします) - ONLYOFFICEで使用される認証JWTヘッダーはAuthorizationです。このヘッダーがセットアップと競合する場合は、カスタムヘッダーに変更できます。
共通設定:
- SSL証明書を無視 - SSLをオフにします。
- 強制保存を有効にする - 保存ボタンをクリックした後、ドキュメントの変更を直接Alfrescoストレージに保存します(無効にした場合、ドキュメントはドキュメントエディターのキャッシュに保存され、ドキュメントが閉じられるまで保存されません)。
- 変換後にdocx、xlsx、pptxを元のファイルの新しいバージョンとして保存 - 無効にした場合、別のファイルが作成され、同じフォルダーに配置されます。
- 編集のためにファイルを開く - 管理者がOOXML形式への変換を介して編集するドキュメント形式を選択できます。
- エディターを閉じた後、ドキュメントをマイナーバージョンとして保存 - ドキュメントバージョンが閉じた後にメジャーバージョン(2.0、3.0)として保存されるか、編集中にマイナーバージョン(1.1、1.2)として保存されるかを決定します。初期の空のドキュメントは1.0です。


動作の仕組み
ONLYOFFICEの統合は、こちらのAPIに従っています。
- ユーザーはAlfresco Share内のドキュメントに移動し、ONLYOFFICEで編集メニューオプションを選択します。
- Alfresco Shareはリポジトリエンドにリクエストを行います(URLの形式: /parashift/onlyoffice/prepare?nodeRef={nodeRef})。
-
Alfrescoリポジトリエンドは、次のプロパティを持つJSONオブジェクトをShareに準備します:
- url - ONLYOFFICE Docsがドキュメントをダウンロードするために使用するURL(現在のユーザーのalf_ticketを含む);
- callbackUrl - ONLYOFFICE Docsがドキュメント編集のステータスを通知するURL;
- onlyofficeUrl - クライアントがONLYOFFICE Docsに応答するために必要なURL(onlyoffice.urlプロパティによって提供される);
- key - UUID+修正タイムスタンプで、ONLYOFFICE Docsにドキュメントを再ダウンロードするかどうかを指示します;
- title - ドキュメントのタイトル(名前)。
- Alfresco Shareはこのオブジェクトを取得し、これらの値をすべて埋め込んでクライアントブラウザがエディターを読み込めるようにフリーマーカーテンプレートからページを構築します。
- クライアントブラウザはONLYOFFICE DocsからJavaScriptライブラリにリクエストを行い、上記のプロパティを持つDocEditor設定をONLYOFFICE Docsに送信します。
- その後、ONLYOFFICE DocsはAlfrescoからドキュメントをダウンロードし、ユーザーは編集を開始します。
- ONLYOFFICE Docsは、ユーザーがドキュメントを編集していることをAlfrescoに通知するためにcallbackUrlにPOSTリクエストを送信します。
- Alfrescoはドキュメントをロックしますが、他のユーザーがONLYOFFICE Docsを使用してリアルタイムで共同作業を行うことを許可します。
- すべてのユーザーとクライアントブラウザが編集を終了すると、編集ウィンドウを閉じます。
- 10秒の非アクティブ状態の後、ONLYOFFICE Docsはクライアントがドキュメントの編集を終了し、閉じたことをAlfrescoに知らせるためにcallbackUrlにPOSTを送信します。
- Alfrescoは新しいバージョンのドキュメントをダウンロードし、古いものを置き換えます。
ONLYOFFICEとAlfrescoの統合のためのJWTの有効化
ドキュメントを不正アクセスから保護するために、ONLYOFFICEエディターはJSON Web Token(JWT)を使用します。トークンは、ドキュメントエディターが初期化される際や、ONLYOFFICE Docsサービス間でのコマンド交換時に設定に追加されます。シークレットキーはJSON Webトークンを署名し、ONLYOFFICE Docsへのリクエスト時にトークンを検証するために使用されます。
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定する必要があります。
ステップ1: ONLYOFFICE Docs設定ファイルでシークレットキーを見つける
-
任意のテキストエディターでlocal.jsonファイルを開きます。
- Linuxの場合 -
/etc/onlyoffice/documentserver/local.json - Windowsの場合 -
%ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json -
Dockerの場合 -
docker exec -it <containerID> bashコマンドを使用してONLYOFFICE Docsコンテナに入り、/etc/onlyoffice/documentserver/local.jsonを開きます。または、local.jsonを開かずにデフォルトのシークレットキーを見つけるために次のコマンドを使用できます:
sudo docker exec <containerID> /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string'
local.jsonファイルは次のようになります:
{"services": {"CoAuthoring": {"token": {"enable": {"request": {"inbox": true,"outbox": true},"browser": true}},"secret": {"inbox": {"string": "yoursecret"},"outbox": {"string": "yoursecret"},"session": {"string": "yoursecret"}}}}} - Linuxの場合 -
trueの値が3つのセクションに指定されています。これはトークン検証が有効であることを意味します。services.CoAuthoring.token.enable.browserservices.CoAuthoring.token.enable.request.inboxservices.CoAuthoring.token.enable.request.outbox
-
自動生成されたシークレットキーは3つのセクションに指定されています。デフォルトのシークレット値を独自のシークレットキーに置き換えることができます。シークレットキーは3つのセクションで同じである必要があります。
services.CoAuthoring.secret.inbox.stringservices.CoAuthoring.secret.outbox.stringservices.CoAuthoring.secret.session.string
-
変更を加えた場合は、それらを保存し、設定変更を反映させるためにサービスを再起動します。
supervisorctl restart all
ステップ2: コネクタ設定で同じシークレットキーを指定する
コネクタ設定で、シークレットキーフィールドに同じシークレットを指定し、設定を保存します。
デモONLYOFFICE Docsへの接続
ONLYOFFICEコネクタバージョン5.0.0から、ONLYOFFICE DocsをインストールせずにAlfresco内でONLYOFFICEオンラインエディターを試すことができます。
接続をオンにするには、デモONLYOFFICE Document Serverに接続チェックボックスをクリックし、保存ボタンをクリックします。
Alfresco内でONLYOFFICE Docsを使用開始する
ドキュメントを作成するには:
- ドキュメントを作成したいフォルダーを開きます。
- 作成...ボタンをクリックします。
- 作成したいファイルタイプを選択します:ドキュメント、スプレッドシート、またはプレゼンテーション。


ドキュメントを編集または表示するには:
- 必要なドキュメントを見つけます。
- ONLYOFFICEで編集ボタンをクリックします。


非XMLドキュメントをXML形式(DOCX、XLSX、またはPPTX)に変換するには:
- 必要なドキュメントを見つけます。
- ONLYOFFICEを使用して変換ボタンをクリックします。
ドキュメントは自動的にXMLアナログに変換されます。結果のファイルは同じフォルダーに配置されます。フォルダーの自動変換ルールを設定することもできます。ルール設定の詳細については、公式Alfrescoドキュメントをお読みください。


ファイルを希望の形式でダウンロードするには:
- 必要なファイルを見つけます。
- ダウンロード...ボタンをクリックし、必要な形式を選択します。


ファイルの変更履歴を確認するには:
- ファイル名またはそのアイコンをクリックしてファイル詳細タブを開きます。
- 右側のパネルでバージョン履歴タブを見つけます。
- 利用可能なセクションは:最新バージョンと古いバージョンです。ファイルに加えられた変更がハイライトされます。
- 新しいバージョンをアップロードするには、右上隅の対応するアイコンをクリックします。
- 現在のファイルバージョンをすばやく確認するには、ファイルにマウスカーソルを合わせます。バージョン番号がファイル名の右側に表示されます。例:
。

または
- エディターのファイルタブに移動します。
- メニューでバージョン履歴オプションを選択します。
ドキュメントエディターで新しいファイルを作成するには:
- ファイルタブを開きます。
- 新規作成オプションをクリックします。
新しい.docxファイルが新しいタブで開かれます。
カスタムテンプレートを作成するには:
- Alfrescoポータルに管理者としてログインします。
- マイファイル -> データディクショナリ -> ノードテンプレートに移動します。
- 利用可能な形式でカスタムテンプレートを追加します:
.docx、.xlsx、.pptx。


テンプレートからドキュメントを作成するには:
- ドキュメントを作成したいフォルダーを開きます。
- 作成...ボタンをクリックします。
- テンプレートからドキュメントを作成オプションを選択し、利用可能なテンプレートの1つを選択します。


または
- エディターでファイルタブに移動します。
- 新規作成...オプションをクリックします。
-
必要なテンプレートを選択します。


ストレージからファイルを比較する方法については、この記事の指示に従ってください。


ストレージからメールマージを使用する方法については、この記事の指示に従ってください。


ストレージから画像を挿入する方法については、この記事の指示に従ってください。


ドキュメントエディターでドキュメントをお気に入りとしてマークする方法については、この記事の指示に従ってください。

