Business rulesは、Drupalでコードを書かずに手続き的に処理が書けるモジュールだ。多少癖はあるし、コードを書くより煩雑だと思うこともあるが、ある意味意地になって使っていたものだ。正式リリースではなくBetaのままだが、基本機能は問題なく動作するので重宝している。ただ、Betaなので自分で責任を負う覚悟がないと使えない。
今春にDrupal9への対応も済み、Betaながら2.0となった。既存Drupal8サイトのバージョンアップは問題なく、動作確認でも問題は出なかった。
先週から故あって、再度Business rulesを使って新たなアプリケーションを書き始めたのだが、言うことを聞かない。
まずメッセージが出ない。久しぶりだから、自分が操作ミスをしているに違いないと考えていろいろやってみるが出ない。アプリケーションのPOCの最中だから、メッセージ機能を使わずに進めたのだが、今度は、条件分岐のアクションが追加できない。追加できないだけでなく既存の記述が消えてしまう。ああ、これはバグだと思い、issueをあたった。
見つかった問題は2点、ビンゴだった。
メッセージも出るようになったし、条件分岐のアクションも追加できるようになった。まだPOCが終わったわけではないが、出口は見えた。
SQLのように宣言的に書こうとすると書きにくいことはあるし、入力のポストプロセスや出力のプリプロセスでは、手続き的な記述をしたからといってコンテンツの構造を壊すことはない(副作用はない)。必要があれば、その定義を渡して、プログラマにコードを書いてもらえば、Business rulesに頼り続けなくても同等の機能を実装できる。
今日も少しだけECAモジュールを触ってみたが、実用レベルではまだBusiness rulesの方に利がある。ただ、モデルが美しいので将来性は高いだろう。じきにPluginが大量に作られて、不可欠なモジュール、あるいは不可欠なPOCツールとなるだろう。
しかし、今すぐ問題を解かなくてはいけない時には、手持ちのツールを使うしか無い。
※画像は、Business rulesモジュールのページにあるものを引用させていただいたもの