カスタム JavaScript による Textbox.io の拡張

このトピックでは、IBM Connections 内の Textbox.io でカスタム JavaScript を使用するための一般拡張ポイントについて概説します。このトピックは、JavaScript 開発技法に詳しい開発者や統合担当者を対象としています。

テキストボックス拡張ポイント

注: この拡張ポイントを使用するには、JavaScript に関する専門知識が必要です。
注: IBM は Ephox Editors for IBM Connections のカスタム拡張をサポートしません。カスタム拡張を行う場合は、各自の責任で行ってください。IBM が使用する PMR をログに記録するとき、場合により、IBM が PMR を受領する前に、カスタム拡張を非アクティブ化または削除し、問題を再現する必要があります。

開発者や統合担当者は、Textbox.io の JavaScript API を使用して Textbox.io の機能をカスタマイズしたり、拡張したりできます。拡張ポイントにより、IBM Connections 内で作成される Textbox.io インスタンスを表すエディター・オブジェクトのインスタンスが提供されます。開発者は、このオブジェクトを使用して、Textbox.io API 内のエディター・オブジェクトで使用できる関数を呼び出すことができます。

カスタマイズと拡張ポイント

開発者は、拡張ポイントを使用して、統合によりエディター・インスタンスが作成された直後 (ただし、エディター・インスタンスがページにロードされる前) に実行される JavaScript 関数を用意できます。開発者は、Textbox.io をカスタマイズするために、この関数で任意の JavaScript を指定できます。便宜的にエディター・オブジェクトが渡されます。

この拡張ポイントを使用するために、開発者は、config/config.js ファイル内にある integrationConfig オブジェクトの postCreateTextboxio 属性で関数を定義する必要があります。config/config.js ファイルを開くと、拡張用のコードを組み込むことができる空のテンプレート関数があることがわかります。この関数は、Textbox.io エディター・インスタンスを受け取ります。

拡張機能開発のベスト・プラクティス

Ephox では、拡張機能を開発する場合、Ephox Editors for IBM Connections デプロイメント・パッケージのコピーに変更を加えることを推奨しています。カスタマイズが完了した後、統合で提供されているデプロイメント・スクリプトを再実行して、変更をサーバーにデプロイできます。これにより、サーバーで実行されるコードのバックアップが保持されます。ただし、一部のケースでは、サーバーに対して直接開発を行う方が便利な場合があります。これは、特に開発サーバーまたはステージング・サーバーを使用する場合です。このケースでは、『デプロイメント後のカスタマイズの変更』で説明されている手順に従うことができます。

以下の拡張例は、マクロを定義する方法を示しています。このマクロでは、[red] タグと [/red] タグの間のテキストが赤色のテキストに変換されます。
postCreateTextboxio: function(editor) {

    editor.macros.addSimpleMacro('[red]', '[/red]', function(match) {

        return '<span style="color: red">' + match + '</span>';

    });

}