開発情報・ナレッジ

投稿者:SPIRERSナレッジ向上チーム 2021年12月14日 (火)

MKupdate vol.2「SPIRAL ver.2.18 アップデート概要」

2021年11月30日にアップデートしたSPIRAL ver.2.18の新機能 / 機能改善の概要をご紹介します。

新機能「PHP実行環境」「認証API」「DBトリガ」の実装により、
今まで以上に、複雑な処理を実行するWebアプリの開発やCMS連携がしやすくなりました。

SPIRERSナレッジ向上チームのメンバーが実際に機能を試した感想もお伝えします。

アップデート内容の概要

今回のアップデートでは新機能/改善/不具合修正があり、合計133件のアップデートがありました。
内訳と主要なものについては以下の通りです。

新機能:3件
 ・ページ表示時のプログラム(PHP)実行/PHP環境変数
 ・認証API
 ・DBトリガ(レコードアクション/非同期アクション対応)

その他機能:54件
 ・フリーコンテンツブロック
 ・検索フォームブロック
 ・認証エリア 機能拡張
  ーレコード照合ブロック
  ーパスワード任意化対応
 ・フォームブロック 機能拡張
  ーURLパラメータのレコード値反映
  ーステップ情報のURLパラメータ追加

不具合修正:76件
 ・スケジュールトリガの設定において、実行タイミングを「指定日」にした場合にタイムゾーンが表示されない不具合を修正など

詳細については以下のURLをご確認ください。
https://support.spiral-platform.com/news/6709.html

アップデート概要 ー 新機能:ページ表示時のプログラム(PHP)実行 / PHP環境変数

新機能の一つ目は「ページ表示時のプログラム(PHP)実行 / PHP環境変数 」です。
SPIRAL ver.2(以後、ver.2)にPHPの実行環境が提供されるようになりました。

ver.2 は、「ページ」という、図の白の枠の部分を作成し、色がついている「ブロック」を埋め込んで画面を作成します。ブロックの埋め込みは必須ではないので、「ページ」単体で使用することも可能です。
PHP は、「ページ」部分に記述し、「ページ」内の body や 「ブロック」に値を渡して出力します。
色分けしている部分ごとに記述箇所が別れているので、プログラム担当 と デザイン担当の作業分担が可能となっています。

また、ver.2 はテスト環境がありますので、色分けされている要素単位で本番リリースができます。
要素ごとに反映できることで、プログラム修正中に、画面文言のみ先に反映することなどもできるようになります。

さらにPHP環境変数機能も実装されており、テスト環境と本番環境で値を変更したい場合に使用できます。
例えば以下のケースにおいては、PHP環境変数を設定し読み込むようにしておくと、本番リリース前にキーを変更するだけで済み、リリース作業が楽になります。

環境変数のキーを変更するだけで済むケース
 ・テスト環境と本番環境でAPIキーを分けたい。
 ・テスト環境と本番環境でタイトルを変えたい。

今回のアップデートのメリット
 ・保守性が高い
 ・作業分担しやすい かつ 分担した範囲ごとでリリースが可能
  メリットの一つは、作業エリアの分離による保守性の高さです。
  UI部分とプログラム部分が分かれているため、変更箇所を把握しやすく、
  UIの修正を行う際に、プログラム側を意識せずに操作できるので、テスト工数を削減することができます。
  UI部分をお客様が担当し、プログラム部分を開発会社様やパイプドビッツが担当した場合も、お互いに干渉することなく進めることができます。

SPIRERSナレッジ向上チームの感想
 ・PHP が使用できるだけじゃなく、作業のしやすさも担保されている
 ・UI部分を自社、プログラムだけ開発会社へ外注するなどの案件進行もできる
  UIとプログラムが別れている構造は、フレームワークにもよくある考え方なので理解しやすいと感じた。
  単純にPHPが使えるようになっただけではなく、UI側とプログラム側が分離されており、
  ご契約企業様が内製化を進めるとなった際、UI部分をご契約企業様が担当し、プログラムの部分だけ開発会社などに
  外注するといったことも可能になると感じた。

https://support.spiral-platform.com/function/function-site-manage/6898.html

アップデート概要 ー 新機能:認証API

新機能の二つ目は認証APIです。
具体的には認証に必要なAPI群を指し、以下の3つの機能が新たに提供されました。

認証APIとは
 認証エリアに対して、ログイン/ログアウトの リクエストやセッション状況を確認できるAPIです。
 
 1.ログイン・ログアウト
  ログインのセッション管理をver.2の認証APIが担うため、セッション管理をする必要がなくなります。
  そのため、認証関連の実装をver.2のみで完結できます。

 2.セッション確認・延長
  CMS側で構築したページへのアクセス時に使うことでセッションを維持できます。
  CMSのページを擬似的に認証エリア内のページとして扱えます。

 3.ワンタイムURL発行
  APIでログインした場合にCMS側のページから認証エリア内のページに遷移する際に、遷移先URLを取得できます。
  CMSからver.2内の認証エリアのページに遷移する際もログイン画面を挟まずに遷移できます。

今回のアップデートのメリット
 ・ログイン処理実装時、cookieとURLパラメータの考慮が不要
 ・ver.2とCMSの連携でサイトの利便性と安全性を両立
 ・グループ設定に合わせてAPIエージェントの権限設定が可能
  SPIRAL ver.1では、APIでログインした場合、セッションIDをURLパラメーターに付与する必要がありましたが、
  その必要がなくなったためセキュリティが向上しました。
  また、認証APIの実行を許可するAPIエージェントの権限設定を細かく制限できるため、
  仮にAPIのキーが漏洩したとしても、被害を最小限に抑えられます。

感想
 ・CMS連携はver.2一択!?
  実用性が上がり、セキュリティの高い仕様にもなったため、ver.2とCMSの連携が容易になった。
  ver.2を多言語案件の対応時に採用するだけでなく、CMS連携の案件ではver.2で実装する機会が増えると感じた。

https://support.spiral-platform.com/function/function-site-manage/6995.html

アップデート概要 ー 新機能:DBトリガ

新機能の3つ目はDBトリガです。
レコードの登録時/更新時/削除時に、レコードアクションと非同期アクションの2種類のアクションが設定可能となっています。

レコードアクション
 レコードアクションでは自DB(トリガを設定したDB)に対しての更新と、他DBに対しての登録/更新/削除が可能です。
 トリガを複数組み合わせることで、複数DBへの登録や更新登録のような動作も設定できます。
 ver.1ではトランザクションDBを挟まなければいけなかった他DBへのアクションを、トリガで設定が可能になりました。
 演算/関数処理(ver.1でいう演算トリガ)は今後のアップデートで実装予定です。

非同期アクション
 非同期アクションは、ver.2.18提供時点ではメールアクションでの設定が可能です。
 メールアクションでは、レコードの登録時/更新時/削除時にレコード内のメールアドレスか、
 固定のメールアドレスにメール送信するトリガを設定できます。

活用例
 1.操作ログDBを作成して、登録/変更/削除のログを格納
  操作ログDBを作成して、登録/変更/削除のログを取るような設定をすることが出来ます。
  SPIRAL ver.1で同様の実装を行う際は、トランザクションDBを挟み、
  そのトランザクションDBに紐づいたフォームを作成するといった、複雑な設定が必要なためメンテナンス性が
  下がってしまいます。
  ver.2ではトリガと操作ログを格納するDBを用意するだけで設定することが出来ます。
  トランザクションを挟んでいないので、ver.2の管理画面(アプリの利用画面)からの操作や、
  APIからの操作ログも取得することができます。
  トリガが動作する条件として登録経路の設定も可能なので、APIでのレコード操作はログを取らないといった
  設定もできます。

 2.お問い合わせに対する回答内容を登録したタイミングでお客様へ自動で回答メールを送信
  問い合わせ管理のようなアプリケーションで、オペレーターが回答内容を登録したタイミングで、
  お客様への回答メールを自動で送信できます。
  これまで、フォームでのメールアクションではver.2の管理画面からのデータ操作に対して
  自動メール配信を設定することはできませんでしたが、
  トリガのメールアクションによって実現が可能になりました。もちろん、APIからのデータ操作をトリガに
  メール配信することもできます。

メリット
 ・メンテナンス性が高く、仕様変更や追加改修に強い
 ・管理画面やAPIからのデータ操作をきっかけにメールを送信できる

感想
 ・レコードストレージ制のver.2と相性が良い
 ・工夫次第でいろいろな活用例が生まれそうなので是非触ってほしい!

https://support.spiral-platform.com/function/function-app-manage/6889.html

アップデート概要 ー その他機能

既存機能に追加された内容をご案内します。

フリーコンテンツブロック
 ブロックの機能にHTMLの知識がなくてもページを作成できる機能が追加されました。
 WYSIWYG(ウィジウィグ)でWebページを作成可能です。
 https://support.spiral-platform.com/function/function-site-manage/6972.html
 

検索フォームブロック
 DBの情報を一覧でWebに公開できるレコードリストブロックに、検索機能を付与できる機能が追加されました。
 以下のフィールドを検索項目として設定することできるように
 なりました。
 
 ・検索できるフィールド
  テキスト、セレクト、マルチセレクト、日付
 https://support.spiral-platform.com/function/function-site-manage/7074.html

認証エリア 機能拡張
 ・クリックログインフローの実装が可能
  認証エリアの機能拡張ではレコード照合ブロックというブロックが追加されたのと合わせて
  パスワードフィールドが任意に設定できるようになったので、クリックログインフローが実装できるようになりました。
 https://support.spiral-platform.com/function/function-site-manage/7024.html
 

フォームブロック 機能拡張
 ・URLパラメータをレコード値に反映
 ・ステップ情報のURLパラメータ追加
  これまでJavascriptで対応を行う必要があったURLパラメータのレコード値反映が標準設定できるようになります。
  合わせて、ステップ情報のURLパラメータが追加されるのでGoogle Analyticsなどのアクセス解析ツールで
  どこで離脱したのかがわかるようになります。
 https://support.spiral-platform.com/function/function-site-manage/3949.html

以上です。

いかがだったでしょうか。
是非、新機能をお試していただき、活用いただければと思います。

コンテンツに関しての
要望はこちら