【アップデート情報】ver.2.22(2023年1月24日実施)
2022年12月07日
2023年1月24日実施のver.2.22アップデートに関する主な内容は以下になります。
新機能
【アプリ】
スケジュールトリガ拡張(カスタムプログラムアクション追加)
決まったスケジュールでアクションを実行するスケジュールトリガにおいて、PHPプログラムを実行できるアクションを追加します。
これにより、毎日、設定した時間にDB内のレコードの自動集計を行ったり、月に1回登録されているデータの状態に応じてチャット通知を実行するなど、データ処理や外部連携といったPHPプログラムをSPIRAL ver.2上に配置でき、プログラム実行環境として扱えるようになります。
詳細はスケジュールトリガのカスタムプログラムアクションをご参照ください。
アプリロール拡張(セレクトラベルの絞り込み制限対応)
アプリロールのフィールド操作権限において、セレクトフィールドのラベル名に対してレコード作成、更新時に使用可能なラベル項目を絞り込み指定できるようになりました。例えば、セレクトフィールドをステータスとして扱うアプリケーションにおいて、管理者のアプリロールの場合は承認ラベルを選択できるといった制御を実現できるようになります。
詳細はアプリロールをご参照ください。
【サイト】
参照フィールド拡張(サイト対応)
サイト上のフォームをはじめとする機能でデータ連携を担う参照フィールドを扱えるようになります。これにより、セミナー情報や会員情報を紐づけたセミナー申込、フォーム上の店舗選択肢を店舗マスタと関連付ける(お気に入り店舗選択、所属店舗など) などのWebサイト作成が可能となります。
詳細はサイトの参照フィールドをご参照ください。
- 登録フォーム拡張(参照フィールド対応)
登録フォームブロックにおいて、使用フィールドに参照フィールドを追加することでフォームからレコード登録する際、別DB内のレコードを関連するレコードとして自動で紐づけ、
データ連携することができるようになります。
これにより、セミナー申込フォームからセミナー申込登録した際、セミナー申込DBとセミナーマスタ内の関連するレコードを自動で紐づけ、データ管理できるようになります。
また、登録フォームの完了ステップのレコード値挿入などで参照先DBのフィールドの値を表示することができます。
※フォームから参照フィールドに入力した値が参照先DB内のレコードの値と一致するか検証する「キーフィールド」を使い、
値が一致する場合は、参照先DB内のレコード値を参照フィールド内に登録します。
また、「キーフィールド」の値が一致した参照先レコードに対して、さらに参照先DB内の指定フィールドの値と一致するか検証する「認証フィールド」を使い、
値の一致性を検証することができます。
- 自動登録拡張(参照フィールド追加)
登録フォームブロックにおいて、自動登録の使用フィールドに参照フィールドを使用できるようになります。
参照先レコードを指定して自動登録する「固定値」、クエリパラメータで指定したレコードを参照先レコードとして自動登録する「引用(任意レコード値)」、
認証レコードを参照先レコードとして自動登録する「引用(認証レコード値)」の値タイプから選択、使用できます。
これにより、会員向けセミナー申込フォームにおいて、参照先DBがセミナーマスタや認証DBを指定している参照フィールドを自動登録で使用した場合、
セミナー情報や会員情報をフォーム上で入力することなく、セミナー申込時にセミナーマスタや認証DBと関連するレコードとして自動紐づけ、データ管理できるようになります。
- 更新、削除フォームブロック/認証ページ拡張(参照フィールドの認証レコード値挿入追加)
更新、削除フォームブロックにおいて、認証DBに参照フィールドを使用している場合、認証レコード値を引用する際、
参照先DBのフィールドの値をフォーム上に挿入、表示ができるようになります。
例えば、認証DBに「お気に入り店舗」という参照フィールドを設定している場合、更新フォームや削除フォーム内で認証エリアにログインした認証レコードに紐づく
「お気に入り店舗」という店舗名を表示することができるようになります。
認証ページの認証レコード値において、認証DBに参照フィールドを使用している場合、参照先DBのフィールドの値を挿入することができるようになります。
また、認証レコード内の参照先DBのレコードを引用したサイト内ページリンクを挿入することができます。
- レコードリストブロック拡張(参照フィールド表示対応)
レコードリストブロックにおいて、参照先DBのフィールドをレコードリストブロック上に表示できるようになります。
例えば、セミナーマスタに「セミナー開催地」という参照フィールドを設定している場合、
セミナー申込一覧上に「セミナー開催地」というセミナーの開催場所名を表示することができるようになります。
また、参照フィールドのリストデータに対して、参照先DBのレコードを引用したサイト内ページリンクを挿入することができます。
- フォームのメールアクション拡張(参照フィールド対応)
フォームブロックのメールアクションにおいて、宛先や配信の抽出条件、文面、件名の差替えキーワードに参照フィールドが追加されるようになりました。
これにより、セミナー申込フォームからセミナー申込登録時に、参照先DBとなるセミナーマスタや会員DB内のメールアドレスを宛先としたメール配信ができるようになります。
※登録、更新、削除フォームブロックで参照フィールドを使用する場合は、ソース設定のみ使用できます。
※参照フィールドを使用する場合、事前にレコード公開範囲の設定が必要になります。
機能改善
【アプリ】
2フィールド間ユニーク制約
アプリ管理のDB設定において、指定した2つのフィールドの組み合わせた値がDB内の既存レコードと重複している場合、ユニークエラーとするユニーク制約を追加します。
これにより、アプリ利用画面、フォーム、APIなどの経路に関係なく、氏名とメールアドレス両方の値が既存レコードと重複する場合、ユニークエラーとしてレコード登録できないように制限できます。
※2フィールド間ユニーク制約は1DBに対して1つまでの設定です。
※ユニーク制約が設定できるフィールドタイプ(複数参照の参照フィールドを除く)を指定できます。
※入力必須が設定しているフィールドを指定できます。
詳細は2フィールド間ユニーク制約をご参照ください。
アプリロール拡張(一括操作権限拡張)
従来、アプリロールのレコード操作権限で操作対象のレコードを限定し、一括操作権限の一括更新、一括削除を指定している場合に、一括操作することができませんでしたが、今後は操作権限のあるレコードに対して一括操作できるようになります。
レコード一括出力拡張(フィールド表示名の指定対応)
アプリ利用画面のレコード一括出力において、出力したフィールドの行ヘッダをフィールド表示名で出力することができるようになります。
これまではDBのフィールド識別名のみ出力する仕様のみ提供しておりましたが、今後はレコード一括出力依頼を行う際、フィールド識別名かフィールド表示名を選択できるようになります。
【サイト】
削除、パスワード再登録、ログイン、レコード照合フォームブロック拡張(ビジュアル設定を追加)
削除、パスワード再登録、ログイン、レコード照合フォームブロックの設定方法にビジュアル設定を追加します。
これにより、HTMLを編集することなく画面上のコンテンツ作成や編集が可能となり、更新フォームブロックのビジュアル設定と組み合わせることで、マウス操作で簡易的な会員サイトが作成しやすくなります。
サイトファイル拡張(ビジュアル設定のテキストパーツに挿入の画像にリンク設定対応)
サイトファイルにアップロードした画像を各ブロックのビジュアル設定に画像挿入した際、画像に対して任意のURLへのリンク設定が可能となります。
これにより、HTML編集することなく画像に対して外部URL、もしくは、サイト内ページのリンクを設定することができます。
サイトの郵便番号住所自動補完拡張(ビジュアル設定対応)
登録/更新フォームブロックのビジュアル設定において、フォームに入力された日本の郵便番号から紐づく住所情報を自動で入力補完できる郵便番号住所自動補完を設定、利用することができるようになります。
※本オプションを利用する場合は、アカウント管理画面の上限・オプション管理からお申し込みいただけます。
サイト数ページ拡張
1サイトあたりの作成可能なページ数が最大200ページから1,000ページまで引き上がります。
※設定可能なサイトページ数は標準で100ページです。上限拡張はオプションとなります。
※上限拡張のご要望はサポートサイトよりお問い合わせください。
エディタ内の検索、置換ツール提供対応
フォームブロックやページなどのHTML/CSS/JavaScript/PHPのソースコード、メール本文の編集中に、ショートカット操作でエディタ内の文字列に対して、検索と置換ができるようになります。
【PHP】
PHP関数拡張(getQueryParam/getQueryParams、getPostParam/getPostParams追加)
別ページからGETやPOSTで送信されてきた値をPHPで取得するgetParam/getParams関数において、取得した値がリクエストボディかクエリパラメータの値なのかを判別できるgetQueryParam/getQueryParams(クエリパラメータのみ返す)、getPostParam/getPostParams(リクエストボディのみ返す)の関数を追加します。
【メール配信】
クリックカウントURLの独自ドメイン対応(オプション)
メール配信文面中に設定するクリックカウントURLをお客様指定の独自ドメイン※に設定できるようになります。
なお、独自ドメインオプションを利用していないアカウントにおいては、標準のサイトドメイン(spiral-site.com)を指定できるようになります。
※クリックカウントURLの独自ドメイン対応は、サイト機能の独自ドメインオプション申込が必要です。
詳細はメールのクリックカウント/HTMLメール開封確認をご参照ください。
変更差分詳細
【変更前】
選択できるドメイン |
|
---|---|
一斉メール配信 フォームのメールアクション DBトリガのメールアクション |
cc.spiral-platform.com |
【変更後】
選択できるドメイン |
|
---|---|
一斉メール配信 DBトリガのメールアクション |
cc.spiral-platform.com※1 XXXX-XXXX.spiral-site.com※2,3 ※1 設定時のデフォルト ※2 複数サイトがある場合、サイトごとに選択できます。 ※3 独自ドメインをご利用の場合は、spiral-site.comが独自ドメインになります。 |
フォームのメールアクション |
cc.spiral-platform.com XXXX-XXXX.spiral-site.com※1,2,3 ※1 設定時のデフォルト ※2 メールアクションを設定しているサイトドメインのみ選択できます。 ※3 独自ドメインをご利用の場合は、spiral-site.comが独自ドメインになります。 |
仕様変更
【サイト】
サイト管理のページ一覧のUI変更
サイト管理画面のページ設定において、従来はツリー表示でしたが、本アップデートにて設定可能ページ数が1,000ページまで設定できるようになり、より多くのページを管理しやすいディレクトリ構造のUIに変更します。
詳細はページ機能をご参照ください。
サイトの郵便番号住所自動補完機能改善に伴うテキストフィールドのデフォルトソース変更
デフォルトメッセージ設定に郵便番号住所自動補完のエラーメッセージを設定できるようになるため、デフォルトメッセージ設定でカスタマイズしたエラーメッセージを反映するソースフォーマットに変更しております。
また、従来のテキストフィールドのデフォルトソースでは、郵便番号住所自動補完のエラーメッセージと入力必須などのエラーメッセージが同時に表示されてしまう不具合が発生するため、エラーメッセージを表示するデフォルトソースも合わせて修正しています。
デフォルトソース変更差分詳細
【変更前】
▼登録、更新フォームブロック>入力ステップ>テキストフィールド
<button class="sp-form-zip-code-button" th:data-zipcode="|zipCodeSearch${fields['f0X'].name}|" th:if="${fields['f0X'].addressByZipCode != null}">住所検索</button> <span class="sp-form-noted" th:if="${fields['f0X'].help != null}" th:text="${fields['f0X'].help}">Help text</span> <span class="sp-form-error" th:if="${errors['f0X'] != null}" th:text="${errors['f0X'].message}">Error message</span> <span class="sp-form-error" th:if="${fields['f0X'].addressByZipCode != null}" th:data-zipcode="|zipCodeError${fields['f0X'].name}|"></span>
【変更後】
▼登録、更新フォームブロック>入力ステップ>テキストフィールド
<button class="sp-form-zip-code-button" th:data-zipcode="|zipCodeSearch${fields['f0X'].name}|" th:if="${fields['f0X'].addressByZipCode != null}" th:text="${fields['f0X'].zipCodeButtonLabel}">住所検索</button> <span class="sp-form-noted" th:if="${fields['f0X'].help != null}" th:text="${fields['f0X'].help}">Help text</span> <span class="sp-form-error" th:data-zipcode="|zipCodeError${fields['f0X'].name}|" th:text="${errors['f0X']?.message}">Error message</span>
【PHP】
PHPの禁止関数、クラスの追加
セキュリティの観点からPHPの禁止関数やクラスを追加します。新たに禁止される関数やクラスを利用している場合、アップデート以降、PHPプログラムが動作しない場合があります。
詳細は以下の関数やクラスをご参照ください。
詳細を見る
▼無効化する関数
bindtextdomain dom_import_simplexml exif_imagetype exif_read_data exif_tagname exif_thumbnail ftp_alloc ftp_append ftp_cdup ftp_chdir ftp_chmod ftp_close ftp_connect ftp_delete ftp_exec ftp_fget ftp_fput ftp_get ftp_get_option ftp_login ftp_mdtm ftp_mkdir ftp_mlsd ftp_nb_continue ftp_nb_fget ftp_nb_fput ftp_nb_get ftp_nb_put ftp_nlist ftp_pasv ftp_put ftp_pwd ftp_quit ftp_raw ftp_rawlist ftp_rename ftp_rmdir ftp_set_option ftp_site ftp_size ftp_ssl_connect ftp_systype getlastmod getmypid gzclose gzeof gzgetc gzgets gzgetss gzpassthru gzputs gzread gzrewind gzseek gztell gzwrite hash_hmac_file hash_update_file hash_update_stream iptcembed is_dir is_executable is_link is_resource mkdir msg_get_queue msg_queue_exists msg_receive msg_remove_queue msg_send msg_set_queue msg_stat_queue ngettext ob_implicit_flush opcache_compile_file opcache_get_configuration opcache_get_status opcache_invalidate opcache_is_script_cached opcache_reset openssl_csr_new openssl_get_cert_locations pdo_drivers posix_access posix_ctermid posix_errno posix_get_last_error posix_getcwd posix_getegid posix_geteuid posix_getgid posix_getgrgid posix_getgrnam posix_getgroups posix_getlogin posix_getpgid posix_getpgrp posix_getpid posix_getppid posix_getpwnam posix_getpwuid posix_getrlimit posix_getsid posix_getuid posix_initgroups posix_isatty posix_kill posix_mkfifo posix_mknod posix_setegid posix_seteuid posix_setgid posix_setpgid posix_setrlimit posix_setsid posix_setuid posix_strerror posix_times posix_ttyname posix_uname raphf\clean_persistent_handles raphf\stat_persistent_handles readline readline_add_history readline_callback_handler_install readline_callback_handler_remove readline_callback_read_char readline_clear_history readline_completion_function readline_info readline_list_history readline_on_new_line readline_read_history readline_redisplay readline_write_history runkit_import runkit_object_id runkit_zval_inspect runkit7_object_id sem_acquire sem_get sem_release sem_remove shm_attach shm_detach shm_get_var shm_has_var shm_put_var shm_remove shm_remove_var shmop_close shmop_delete shmop_open shmop_read shmop_size shmop_write socket_get_status socket_set_blocking socket_set_timeout stream_bucket_append stream_bucket_make_writeable stream_bucket_new stream_bucket_prepend stream_context_create stream_context_get_default stream_context_get_options stream_context_get_params stream_context_set_default stream_context_set_option stream_context_set_params stream_copy_to_stream stream_filter_append stream_filter_prepend stream_filter_register stream_filter_remove stream_get_contents stream_get_filters stream_get_line stream_get_meta_data stream_get_transports stream_get_wrappers stream_is_local stream_isatty stream_register_wrapper stream_resolve_include_path stream_select stream_set_blocking stream_set_read_buffer stream_set_timeout stream_set_write_buffer stream_supports_lock stream_wrapper_register stream_wrapper_restore stream_wrapper_unregister unregister_tick_function vfprintf wddx_add_vars wddx_deserialize wddx_packet_end wddx_packet_start wddx_serialize_value wddx_serialize_vars xmlwriter_end_attribute xmlwriter_end_cdata xmlwriter_end_comment xmlwriter_end_document xmlwriter_end_dtd xmlwriter_end_dtd_attlist xmlwriter_end_dtd_element xmlwriter_end_dtd_entity xmlwriter_end_element xmlwriter_end_pi xmlwriter_flush xmlwriter_full_end_element xmlwriter_open_memory xmlwriter_open_uri xmlwriter_output_memory xmlwriter_set_indent xmlwriter_set_indent_string xmlwriter_start_attribute xmlwriter_start_attribute_ns xmlwriter_start_cdata xmlwriter_start_comment xmlwriter_start_document xmlwriter_start_dtd xmlwriter_start_dtd_attlist xmlwriter_start_dtd_element xmlwriter_start_dtd_entity xmlwriter_start_element xmlwriter_start_element_ns xmlwriter_start_pi xmlwriter_text xmlwriter_write_attribute xmlwriter_write_attribute_ns xmlwriter_write_cdata xmlwriter_write_comment xmlwriter_write_dtd xmlwriter_write_dtd_attlist xmlwriter_write_dtd_element xmlwriter_write_dtd_entity xmlwriter_write_element xmlwriter_write_element_ns xmlwriter_write_pi xmlwriter_write_raw
▼無効化するクラス
DOMAttr DOMCdataSection DOMCharacterData DOMComment DOMConfiguration DOMDocumentFragment DOMDocumentType DOMDomError DOMElement DOMEntity DOMEntityReference DOMErrorHandler DOMException DOMImplementation DOMImplementationList DOMImplementationSource DOMLocator DOMNamedNodeMap DOMNameList DOMNameSpaceNode DOMNode DOMNodeList DOMNotation DOMProcessingInstruction DOMStringExtend DOMStringList DOMText DOMTypeinfo DOMUserDataHandler DOMXPath FFI FFI\CData FFI\CType FFI\Exception FFI\ParserException http\Client http\Client\Request http\Client\Response http\Cookie http\Encoding\Stream http\Encoding\Stream\Dechunk http\Encoding\Stream\Deflate http\Encoding\Stream\Inflate http\Env http\Env\Request http\Env\Response http\Env\Url http\Exception\BadConversionException http\Exception\BadHeaderException http\Exception\BadMessageException http\Exception\BadMethodCallException http\Exception\BadQueryStringException http\Exception\BadUrlException http\Exception\InvalidArgumentException http\Exception\RuntimeException http\Exception\UnexpectedValueException http\Header http\Header\Parser http\Message http\Message\Body http\Message\Parser http\Params http\QueryString http\Url PDO PDOException PDORow PDOStatement php_user_filter RedisArray RedisCluster SessionHandler XSLTProcessor
現在の、PHPの各バージョンで使用できない関数はこちらをご参照ください。
PHP7.4で使用できない関数・PHPクラス・パラメータ等一覧
PHP8.1で使用できない関数・PHPクラス・パラメータ等一覧
不具合修正
アプリ管理
・アプリロールにおいて、入力必須フィールドのみのフィールドで構成されているDBに対して、一括登録の操作権限を付与することができない不具合を修正します。
・DB作成、編集時のフィールド設定において、テキストやメールアドレスフィールドの正規表現に不正な値を設定した場合にエラーメッセージが表示されない不具合を修正します。
アプリ利用
・アプリ利用画面のレコード一括登録、一括更新、一括更新登録の依頼モーダルにおいて、パスワードフィールドを指定することができない旨の記載が無い不具合を修正します。
・アプリ利用画面のレコード詳細において、更新フォームやパスワード再登録フォームからのレコード更新を実行した場合、最終更新者がフォームブロック名で表示されず、UnknownFormと表示されてしまう不具合を修正します。
メール配信
・一斉配信やスケジュールトリガのメールアクションにおいて、参照先DBの日時フィールド、作成日時、最終更新日時の差替え時に表示される時間が、希望するタイムゾーンで差替え表示されない(UTCで表示される)不具合を修正します。
・フォームのメールアクション、DBトリガのメールアクションにおいて、配信条件に他DBメールアドレス抽出を指定している場合、件名や本文に使用する日時フィールド、作成日時、最終更新日時の差替え時に表示される時間が、希望するタイムゾーンで差替え表示されない(UTCで表示される)不具合を修正します。
サイト管理
・登録、更新フォームブロックにおいて、時刻フィールドの時刻制限で設定した時刻をクリアにしてフォーム保存することができない不具合を修正します。
・登録、更新フォームブロックにおいて、時刻フィールドの時刻制限で設定した値が、DB側とフォームブロック側のフィールド設定でそれぞれ同じ時刻を設定しても、フォームの入力制限がDBの入力制限を超えている旨を記載するエラーモーダルが表示される不具合を修正します。
・登録、更新フォームブロックのビジュアル設定において、完了ステップに追加したレコード値挿入が反映されない場合がある不具合を修正します。
・登録、更新フォームブロックやフリーコンテンツブロックなどのビジュアル設定において、テキストパーツ内に入力した文字列のフォントサイズを8ptに指定しても反映されない不具合を修正します。
・登録、更新フォームブロックのビジュアル設定において、認証レコード値引用や引用値表示パーツのフィールド名にスペースや記号を含むフィールドを追加した場合、ブロックのプレビューや該当ブロックを含むページ全体がエラー表示されてしまう不具合を修正します。
・フォームブロックのパスワードフィールドにおいて、確認入力欄を使用しているパスワードフィールドで確認入力エラーが発生した時に表示されるエラーメッセージが、その他エラーのエラーメッセージで表示されてしまう不具合を修正します。
・登録フォームブロックやフリーコンテンツブロック等のビジュアル設定において、サイトファイルにファイルを1件もアップロードしていない状態で、テキストパーツ内のファイル挿入をクリックするとファイル挿入不可のモーダルが表示されてしまう不具合を修正します。
・認証エリア内の非認証ページにおいて、ページ内に既存のブロックを追加する際、設置認証エリアを指定するブロックを設置できてしまう不具合を修正します。今後はページ内に既存のブロックを追加する際は、各ブロックの設置認証エリアが設定中の認証エリアと紐づくブロックのみ表示、選択できるようになります。
・レコード公開範囲やレコードリストブロックのフィルタ設定において、システムフィールドや参照フィールドによる条件抽出を設定している場合、レコードリストブロックに紐づくDB側のフィールド設定の更新や削除ができなくなる不具合を修正します。
・レコードリストブロックのデータフィールド一覧の設定において、フィールド(ID)のラベルに入力した値が、ブロックやページのプレビュー上で反映されない不具合を修正します。
その他
・2段階認証を設定しているユーザでログイン時に次回以降の2段階認証をスキップする設定を行うと、ユーザがSPIRAL ver.2の操作画面にログインする際、不正なリクエストを検出した旨のエラーが表示されログインできない場合がある不具合を修正します。