本日、無事に Wagby R9 を公開することができました。開発チームの皆さん、連日の集中対応、おつかれさまでした!
興味のある方は、こちらからダウンロードください。トライアルキットのライセンスが同梱されているので、すぐにお試しいただけます。
さまざまな改善がなされていますが、ここでは目玉となる新機能「世代管理」を紹介します。業務系エンジニアが欲しくなること、疑いなし、です。
世代管理とは
あるデータの発生(新規登録)から、あらゆる更新についてのデータを保持していきます。削除についても記録します。
これによって、過去はどういうデータだったのか、ということを確認できるようになります。別テーブルへの自動データ保存かつ任意の時点の閲覧機能と考えていただけるとよいです。
Wagbyならではですが、設定はとても簡単です。「世代管理を有効にする」というチェックをつけるだけです。これでビルドすると、このモデルは世代管理機能が使えます。
世代管理が適用されたデータは、詳細画面の下に、世代一覧が表示されるようになります。
世代一覧の詳細画面で、過去データの内容を確認することができます。
難易度よりは、工数がかかるのが問題
仕組み的には難しいものではありません。データの Create, Update, Delete のタイミングで現時点のデータを「世代管理専用テーブル」に登録すればよいでしょう。このテーブルは閲覧専用で、利用者は登録や更新を行えないように制御します。
しかしこれを通常の開発要件に取り込むのは面倒なのです。例えば...
- データ項目の変更が生じた場合、常に「世代管理専用テーブル」も変更するといった、同期をとりつづける作業が発生する。
- 画面レイアウトの変更も同じ。世代データの表示レイアウトも必ず修正しなければならない。
というように、開発工数が単純に膨らみます。そのため、利用者ニーズとしては欲しいものですが、開発工数の視点からは削られてしまうことが多い機能でした。
しかし Wagby のアプローチはとても簡単なので、工数が膨れるということがありません。実装するとややこしい機能こそ、簡単に設定できるようにする、という Wagby の方針にぴったりです。
今後の計画
カードをめくるように、最初の世代から「次へ」ボタンを押すことで、最新へと順に辿っていくことができます。そのとき、一つ前のデータと比較して「どこが変わったか」を強調表示できるようになると、なお良いですよね。今後はそのような機能も追加していきたいと考えています。乞うご期待ください!