メインコンテンツまでスキップ

Plone

ONLYOFFICEとPloneの統合について​

ONLYOFFICEは、ONLYOFFICE DocsをPloneと統合し、コンテンツ管理システム内でドキュメントを編集するための公式コネクタを提供しています。ONLYOFFICEコネクタはPyPi.orgおよびONLYOFFICEのGitHubページからダウンロードできます。このコネクタはApache-2.0ライセンスの下で配布されています。

注記

ONLYOFFICEとPloneの統合コネクタの詳細とその動作については、APIドキュメントをご覧ください。

主な機能​

  • テキストドキュメント、スプレッドシート、プレゼンテーションの作成、編集、表示。
  • リアルタイムでの共同編集:2つの共同編集モード(高速と厳格)、変更履歴モード、コメント、内蔵チャット。
  • JWTサポートにより、適切な権限を持つユーザー以外がドキュメントにアクセスできないようにトラフィックを保護します。

対応フォーマット​

  • 編集用:DOCX, XLSX, PPTX, PDF
  • 表示用:DJVU, DOC, DOCM, DOCX, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, TXT, XPS, XML, CSV, FODS, ODS, OTS, XLS, XLSB, XLSM, XLSX, XLT, XLTM, XLTX, FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX
  • 変換用(名前を付けてダウンロード):DOC, DOCM, DOCX, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, XPS, XML, FODS, ODS, OTS, XLS, XLSB, XLSM, XLSX, XLT, XLTM, XLTX, FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM, PPTX
  • Office Open XMLへの変換用:DOC, DOCM, DOT, DOTM, DOTX, EPUB, FB2, FODT, HTML, MHT, ODT, OTT, OXPS, PDF, RTF, XPS, XML, FODS, ODS, OTS, XLS, XLSB, XLSM, XLT, XLTM, XLTX, FODP, ODP, OTP, POT, POTM, POTX, PPS, PPSM, PPSX, PPT, PPTM

バージョン4.1.0の新機能​

追加

  • 入力可能なPDFフォームのサポート。
  • 21の追加言語の空のファイルテンプレート:アラビア語 (ar-SA)、カタルーニャ語 (ca-ES)、デンマーク語 (da-DK)、バスク語 (eu-ES)、フィンランド語 (fi-FI)、ガリシア語 (gl-ES)、ヘブライ語 (he-IL)、ハンガリー語 (hu-HU)、アルメニア語 (hy-AM)、インドネシア語 (id-ID)、マレー語 (ms-MY)、ノルウェー語ブークモール (nb-NO)、ルーマニア語 (ro-RO)、シンハラ語 (si-LK)、スロベニア語 (sl-SI)、アルバニア語 (sq-AL)、セルビア語キリル文字 (sr-Cyrl-RS)、セルビア語ラテン文字 (sr-Latn-RS)、トルコ語 (tr-TR)、ウルドゥー語 (ur-PK)、繁体字中国語 (zh-TW)。
  • Plone 6.1のサポート。
  • JWTの有効期間の設定を改善。
  • デモONLYOFFICE Document ServerのURLを更新。

ONLYOFFICE DocsをPloneに接続する​

要件​

  • ONLYOFFICE Document Server v6.1(サーバーまたはクラウドバージョン)以降

    Ploneおよび任意のエンドクライアントから解決可能で接続可能なONLYOFFICE Docsのインスタンスが必要です。それはPloneに直接POSTできる必要があります。

    注記

    ONLYOFFICE Docsのインストールの詳細については、公式のドキュメントページを参照してください。

  • Python 3.4以降

  • ONLYOFFICE統合プラグイン3.0.1以降のPlone用

Plone用ONLYOFFICE統合プラグインのインストール​

注記

以前のバージョンのプラグイン(以前の名前がonlyoffice.connectorの旧バージョンのプラグイン)がインストールされている場合は、新しいバージョンをインストールする前に削除してください。以前のバージョンをインストールする場合は、インストール手順に従う際にonlyoffice.ploneの代わりにonlyoffice.connectorを使用してください。

Plone用ONLYOFFICE統合は標準のPloneアドオンとして配布されています。推奨されるインストール方法はBuildoutを使用することです。

  1. プラグインをBuildoutに追加します。

    Ploneインスタンスのbuildout.cfgファイルを開き、onlyoffice.ploneをeggsセクションに追加します:

    [buildout]
    ...
    eggs =
    onlyoffice.plone
  2. Buildoutを実行します。

    コマンドラインからbuildoutを非スーパーユーザーとして実行して変更を適用します:

    sudo -u plone_buildout /plone/zinstance/bin/buildout
  3. Ploneインスタンスを再起動します。

    新しくインストールされたアドオンを読み込むためにPloneインスタンスを再起動します:

    sudo /plone/zinstance/bin/instance restart
  4. Ploneでアドオンを有効にします。

    ブラウザでPloneサイトを開き、管理者としてログインし、プラグインを有効にします:

    • サイト設定 > アドオンセクションに移動します。
    • 利用可能なアドオンの中からonlyoffice.ploneを見つけます。
    • インストールボタンを押して有効にします。

Plone用ONLYOFFICE統合プラグインの設定​

プラグインを設定するには:

  1. サイト設定に移動します。

  2. アドオン設定セクションまでスクロールします。

  3. ONLYOFFICE設定ボタンを押します。

  4. ドキュメント編集サービスフィールドに、ONLYOFFICE Docsが配置されているURLアドレスを指定します。

    注記

    ONLYOFFICE DocsのアドレスはPloneからアクセス可能である必要があり、同様にPloneのアドレスもONLYOFFICE Docsからアクセス可能である必要があります。

  5. シークレットキーフィールドに、データを署名するために使用されるシークレットを指定します。

    注記

    ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。Plone側でも有効にする必要があります。ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定してください。詳細については、この記事のONLYOFFICEとPloneの統合におけるJWTの有効化セクションを参照してください。

  6. ドキュメント編集サービスからの内部リクエスト用サーバーアドレスフィールドに、Document Editing ServiceからPloneにアクセスするために使用されるアドレスを指定します。

  7. サーバーからの内部リクエスト用ドキュメント編集サービスアドレスフィールドに、PloneからDocument Editing Serviceにアクセスするために使用されるアドレスを指定します。

ONLYOFFICE_configure

Plone ONLYOFFICEプラグインの開発​

  1. リポジトリをクローンし、ディレクトリを変更します:

    git clone --branch deploy git@github.com:ONLYOFFICE/onlyoffice-plone.git
    cd onlyoffice-plone
  2. パッケージ内にvirtualenvを作成します。

  3. pipで必要なものをインストールします。

  4. buildoutを実行します:

    virtualenv .
    ./bin/pip install -r requirements.txt
    ./bin/buildout
  5. Ploneをフォアグラウンドで開始します:

    ./bin/instance fg

動作するPloneインスタンスがある場合、プロジェクトファイルをsrcディレクトリに追加することでプラグインをインストールできます:

  1. srcディレクトリにonlyoffice.ploneディレクトリを作成します。

  2. Gitで取得したプロジェクトファイルをonlyoffice.ploneディレクトリに入れます。

  3. buildout.cfgファイルを編集します:

    [buildout]
    ...
    eggs =
    onlyoffice.plone
    develop =
    src/onlyoffice.plone
  4. 変更を反映させるためにbuildoutを再実行します:

    ./bin/buildout
  5. その後、Ploneインスタンスを開始または再起動します。

PloneはZopeサーバーに基づいており、rootユーザーとして実行することはできません。rootユーザーとして実行する場合は、effective-userディレクティブを指定する必要があります。これを行うには、./parts/instance/etc/zope.confにeffective-user < username >の行を追加します。

Plone ONLYOFFICE統合プラグインのアップグレード​

  1. buildout.cfgファイルに正確なプラグインバージョンを指定している場合(いわゆるピンニングであり、推奨されるプラクティス)、例えばonlyoffice.plone = 1.0.0のように、この参照を新しいバージョンに更新します。プラグインバージョンが指定されていない場合は、最新バージョンが自動的に読み込まれます:

    [versions]
    ...
    onlyoffice.plone = 1.0.1
  2. bin/buildoutを実行します。新しいバージョンがダウンロードされ、インストールされるまで待ちます。

  3. 次のステップを完了するまで、サイトが歪んで見えたり、アクセスできなくなることがあります。

  4. アドオン画面に移動し(サイトURLに*/prefs_install_products_form*を追加)、アップグレードリストでonlyoffice.ploneを選択し、onlyoffice.ploneをアップグレードをクリックします。

動作の仕組み​

ONLYOFFICEの統合は、こちらに記載されているAPIに従います。

  1. ユーザーはPlone内のドキュメントに移動し、ONLYOFFICE Editアクションを選択します。
  2. Ploneは、以下のプロパティを持つDocument Server用のJSONオブジェクトを準備します:
    • url:ONLYOFFICE Docsがドキュメントをダウンロードするために使用するURL;
    • callbackUrl:ONLYOFFICE Docsがドキュメント編集のステータスを通知するURL;
    • key:UUID+修正タイムスタンプで、ONLYOFFICE Docsがドキュメントを再ダウンロードするかどうかを指示する;
    • title:ドキュメントのタイトル(名前)。
  3. Ploneは、これらの値を埋め込んでクライアントブラウザがエディターを読み込めるようにするために、.ptテンプレートからページを構築します。
  4. クライアントブラウザはONLYOFFICE DocsのJavaScriptライブラリにリクエストを送り、上記のプロパティを持つDocEditor構成をONLYOFFICE Docsに送信します。
  5. その後、ONLYOFFICE DocsはPloneからドキュメントをダウンロードし、ユーザーは編集を開始します。
  6. ONLYOFFICE Docsは、ユーザーがドキュメントを編集していることをPloneに通知するためにcallbackUrlにPOSTリクエストを送信します。
  7. すべてのユーザーとクライアントブラウザが編集を終了すると、編集ウィンドウを閉じます。
  8. 10秒の非アクティブ状態の後、ONLYOFFICE Docsはクライアントがドキュメントの編集を終了し、閉じたことをPloneに知らせるためにcallbackUrlにPOSTを送信します。
  9. Ploneはドキュメントの新しいバージョンをダウンロードし、古いものを置き換えます。

ONLYOFFICEとPloneの統合におけるJWTの有効化​

ドキュメントを不正アクセスから保護するために、ONLYOFFICEエディターはJSON Web Token(JWT)を使用します。トークンは、ドキュメントエディターが初期化されるときや、内部ONLYOFFICE Docsサービス間でのコマンド交換時に構成に追加されます。シークレットキーは、JSON Web Tokenに署名し、ONLYOFFICE Docsへのリクエスト時にトークンを検証するために使用されます。

ONLYOFFICE Docs v7.2以降、JWTはデフォルトで有効になっており、シークレットキーは自動的に生成されます。ONLYOFFICE Docs設定ファイルでシークレットキーを見つけ、コネクタ設定で同じシークレットキーを指定する必要があります。

ステップ1:ONLYOFFICE Docs設定ファイルでシークレットキーを見つける

  1. 任意のテキストエディターで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"
    }
    }
    }
    }
    }
  2. true値は3つのセクションで指定されています。これはトークン検証が有効であることを意味します。

    • services.CoAuthoring.token.enable.browser
    • services.CoAuthoring.token.enable.request.inbox
    • services.CoAuthoring.token.enable.request.outbox
  3. 自動生成されたシークレットキーは3つのセクションで指定されています。デフォルトのシークレット値を独自のシークレットキーに置き換えることができます。シークレットキーは3つのセクションで同じでなければなりません。

    • services.CoAuthoring.secret.inbox.string
    • services.CoAuthoring.secret.outbox.string
    • services.CoAuthoring.secret.session.string
  4. 変更を加えた場合は、それを保存し、設定変更が反映されるようにサービスを再起動します。

    supervisorctl restart all

ステップ2:コネクタ設定で同じシークレットキーを指定する

コネクタ設定で、シークレットキーフィールドに同じシークレットを指定し、設定を保存します。

デモONLYOFFICE Docsへの接続​

ONLYOFFICEコネクタバージョン3.0.0以降、Plone内でONLYOFFICE DocsをインストールせずにONLYOFFICEオンラインエディターを試すことができます。

接続をオンにするには、デモONLYOFFICE Document Serverに接続チェックボックスをクリックし、保存ボタンをクリックします。

重要

これは30日間利用可能な公開テストサーバーです。機密データを共有しないでください。

Plone内でONLYOFFICE Docsを使い始める​

ドキュメントを作成するには:

  1. コンテンツタブで、左側のONLYOFFICEで作成メニューオプションをクリックします。

  2. 必要なファイルタイプを選択します:ドキュメント、スプレッドシート、またはプレゼンテーション。

    Create file

  3. 新しいドキュメントが編集用に開かれます。

ドキュメントを編集するには:

  1. コンテンツタブで必要なドキュメントを見つけます。

    ONLYOFFICE_editfile

  2. ドキュメントをクリックします。

  3. 開かれたページで、ONLYOFFICE Editメニューオプションをクリックして、ドキュメントを編集および/または表示用に開きます。

    ONLYOFFICE_editfile1

ドキュメントをOffice Open XML形式に変換するには:

  1. コンテンツタブで必要なドキュメントを見つけます。

  2. ドキュメントをクリックします。

  3. 開かれたページで、ONLYOFFICEで変換メニューオプションをクリックします。

    Convert

    注記

    OOXMLに変換できるフォーマットの完全なリストをご覧ください。

  4. 変換ボタンをクリックします。

    Convert

PDFフォームを作成するには:

  1. コンテンツタブで、左側のONLYOFFICEで作成メニューオプションをクリックします。
  2. PDFフォームオプションを選択します。
  3. 新しい空のPDFフォームが編集用に開かれます。フォームタブを使用して、テキストフィールド、コンボボックス、ドロップダウンリスト、チェックボックス、ラジオボタン、画像、署名フィールド、メールアドレスなどのフィールドタイプを追加します。

フォームに記入するには:

  1. コンテンツタブで必要なフォームを見つけます。

  2. フォームをクリックします。

  3. 開かれたページで、ONLYOFFICEでフォームに記入メニューオプションをクリックします。

    Fill in a form

注記

フォームの詳細については、フォームの作成と記入に関する該当記事をお読みください。

ドキュメントを異なる形式でダウンロードするには:

  1. コンテンツタブで必要なドキュメントを見つけます。

  2. ドキュメントをクリックします。

  3. 開かれたページで、アクションメニューオプションをクリックし、ダウンロードとしてメニュー項目を選択します。

    Download

  4. リストから必要な形式を選択します。

  5. ダウンロードボタンをクリックします。

    Download

注記

最も一般的な問題とその解決方法の詳細については、トラブルシューティングガイドをご覧ください。