設計情報

投稿者:内製化支援事業本部 2023年1月25日 (水)

最前線に追いつくチャンス!? なんでも答えます ver.2 〜2022年総まとめ〜

MKupdate vol.15は、2022年最後の回で、2023年1月には大型アップデートを控えているということもあり、これまでのSPIRAL ver.2のおさらいを行いました。
この記事ではウェビナーの中で話された重要なポイントと質疑応答をまとめています。
また、ver.1に例えて話された箇所も多いため、ver.1ユーザの方も是非読んでみてください。

登壇者紹介

内製化支援事業本部から3名が登壇しました。
kinoshita
CRE部 部長の木下です。
ナレッジサイトとspirers boardの運営をしています。
adachi
内製化支援事業本部 本部長の足立です。
SPIRAL ver.2や事業推進のミッションを担当しています。
katsurashima
司会の桂嶋です。今日はよろしくお願いします!

おさらい①アーキテクチャー

kinoshita
ver.2は大きく「アプリ機能」「サイト機能」「権限管理」に分かれており、ver.1とは異なり、DBと各機能が密に紐づいているのではなく必要な機能のみ紐づくようになっているのが特徴です。
adachi
サイト機能だけを使ってページを作ったりできるようになりましたね!
kinoshita
権限管理ではver.2を利用するユーザ(アカウントにログインするユーザ)の権限を自由に付け替えできる点がアーキテクチャーとしては大きく違う部分になっています。

おさらい②特徴的な機能

DBトリガ
yokozawa
ver.1にもトリガ機能はありますが、ver.2のトリガ機能はver.1のトリガ機能とトランザクションDBのアクション機能を掛け合わせたようなものになります。
adachi
「発動条件が指定できます」「データベース項目のマッピングができます」みたいなところは、ver.1のトランザクションDBのアクション設定やフィールドマッピングとかなり近しい感覚ですよね。
それがこのトリガーの一画面に集約されてるみたいな。
yokozawa
そうですね。1つのDBでトリガ機能を使って、自DBから他DBへの更新などもできるので、ver.2ではトランザクションDBという概念がなくなり、よりシンプルになっています。
yokozawa
管理画面上にこういった細かい処理だったり条件が可視化されていると、別の担当者が設定する時や処理を追加する時にミスを少なくできたりとか、安心して触れたりするので、こういったUIになっていることも大きなポイントですね。
▼DBトリガの詳細はこちら
2022年10月7日(金)
MKupdate vol.13「次回から使おう…ではなく”すぐ使おう!”」
参照フィールド
yokozawa
ver.1では他DBのデータを紐付けて表示させる場合、DB連携を行って仮想DBから一覧表で表示するといった設定を行っていました。
yokozawa
ver.2ではより正規化されており、レコード同士を紐づけることで表示するという形になっています。
そのため、DB連携であったり仮想DBのような設定が不要となっており、簡単にデータ連携をして表示することができます。
▼参照フィールドの詳細はこちら
2022年10月18日(火)
SPIRAL ver.2 チュートリアル動画 【DB作成】
サイト機能
yokozawa
アーキテクチャーのところでも触れましたが、必要な機能のみDBに紐づいているので、何も紐づいていないLPページのようなものも作ることが可能となっております。
yokozawa
ver.2の特徴で個人的に一番好きだなと思っているのが、ブロックの使い回しができる点と、PHP、thymeleaf、cssなどの入力タブが分かれているところです。
コードの可読性が高くなりますし、例えば運用担当者がサイトを修正する際にbodyのところだけを修正したかったのに、誤ってPHPを消してしまったなどのオペレーションミスが減ることは大きいかなと。
yokozawa
ちなみに、ver.1で画面上にデータを表示する時には「差し替えキーワード」を使いますが、ver.2では「Thymeleaf」を使って表示します。
Thymeleafのいいところは動的に色々処理をしてくれるところで、例えばDBで設定しているフィールド名やセレクトのラベルを、Thymeleaを介して出力し表示しているので、DB側で名称を変更するとサイト上でも自動的に変換して表示してくれるので、メンテナンスがしやすいです。
▼サイト機能の詳細はこちら
2022年9月9日(金)
MKupdate vol.12「SPIRAL ver.2の機能キャッチアップ サイト管理編」
アプリロール
yokozawa
「CRUD」に加え「Express」「Bulk」ができる機能です。
アプリロールというものにグループを紐づけて使用する形になり、グループに紐付いたアプリロールで許可した操作のみできるようになっています。
yokozawa
実際には以下のような画面でチェックを入れることで簡単に設定できます。
adachi
ver.1でいうと、マルチアカウントと、DBオペレーションのテンプレート設定が混ざって、より細かく設定できるようになり、かつグループも自由に定義できるみたいな感じになってるので、非常に強力な所ではありますよね。
yokozawa
もう1点特徴的なのはAPIにもグループを割り当てることができ、例えばCreat(登録)しかできないアプリロールを紐づけるとupdate(更新)などの他の処理は制限されるようになるため、よりセキュアなアプリを作ることが可能です。
▼アプリロールの詳細はこちら
2022年11月30日(水)
SPIRAL ver.2 チュートリアル動画 【アプリロール、アプリ利用画面】
苦手領域
yokozawa
最後に、一応現状で苦手な機能をご紹介します。

現時点では、PDF帳票であったり、仮想テーブルを用いた認証アプリ利用画面のカスタマイズ、アプリ複製配布などがver.2の苦手領域となります。

質疑応答

katsurashima
参加者の皆さんから寄せられた質問に回答いたしました。
DBトリガのレコードアクションの関数は、メニューにある候補以外も使えますか?
利用可能関数リスト等はありますか?
yokozawa
メニューにあるもののみ利用できます。サポートサイトに関数が掲載されているので合わせてご覧ください。
adachi
結構かなり細かく設定できるので、足りないということはなさそうですが、もし要望があればご連絡ください。
テスト環境で実装したページの動作テストをクライアント等に依頼する際、クライアントもver.2にログインしてもらわないと確認ができませんが、改善されますか?
yokozawa
ver.2.23(来年の4月頃)にIPアドレス制限やbasic認証でテスト環境のページにアクセスできるようになる予定です。
メールアクションがテスト環境と本番環境で共通になっているため、本番リリース後に変更が入った場合即本番反映されてしまうのですが…
yokozawa
確かにそうですね。方法としては、メールアクションは複数設定ことができるので、もし変更したい場合は新しくメールアクションを追加していただいて、テスト環境で確認・リリースをし、修正前のものを無効化してもらえれば良いかなと思います。
v1のアプリをv2に移管できますか?
adachi
互換性がないためできません。ver.2で新規に作成いただく前提で検討いただけますと幸いです。
Thymeleafがよくわかりません
yokozawa
あまり難しく考える必要はなくて。
Thymeleafは独自のタグがないので、HTMLの属性に追加すると色々テキストを表示させたりできるんだなぐらいに、ライトに考えてもらえればいいかなと思います。
yokozawa
詰まるポイントと思っているのは、Thymeleafに限らずver.1と比べてver.2はデータの型が厳密なので、例えばif文を書いた時に「テキストの1」=「数字の1」にすると≠になってしまうんですよね。
その辺りを意識して使えば結構使いやすいと思います。
Thymeleafの処理タイミングはPHPのあとですか?
yokozawa
PHPで処理→Thymeleafに値を渡す→Thymeleafの処理で画面表示(→JS)の順番です。
▼Thymeleafの詳細はこちら
2021年12月24日(金)
MKupdate vol.4「SPIRAL ver.2.18 PHP」

まとめ

adachi
ver.2はこれまで簡単な用途で採用されることが多かったと思うんですけど、バージョンアップを重ねるごとに結構難しくなってきているというか、ノーコードで設定できる領域が広がり、できることがかなり増えてきています。
この辺りは実際に触ってみないと良さがわからない部分もあるので、ぜひこういった機会を経て触ってみていただけるといいのかなと思います。
きっと「なんだこれ凄いな」みたいなのが結構あると思いますよ!(笑)
コンテンツに関しての
要望はこちら