DrupalのBusiness Rulesモジュールを調べている

hagi に投稿

Drupal8では、rulesモジュールが、まだalpha5で歩みが遅く、Business Rulesはbeta8とかなり頻繁に更新されていて、これは使えるかも知れないと考えて触って見ている。

私のニーズは、Webformで未ログインユーザーから情報を登録したいというものだ。

例えば、研究会の会員登録のようなケースもある。

まず、研究会の会員登録をWebformで求め、Profileコンテンツ(node)をWorkflowモジュールの管理下に置いておいて、自動的にDraft状態で作成する(1)。それを研究会管理者権限のある人が確認の上承認する(2)。承認されたら、ログインユーザーを生成してユーザーを招待する(3)。研究会イベント(node)を作成し、発表募集のWebform、出席のWebformをアタッチし、申し込みに応じて発表(node)やチケット(node)を生成したい。

冒頭のBPMNがユーザー登録(1~3)のフロー図となるが、Business Rulesモジュールを使うと、Registration approvalの操作以外は全部自動化することが可能になる。

この程度の事がある程度簡単にできるようになれば、かなりしっかりとしたアプリケーションがDrupalで作れるようになる。

実際にインストールして試した見たところ、Webformからnodeの生成はtokenモジュールを併用すれば問題なくできる。多言語対応も問題なくできていて、Webformが日本語ページから送出されると日本語のnodeができるし、英語ページからだと英語nodeができる。十分実用的だ。

Webformからnodeが生成できるだけではなく、未検証だが、新たにユーザーを作成したり一括変更したりといった機能も実装できるとある。相当広範に使えそうな手ごたえを感じた。多言語アプリケーションを作るのは容易ではないので、もしDrupalをアプリケーションプラットホームとしてサイトが構築できれば、相当なアドバンテージが得られると思う。Drupal8は引き続き生みの苦しみを味わっているが、その底力は他のCMSに例を見ないものだと思う。

ちなみに、今の所address fieldのように子項目を持つようなfieldへの値の与え方が分からなくて難儀している。繰り返し項目の設定方法は書かれているのだが、名前付きの項目の設定方法が分からない。この問題が解決できないと、扱えるnodeが限られてしまうので、実用に踏み込むのが躊躇われる。とは言え、仮に現時点でまだ実装されていなかったとしてもやがて解決されるだろうと楽観視している。

Business Rulesモジュールの成長を期待する。

タグ