プラグイン開発を始める前に、プラグインテンプレートを作成し、DocSpaceプラグイン設定に表示される設定を行います。
1.onlyoffice/docspace-plugin-sdkパッケージをグローバルにインストールします:
npm i -g @onlyoffice/docspace-plugin-sdk
これでプラグイン開発の時に使用するnpxコマンドは使用できるようになりました。
2.プラグインのテンプレートを作成するには、以下のコマンドを実行します:
npx create-docspace-plugin
3.ダイアログで以下の設定を行い、ターミナルでプラグインを設定します:
パラメータ | 説明 |
---|---|
Name | プラグインをデプロイするために、この名前のフォルダが作成されます。このフィールドは必須です。 |
Version | 現在のプラグインのバージョンは、DocSpaceプラグイン設定に表示されます。ページが再読み込みされると、プラグインはこのバージョンに合わせて更新されます。ポータルに現在のバージョンのプラグインがすでにアップロードされている場合は、何も行われません。 |
Author | DocSpaceプラグイン設定で表示されるプラグインの開発者です。 |
Name of the logo image | assetsフォルダにアップロードする必要があるプラグインロゴ画像の名前です。このファイルへのパスを指定する必要はありません。このロゴはDocSpaceプラグイン設定で表示されます。必要なアイコンサイズは48x48pxです。それ以外の場合は、このサイズに圧縮されます。 |
Description | DocSpaceプラグイン設定で表示されるプラグインの説明です。 |
License | プラグインのライセンスです。 |
Homepage | プラグインのホームページです。例えば、プラグインのGitHubリポジトリなどです。この情報はDocSpaceプラグインの設定で表示されます。 |
4.必要なスコープ上で Space キーを押して、リストからプラグインスコープを選択します:
- API:プラグインは、ポータルサーバーへのリクエストを行うためのオリジン、プロキシ、プレフィックスを提供されます
- Settings:プラグインは、管理者または所有者の設定を管理することができます
- Context menu:ファイル、フォルダ、ルーム、画像、ビデオ(オーディオ)のコンテキストメニューにプラグインを埋め込むことができます
- Info panel:プラグインは、ファイル情報パネルの独立したタブとして埋め込むことができます
- Main button:プラグインをメインボタンに埋め込むことができます
- Profile menu:プラグインをプロフィールメニューに埋め込むことができます
- Event listener:プラグインはポータルイベントへのアクセスを与えられます
- File:プラグインはファイルリストと相互作用し、ファイルの種類とイメージを変更することができます
指定されたパラメータはすべて、package.jsonファイルで後で変更できます。
package.jsonファイルでは、サードパーティのウェブサイトのアドレスを指定してCSPヘッダに追加し、これらのアドレスがブロックされるのを防ぐこともできます。
依存関係として@onlyoffice/docspace-plugin-sdk npmパッケージを追加し、package.jsonファイルに必要なフィールドをすべて指定することで、どのプロジェクトでもプラグインを作成できます。
例:
{
"name": "PDF-converter",
"version": "1.0.0",
"author": "ONLYOFFICE",
"scopes": [
"API",
"Settings",
"ContextMenu"
],
"description": "Sample description",
"pluginName": "PDFConverter",
"license": "MIT",
"logo": "logo.png",
"homepage": "https://github.com/ONLYOFFICE/docspace-plugins/tree/master/pdf-converter",
"cspDomains": [
"https://embed.diagrams.net/",
"https://*.diagrams.net/"
]
}