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

Odoo

ONLYOFFICEとOdooの統合について​

Odooはリソース計画のために設計されたビジネスマネジメントツールです。ONLYOFFICEはOdooと統合するための3つの公式モジュールを提供しています:

  1. ONLYOFFICEは他のモジュールが動作するために必要なメインモジュールで、ドキュメントの添付を可能にします。
  2. ONLYOFFICE Documentsはドキュメントの作成、編集、添付に使用されるモジュールです。
  3. ONLYOFFICE Templatesは記入可能なフォームの作成と編集に使用されるモジュールです。
注記

その動作の詳細やONLYOFFICEコネクタをOdoo用にコンパイルする方法については、APIドキュメントをご覧ください。

主な機能​

  • テキストドキュメント、スプレッドシート、プレゼンテーションの編集と表示。
  • RTF、TXT、CSVなど、他のオフィスファイル形式を表示用に開く。
  • リアルタイムでの共同編集:2つの共同編集モード(高速と厳密)、変更履歴モード、コメント、内蔵チャット。
  • フォームテンプレートの作成と編集。
  • PDFファイルの閲覧。
  • 適切な権限を持つユーザー以外はドキュメントにアクセスできないようにするためのJWTサポート。

サポートされているフォーマット​

  • 編集用:DOCX、XLSX、PPTX。
  • 表示のみ:DJVU、DOC、DOCM、DOT、DOTM、DOTX、EPUB、FB2、FODT、HTML、MHT、ODT、OTT、OXPS、PDF、RTF、TXT、XPS、XML、CSV、FODS、ODS、OTS、XLS、XLSM、XLT、XLTM、XLTX、FODP、ODP、OTP、POT、POTM、POTX、PPS、PPSM、PPSX、PPT、PPTM。

バージョン5.2.0の新機能​

変更された点

  • 内部シークレットの保存を修正
  • タイムアウトを延長

完全な変更ログはこちらでご覧いただけます。

ONLYOFFICE DocsをOdooに接続する​

要件​

  • ONLYOFFICE Docsインスタンス。ONLYOFFICE Docsのインストールについては、公式のドキュメントページをご覧ください:

  • ONLYOFFICEメインモジュールは他のモジュールが動作するために必要です。このモジュールには有料ライセンスはありません。

  • ONLYOFFICE DocumentsモジュールはOdooエンタープライズエディションが正常に動作するために必要です。このモジュールはメインのONLYOFFICEモジュールを自動的にインストールします。

  • ONLYOFFICE TemplatesモジュールはAutomation APIを備えたONLYOFFICEライセンスが正常に動作するために必要です。このモジュールはメインのONLYOFFICEモジュールを自動的にインストールします。

  • すべてのモジュールにPyJWTが必要です。

PyJWTライブラリのインストール​

PyJWTライブラリをインストールするには、コマンドラインで次のコマンドを入力します:

pip install pyjwt

詳細については、公式のPyJWTインストールガイドをご覧ください。

Odoo用のONLYOFFICE統合モジュールの設定​

ONLYOFFICEモジュール

ONLYOFFICEモジュールをインストールするには:

  1. アプリを開きます。
  2. ONLYOFFICEを見つけて、下のアクティベートボタンをクリックします。

ONLYOFFICE Documents

ONLYOFFICE Documentsモジュールをインストールするには:

  1. アプリを開きます。
  2. ONLYOFFICE Documentsを見つけて、下のアクティベートボタンをクリックします。

ONLYOFFICE Templates

ONLYOFFICE Templatesモジュールをインストールするには:

  1. アプリを開きます。
  2. ONLYOFFICE Templatesを見つけて、下のアクティベートボタンをクリックします。

最初にインストールされたモジュールは自動的にDocument Serverへの接続を確立します。

モジュールのインストール後、必要に応じてOdoo内の設定を調整します。そのためには、ホームメニュー > 設定 > ONLYOFFICEに移動します。

Document Server Urlには、インストールされたONLYOFFICE DocsのURLまたはONLYOFFICE Docs Cloudのアドレスを指定します。JWTの設定について詳しくは、このガイドの該当セクションをご覧ください。

ドキュメント編集サービスからの内部要求のためのサーバーアドレス - このフィールドは自動的に入力されます。

サーバーからの内部要求のためのドキュメント編集サービスアドレス - このフィールドにはDocument Server Urlと同じ値を入力します。

必要に応じて、デモONLYOFFICE Docsサーバーに接続チェックボックスをアクティブにすることでONLYOFFICEデモサーバーに接続できます。これは公開テストサーバーであり、機密データはアップロードまたは処理されないことに注意してください。

ONLYOFFICEとOdooの統合のためのJWTの設定​

JWTまたはJSON Web Tokenは、クライアントの正当性を検証するためにHTTPリクエスト内でサーバーに送信される文字列です。JWTはクライアント側にのみ保存されるため、当事者間の通信は保護され、デジタル署名されています。

トークンはJWT(JSON Web Tokens)標準を使用して生成されます。トークンはサーバーのキーで署名されているため、クライアントはトークンが正当であることを確認できます。

ONLYOFFICE Docsはトークンを検証します。ペイロードからのデータは有効と見なされ、メインパラメータからの対応するデータの代わりに使用されます。トークンが無効な場合、コマンドは実行されません。詳細については、APIセキュリティガイドをお読みください。

Odooでは、JWTはデフォルトで有効です。

必要に応じて手動で設定する手順は次のとおりです:

  1. ホームメニュー > 設定 > ONLYOFFICEに移動します。

    ONLYOFFICE_Odoo

  2. 次のフィールドに値を入力します:

    • Document Server JWT Secret: ONLYOFFICE Docsへのアクセスを制限するために自動的に生成される秘密鍵です。このフィールドに独自の秘密鍵を指定する場合は、ONLYOFFICE Docs設定ファイルにも同じ秘密鍵を指定して検証を有効にします。
    • Document Server JWT Header: ONLYOFFICEで使用される標準のJWTヘッダーはAuthorizationです。このヘッダーがセットアップと競合する場合は、カスタムヘッダーに変更できます。

Odoo内でONLYOFFICE Docsを使用開始する​

ONLYOFFICEモジュール​

ファイルを添付するには:

  1. ディスカッションモジュールに移動します。

  2. チャネルまたはディスカッションを選択します。

  3. チャットフィールドのファイルを添付ボタンをクリックします。

  4. 添付するファイルを選択し、OKをクリックします。

  5. 添付されたファイルは次のように表示されます:

    ONLYOFFICE_Odoo

ONLYOFFICE Documentsモジュール​

ファイルを作成するには:

  1. ドキュメントモジュールを開きます。

  2. トップパネルのアップロードドロップダウンメニューでONLYOFFICEで作成ボタンをクリックします。

  3. 必要に応じてタイトルフィールドにファイル名を入力します。

  4. 利用可能なファイルタイプの1つを選択します:ドキュメント、スプレッドシート、またはプレゼンテーション。

  5. 作成ボタンをクリックします。

    ONLYOFFICE_Odoo

Odooのアクティビティに添付されたファイルで、ONLYOFFICEがサポートするファイルはすべて編集できます(完全なリストはこちら)。

ファイルを編集または表示するには、右側の拡張パネルでONLYOFFICEで開くボタンをクリックします。例えば:

ONLYOFFICE_Odoo

ONLYOFFICE Templatesモジュール​

モジュールのメインページで利用可能な既成のテンプレートを使用できます。

ONLYOFFICE_Odoo

利用可能なテンプレートの数は、インストールされているモジュール(例:販売、請求書、カレンダー、採用など)によって異なります。ONLYOFFICEデモテンプレートは、すでにインストールされているOdooモジュールにのみ追加されます。他のOdooモジュールをインストールした後にONLYOFFICE Templatesをインストールすることを強くお勧めします。

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

  1. デベロッパーモードに切り替えることをお勧めします。

    • 設定に移動します。
    • 一般設定タブを開きます。
    • デベロッパーツールまでスクロールします。
    • デベロッパーモードを有効にするメニューオプションをクリックします。
  2. ホームメニューを開き、ONLYOFFICE Templatesオプションを選択します。

  3. 作成またはアップロードボタンをクリックして新しいフォームを作成します。

  4. テンプレート名を入力します。

  5. モデルを選択フィールドにOdooモデルを入力します。

    ONLYOFFICE_Odoo

    • モデル名を知るには、必要なモジュールを開きます。

    • ONLYOFFICE送信&印刷ボタンがあるエントリに移動します。

    • ページURLを確認します。model-xxxがモデルを選択フィールドに必要なOdooモデル名です。このフィールドに貼り付けてEnterを押します。

      ONLYOFFICE_Odoo

    • ファイルをアップロードボタンをクリックして既存のテンプレートをアップロードすることもできます。

  6. テンプレートは作成され、編集可能になります。そうでない場合は、テンプレート作成時に画面の左上隅にある手動で保存ボタンをクリックします。

    複数のテンプレートを作成する必要がある場合は、必要なフィールドに入力し、画面の右上隅にある新規ボタンをクリックします。現在のテンプレートが保存され、フィールドが再び空になり、別のテンプレートの作成を続行できます。

テンプレートフィールドの操作​

  1. ONLYOFFICE Templatesモジュールに切り替え、必要なテンプレートをクリックしてさらに編集します。テンプレートのプロパティを編集する必要がある場合は、必要なモジュールの右上隅にあるその他ボタンをクリックし、編集オプションを選択します。

  2. 各モジュールの各フィールドにはその横にクエスチョンマークがあります。そこにある情報はフィールドを埋めるために必要です。

    ONLYOFFICE_Odoo

    フィールドにクエスチョンマークがない場合は、その内容を一時的に削除してみてください。フィールド名が代わりに表示されるかもしれません。このような名前は、フォームを編集する際に左側のルートセクションでも見つけることができます。

  3. ONLYOFFICE Templatesコネクタでの検索には、フィールドとモジュールの情報が必要です。

  4. フィールドにone2many/many2many/many2oneの関係がある場合、サブセクションには対応する名前が付きます。

    Subsection name

  5. モデルフィールドにURLと一致しない名前が含まれている場合(例:URLにmodel-account.moveがあり、モデルフィールドにaccount.move.lineがある場合)、サブセクションで探します。

    one2many/many2many/many2oneの関係である場合、サブセクションキーはフィールドフィールドと同じ名前になります。例えば、partner_idであれば、キーも同じ名前になります。

  6. フィールドのモデルがURLのものと一致しない場合、セクションキーはモデルフィールドと同じ名前になります。

  7. コネクタはすべてのOdooモジュールに統合されているため、アクションメニュー > ONLYOFFICEで印刷で記入済みフォームを印刷できます。

  8. 選択したモジュールの利用可能なテンプレートは、開いたメニューに表示されます。選択したモジュール項目に対応するデータでテンプレートを埋めるために必要なテンプレートを選択します。

  9. フォームはデバイスにダウンロードされます。フォームをダウンロードしたページに応じてフィールドが自動的に埋められます。

  10. フォームにデータセットを追加するには、

    • データセットのフィールド名と同じ列を持つテーブルをフォームに作成します;

    • Odooのクエスチョンマークに示された情報を対応するフィールドに入力します;

    • ページ印刷中にテーブルの残りの部分が自動的に埋められます。

      現在のところ、HTML要素をフォームに挿入することはできません。

  11. アクセス権を管理するには、

    • ユーザープロファイルに移動します;

    • ユーザーまたは管理者を選択します:

      • ユーザーはテンプレートの印刷と表示のみが可能です。
      • 管理者はテンプレートの作成、編集、表示、削除、印刷が可能です。
    • すべてのユーザーはデフォルトでユーザーアクセス権を持っています。