Chamilo
ONLYOFFICEとChamiloの統合について
ONLYOFFICEは、ONLYOFFICE DocsをChamiloと統合し、ドキュメントライブラリ内でオフィス文書を編集するための公式コネクタを提供しています。ONLYOFFICEコネクタはGitHubページからダウンロードできます。
主な機能
- テキスト文書、スプレッドシート、プレゼンテーション、PDFフォームの編集と閲覧。
- リアルタイムでの共同編集:2つの共同編集モード(高速モードと厳密モード)、変更履歴モード、コメント、内蔵チャット。
- 適切な権限を持つユーザー以外がドキュメントにアクセスできないようにするためのJWTサポート。
対応フォーマット
- 編集可能:DOCX、XLSX、PPTX、PPSX、PDFフォーム
- 閲覧のみ:PDF、DJVU、TXT、CSV、ODT、ODS、ODP、DOC、XLS、PPT、PPS、EPUB、RTF、HTML、HTM、MHT、XPS
ONLYOFFICE DocsをChamiloに接続する
必要条件
-
ONLYOFFICE Document Server v6.2(サーバーまたはクラウドバージョン)以降
ONLYOFFICE Docsのインスタンスは、Chamiloおよびすべてのエンドクライアントから解決可能で接続可能である必要があります。Chamiloに直接POSTできる必要があります。
ONLYOFFICE Docsのインストールについて詳しくは、公式ドキュメントページをご覧ください。 - Chamilo v1.11.16以降
Chamilo用ONLYOFFICEコネクタのインストール
Chamilo v1.11.16以降、ONLYOFFICEコネクタはプリインストールされています。有効にするには、次の手順を実行してください:
- Chamiloの管理ページに移動し、ポータルブロック内のプラグインセクションを選択します。
- プラグインリストでONLYOFFICEプラグインを選択し、選択したプラグインを有効にするボタンをクリックします。


Chamiloのバージョンが1.11.16未満の場合、ONLYOFFICEコネクタをインストールするには次の手順に従ってください:
- GitHubページからコネクタをダウンロードします。
- Chamiloの管理に移動し、プラグインを選択し、プラグインをアップロードボタンをクリックします。
- onlyoffice.zipファイルをアップロードします。プラグインリストが表示されます。
- Chamiloのルートフォルダからターミナルでcomposer installを実行します。
- プラグインリストに戻り、ONLYOFFICEプラグインを選択し、有効にするをクリックします。
Chamilo用ONLYOFFICEコネクタの更新
コネクタを最新バージョンに更新するには、プリインストールされたデフォルトのプラグインフォルダを新しく収集したプラグインに置き換える必要があります。
ステップ1:新しいバージョンのコネクタを準備します。
- GitHubページからダウンロードし、アーカイブを解凍します:
cd /tmp && wget https://github.com/ONLYOFFICE/onlyoffice-chamilo/releases/download/vX.X.X/onlyoffice.zipvX.X.Xは必要なコネクタバージョンです。
unzip onlyoffice.zip -
または、コネクタを収集します:
-
コマンドを実行してこのリポジトリの最新バージョンを取得します:
git clone https://github.com/ONLYOFFICE/onlyoffice-chamilo cd onlyoffice-chamilo -
サブモジュールを取得します:
git submodule update --init --recursive -
プラグインの依存関係を取得します:
composer install -
すべてのファイルを収集します:
mkdir /tmp/onlyoffice-deploy mkdir /tmp/onlyoffice-deploy/onlyoffice cp -r ./ /tmp/onlyoffice-deploy/onlyoffice cd /tmp/onlyoffice-deploy/onlyoffice rm -rf ./.git* rm -rf */.git*
-
コマンドを実行してこのリポジトリの最新バージョンを取得します:
ステップ2:古いコネクタフォルダを削除します。
- ルートフォルダでターミナルを開きます。
-
次のコマンドを使用してフォルダを削除します:
rm -rf /var/www/html/chamilo-x.x.x/plugin/onlyofficechamilo-x.x.xはChamiloのバージョンです。
ステップ3:新しいコネクタフォルダをchamilo-x.x.x/plugin/ディレクトリに移動します。
- ルートフォルダでターミナルを開きます。
-
次のコマンドを使用してフォルダを移動します:
cp -r /tmp/onlyoffice-deploy/onlyoffice /var/www/html/chamilo-x.x.x/plugin/chamilo-x.x.xはChamiloのバージョンです。
Chamilo用ONLYOFFICEコネクタの設定
プラグインページでONLYOFFICEを見つけ、設定をクリックします。設定ページが表示され、次のパラメータを設定できます:
- Chamiloからドキュメント編集サービスにアクセスするために使用されるアドレスをドキュメント編集サービスアドレスフィールドに入力します。
重要 ONLYOFFICE DocsのアドレスはChamiloからアクセス可能である必要があり、ChamiloのアドレスもONLYOFFICE Docsからアクセス可能である必要があります。
-
データを署名するために使用されるシークレットをシークレットキーフィールドに指定します。
ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効化され、シークレットキーは自動的に生成されます。Chamilo側でも有効化する必要があります:ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定してください。詳細については、この記事のONLYOFFICEとChamiloの統合のためのJWTの有効化セクションを参照してください。


動作の仕組み
ONLYOFFICEの統合は、こちらで文書化されたAPIに従います。
- 新しいファイルを作成するには、教師が必要なフォルダを開き、新規作成 ONLYOFFICEアイコンをクリックします。
- ユーザーはファイル作成ページにリダイレクトされ、ファイル名と形式(テキスト文書、スプレッドシート、またはプレゼンテーション)を入力する必要があります。ブラウザは/plugin/onlyoffice/create.phpメソッドを呼び出します。これにより、コースフォルダに空のファイルのコピーが追加されます。
- 既存のファイルを開くには、ユーザーがONLYOFFICEで開くアイコンを選択します。
-
リクエストは/plugin/onlyoffice/editor.php?docId="document identificator"に送信されます。サーバーはリクエストを処理し、次のプロパティを持つエディター初期化設定を生成します:
- url - ONLYOFFICE Docsがドキュメントをダウンロードするために使用するURL;
- callbackUrl - ONLYOFFICE Docsがドキュメント編集のステータスを通知するために使用するURL;
- documentServerUrl - クライアントがONLYOFFICE Docsに応答するために必要なURL(管理設定ページで設定可能);
- key - ONLYOFFICE Docsにドキュメントを再ダウンロードするかどうかを指示するetag。
- サーバーはエディターを開くためのスクリプトを含むページを返します。
- ブラウザはこのページを開き、エディターを読み込みます。
- ブラウザはONLYOFFICE Docsにリクエストを送り、ドキュメント設定を渡します。
- ONLYOFFICE Docsはドキュメントを読み込み、ユーザーは編集を開始します。
- ONLYOFFICE DocsはChamiloにユーザーがドキュメントを編集していることを通知するためにcallbackUrlにPOSTリクエストを送信します。
- すべてのユーザーが編集を終了すると、エディターウィンドウを閉じます。
- 10秒後、ONLYOFFICE Docsは編集セッションが終了したことを通知し、新しいドキュメントバージョンへのリンクを送信するためにcallbackUrlにPOSTリクエストを行います。
- Chamiloはドキュメントの新しいバージョンを読み込み、ファイルを上書きします。
ONLYOFFICEとChamiloの統合のためのJWTの有効化
ドキュメントを不正アクセスから保護するために、ONLYOFFICEエディターはJSON Web Token(JWT)を使用します。トークンは、ドキュメントエディターが初期化されるとき、および内部ONLYOFFICE Docsサービス間でのコマンド交換中に設定に追加されます。シークレットキーはJSONウェブトークンを署名し、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:コネクタ設定で同じシークレットキーを指定します
コネクタ設定でシークレットキーフィールドに同じシークレットを指定し、設定を保存します。
Chamilo用ONLYOFFICEコネクタの無効化
ONLYOFFICEコネクタを無効にする必要がある場合:
- プラグインページでONLYOFFICEを見つけ、設定をクリックします。
- 有効セクションでいいえチェックボックスをオンにします。
Chamilo内でONLYOFFICE Docsを使用開始する
ONLYOFFICE Docsエディターでドキュメントを開いて編集するには:
- 必要なファイルがあるフォルダを開きます。
ONLYOFFICEで編集アイコンをクリックして、エディターでファイルを開きます。
ドキュメントはONLYOFFICE Docsエディターで開かれます。


ドキュメントの読み取り専用権限を変更するには:
- 必要なドキュメントを見つけます。
編集アイコンをクリックします。
- 開いたページで読み取り専用チェックボックスを選択します。
- ドキュメントを保存ボタンをクリックします。

