プラグインの作り方の情報のありか

fessプラグインの作成をしたいと考えています。プラグインの作り方などの技術情報はどこかに公開されているのでしょうか?

作りたいプラグインは以下です。

MS Graph APIのアクセス許可が「アプリケーション」は認められず、「委任」の使用のみ許可させる運用に対応したプラグインを考えています。運用想定は、グループ会社全てが1テナントに含まれている場合で、「アプリケーション」では強力すぎて個別部門や子会社専用システムでは使えない場合の対応です。

Fessのプラグインは、Fess側に機能の差し込み口を作ってあるところに対して、機能を差し込める形にしています。たとえば、FessのAPIを追加したいような場合は、fess-webapp-*のようなものになります。プラグインのドキュメントなどはないですが、fess-webapp-exampleのように、簡単なサンプルは公開しています。

Fessで扱えるプラグインの種類は、PluginHelper.ArtifactTypeのものになります。種類は必要に応じて、増やしていっています。

MS Graph API関連だと認証周りでAzureAdAuthenticatorあたりを変更したいのかもしれませんが、現状だと、プラグインという扱いにはしていないので、それをカスタマイズしたものを作ったら、fess_sso++.xmlで指定すれば良いと思います。(fess-sso-*でプラインにしようと思ったことはあったのですが、切り出すには依存ライブラリが複雑だったので、断念した気がします)

返信ありがとうございます。

FESS本体もプラグインもソースコードを見ない段階で質問しました。サンプルのソースコードを見てみます。

作りたい物は、「fess-ds-office365」と同様の物ですが、「委任」許可しか使えない場合は承認codeやアクセストークンの有効期限への対応を入れたいと考えています。

MS Graph API関連だと認証周りでAzureAdAuthenticatorあたりを変更
認証周りは、FESS本体の変更が必要になるんですね。本体の変更はちょっと躊躇します…