ver.2サポートサイト

HOMEお知らせ【アップデート情報】ver.2.21(2022年10月12日実施予定)

【アップデート情報】ver.2.21(2022年10月12日実施予定)

2022年08月24日

2022年10月12日実施予定のver.2.21アップデートに関する主な内容は以下になります。

 

新機能

【サイト】

サイトの郵便番号住所自動補完(オプション提供)

登録/更新フォームブロックにおいて、フォームに入力された日本の郵便番号から紐づく住所情報を自動で入力補完できるようになります。

これにより、インターネットユーザの住所入力の手間が減り、登録利便性の向上につながります。

※本オプションは、アカウント管理画面からお申し込みいただけます。月内に一度でも申込すると月額5,000円で課金いたします。

※登録/更新フォームブロックのソース設定のみ設定できます。ビジュアル設定については、今後のアップデートで順次対応予定です。

※本機能を提供するために、テキストフィールドのデフォルトソースの仕様を変更しております。詳細はこちらを参照してください。

 

機能改善

【アプリ>DB】

DBトリガ(レコードアクション)拡張

  - 発動条件に関数条件を追加

  - 処理マッピングに関数設定を追加

DBトリガの登録、更新、削除トリガをきっかけに、プログラム処理を使用せずに、他DBへのデータ登録、更新や自DBへのデータ更新時にデータ加工ができるようになります。

1)発動条件に関数条件を追加:自DBのレコード値更新や同一アプリ内の他DBへのレコード登録/更新/削除の発動条件に関数条件を指定

2)処理マッピングに関数設定を追加:指定したフィールドに格納される値の四則演算や文字列結合、ランダム値の自動生成

これにより、キャンペーンフォームからキャンペーン応募登録時にシリアルナンバーなどのランダム値自動生成や任意の接頭、接尾文字と結合した応募IDの自動生成を行うことができるようになります。

 

【サイト】

サイトファイル拡張(許可拡張子を追加)

サイト管理画面において、サイトファイルにファイルアップロード可能な拡張子を追加いたします。

xlsx、docx、pptxなどの拡張子を追加することで、SPIRAL ver.2で作成したWebページにExcelなどのファイルを展開、

WebページからダウンロードしたExcelファイルをフォームブロックから申請するWeb申請フォームなどが利用できるようになります。

 

【サイト>ブロック】

更新フォームブロック拡張(ビジュアル設定を追加)

更新フォームブロックの設定方法にビジュアル設定を追加します。また、テキストパーツ内に認証レコード値を追加します。

これにより、HTMLを編集することなく画面上のコンテンツ作成や編集が可能となり、マウス操作で簡易的な会員サイトが作成しやすくなります。

※登録フォームブロックを作成する際、設置認証エリアを「あり」で指定した場合の設定方法は「ソース設定」のみでしたが、今後は登録フォームの「ビジュアル設定」も選択できるように改善しております。

※削除フォームブロック、ログインフォームブロック、パスワード再登録フォームブロック、レコード照合フォームブロックのビジュアル設定については、今後のアップデートで順次対応予定です。

 

登録フォームブロック拡張(自動登録の値タイプ拡張)

登録フォームブロックにおいて、自動登録の値タイプを「引用(任意値)」、「引用(認証レコード値)」「固定値」を使用できるようにいたします。

これまでは、登録フォームブロックのソース設定、ビジュアル設定の種類によって、使用できる値タイプの制限がありましたが、今後は、値タイプを拡張することで、「引用(任意値)」、「引用(認証レコード値)」「固定値」の設定ができるようになります。

※フィールドタイプや設置認証エリアの有無によって、自動登録の値タイプの指定に制限があります。

 

登録フォームブロック拡張(同意チェックボックスパーツを追加)

同意チェックボックスパーツを追加することで、個人情報取得にかかる同意項目(チェックボックス)の設定が可能となります。フォーム上でチェックボックスにチェックを入れることで送信ボタンが有効になる設定を一からソース編集することなく設定できるようになります。

 

レコードリストブロック拡張(テキストエリアの改行有無設定)

レコードリストブロックの設定において、テキストエリアフィールドを追加する際、文字列内の改行表示に対応するソースフォーマットを選択、追加できるようになります。

今後は、既存のレコードリストブロックの設定時に、テキストエリアフィールドのリストデータのソースを追加する際、文字列内の値を改行なし、改行ありのいずれかのソースフォーマットを選択、レコードリスト上にソース追加できるようになります。

 

【PHP】

PHP拡張(ソース保存時の禁止関数、クラスのアラート表示)

これまでは、サイト機能で作成したページにPHPを設定、保存する際、SPIRAL ver.2が許容しない関数やクラスをチェックする機能が無かったため、今後は、PHP設定、保存時にSPIRAL ver.2が許容しない関数やクラスを設定しているかチェックするようにいたします。

 

【操作画面】

ダウンタイム中の表示画面を日本語/英語併記対応

メンテナンスのダウンタイム中に操作画面にアクセスした時に表示される言語が日本語のみとなっていた表示を、今後は、日本語/英語併記で表示するようにいたします。

仕様変更

【アプリ>DB】

フィールド削除時の挙動修正(レコード公開範囲/レコードリストのフィルタ設定)

これまでは、レコード公開範囲やレコードリストのフィルタ設定の条件抽出で使用しているフィールドを削除できてしまうことで、レコードリストブロックやレコードアイテムブロックを含むページがエラー表示されてしまいました。今後は、フィールド削除時に、レコード公開範囲やレコードリストのフィルタ設定の条件抽出で使用しているフィールドを削除できないように仕様を変更いたします。

 

【メール配信】

メール配信時の件名文字数超過時対応

メール配信設定の件名に関して、以下2点の仕様を変更いたします。

・128byte超過時の挙動修正

 今後は、メール配信において、レコード値差替え時の文字数を含め、メール件名の文字数が128byteを超えたとしても配信失敗せずにメール配信できるようにします。

 ※メール配信設定、編集時については、これまでと同様にメールの件名上限は128byteまでの制限となります。

・テキストエリアフィールドの差替え禁止

 件名の文字数が長くなることでメール配信速度が劣化しないことを目的に、メール配信の新規設定や編集の際、テキストエリアフィールドのみ、差替えキーワードを使用できないように制限いたします。

 ※既存のメール配信設定の件名において、既にテキストエリアフィールドを差替えキーワードとして使用している場合は、配信設定の更新や配信実行は可能です。

 

【サイト>ブロック】

サイトの郵便番号住所自動補完機能拡張に伴うテキストフィールドのデフォルトソース変更

登録、更新フォームブロックにおいて、テキストフィールドの入力コントロールを「郵便番号」に設定したフィールドに対して、郵便番号の値から紐づく住所情報を自動で入力補完できるように機能拡張するため、テキストフィールドのデフォルトソースの仕様を変更いたします。

各フォームブロックのデフォルトソースの差分については、以下を参照ください。

デフォルトソース変更差分詳細

【変更前】

▼登録フォームブロック>入力ステップ>テキストフィールド

<!--/* Text(text) */--> 
<sp:input-field name="f0X"></sp:input-field> 
<div class="sp-form-item sp-form-field"> 
  <div class="sp-form-label"> 
    <th:block th:text="${fields['f0X'].label}">
     Label
    </th:block> 
  <span class="sp-form-required" th:if="${fields['f0X'].required}" th:text="${fields['f0X'].requiredIndicator}">*</span>
 </div> 
 <div class="sp-form-data">
  <input type="text" class="sp-form-control" th:name="${fields['f0X'].name}" th:value="${inputs['f0X']}">
  <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>
 </div> 
</div> 

▼更新フォームブロック>入力ステップ>テキストフィールド

<!--/* Text(text) */--> 
<sp:input-field name="f0X"></sp:input-field> 
<div class="sp-form-item sp-form-field"> 
  <div class="sp-form-label"> 
    <th:block th:text="${fields['f0X'].label}">
      Label
    </th:block> 
    <span class="sp-form-required" th:if="${fields['f0X'].required}" th:text="${fields['f0X'].requiredIndicator}">*</span>
  </div> 
  <div class="sp-form-data">
    <input type="text" class="sp-form-control" th:name="${fields['f0X'].name}" th:value="${#maps.containsKey(inputs, 'f0X') ? inputs['f0X'] : siteClient.record[X]}">
    <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>
  </div>
</div> 

【変更後】

▼登録フォームブロック>入力ステップ>テキストフィールド

<!--/* Text(text) */-->
<sp:input-field name="f0X"></sp:input-field> 
<div class="sp-form-item sp-form-field"> 
  <div class="sp-form-label"> 
    <th:block th:text="${fields['f0X'].label}">
      Label
    </th:block> 
    <span class="sp-form-required" th:if="${fields['f0X'].required}" th:text="${fields['f0X'].requiredIndicator}">*</span>
  </div> 
  <div class="sp-form-data">
    <input type="text" class="sp-form-control" th:name="${fields['f0X'].name}" th:value="${inputs['f0X']}" th:if="${fields['f0X'].control == 'text'}"> 
    <!--ZipCode Option--> 
    <div class="sp-form-zip-code" th:if="${fields['f0X'].control == 'zipCode'}">
      <input type="text" class="sp-form-control" th:name="${fields['f0X'].name}" th:value="${inputs['f0X']}">
      <button class="sp-form-zip-code-button" th:data-zipcode="|zipCodeSearch${fields['f0X'].name}|" th:if="${fields['f0X'].addressByZipCode != null}">住所検索</button>
    </div> 
    <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>
  </div> 
</div> 

▼更新フォームブロック>入力ステップ>テキストフィールド

<!--/* Text(text) */-->
<sp:input-field name="f0X"></sp:input-field> 
<div class="sp-form-item sp-form-field"> 
  <div class="sp-form-label"> 
    <th:block th:text="${fields['f0X'].label}">
      Label
    </th:block> 
    <span class="sp-form-required" th:if="${fields['f0X'].required}" th:text="${fields['f0X'].requiredIndicator}">*</span>
  </div> 
  <div class="sp-form-data">
    <input type="text" class="sp-form-control" th:name="${fields['f0X'].name}" th:value="${#maps.containsKey(inputs, 'f0X') ? inputs['f0X'] : siteClient.record[X]}" th:if="${fields['f0X'].control == 'text'}"> 
    <!--ZipCode Option--> 
    <div class="sp-form-zip-code" th:if="${fields['f0X'].control == 'zipCode'}">
       <input type="text" class="sp-form-control" th:name="${fields['f0X'].name}" th:value="${#maps.containsKey(inputs, 'f0X') ? inputs['f0X'] : siteClient.record[X]}">
       <button class="sp-form-zip-code-button" th:data-zipcode="|zipCodeSearch${fields['f0X'].name}|" th:if="${fields['f0X'].addressByZipCode != null}">住所検索</button>
    </div> 
    <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>
  </div> 
</div> 

▼CSS

.sp-form-zip-code { -ms-flex-wrap:nowrap; flex-wrap:nowrap; } 
.sp-form-zip-code>input { margin-right:0.5rem; max-width:10rem; } 
.sp-form-zip-code-button { padding:0.35rem 1rem; cursor:pointer; color:#ffffff; background-color:#333333; border:none; border-radius:0.25rem; }

 

今後、フォームブロック内でテキストフィールドを追加する際は、変更後の内容でソース追加されます。

※2.20以前の従来のテキストフィールドのソースフォーマットについては、引き続き利用可能ですが、2.20以前に作成した登録、更新フォームブロック(ソース設定)で郵便番号住所自動補完を利用したい場合は、該当フィールドのソースやCSSを修正する必要があります。

また、テキストフィールドの入力コントロール「郵便番号(JP)」で設定した場合も同様に、該当フィールドのソースやCSSの修正が必要です。

 

【API】

レコード一覧取得APIのレスポンス値修正対応

ファイルフィールドを含むレコード一覧を取得するAPIにおいて、ファイルフィールドの値が無い場合、空配列でレスポンスされる場合があるため、今後は、nullでレスポンスされるように統一いたします。

不具合修正

アプリ管理

・DBトリガのレコードアクションにおいて、既存のレコードアクションの表示名や識別名と重複して設定しようとしてもエラーメッセージが表示されない不具合を修正します。

・アプリロールにおいて、アプリ管理画面上のアプリロールの並び順が、アプリ利用画面のアプリロールのプルダウン選択の並び順と連動する仕様ですが、アプリ管理画面上でアプリロール作成後、一度もアプリロールの並び順を変更しないと、アプリ利用画面のアプリロールの並び順に反映されない不具合を修正します。

アプリ利用

・アプリ利用画面のレコード更新において、DB設定でフィールドの制約を変更した後、アプリ利用画面でレコードを変更しようとした際、変更前のレコード値が新しい制約に違反している場合、レコード更新ができなくなる不具合を修正します。

・レコード一括登録において、エラー処理方式をロールバックで指定した際、電話番号フィールドの値がフォーマットエラーとなる値で登録を実行した場合、エラーモーダル内のエラーメッセージがnull表示になってしまう不具合を修正します。

・一斉配信において、「配信失敗」ステータスの配信設定に表示されるエラーコードのエラーメッセージが誤った内容で表示されてしまう不具合を修正します。

・一斉配信において、配信実行前に配信失敗となった予約配信が配信設定一覧に表示される際、配信日時項目の表記が予約配信で指定した日時で表示されてしまう不具合を修正します。今後は、予約配信日時を表示せずに配信日時の値は「-」と表示します。

・ファイルフィールドのファイルアップロードにおいて、許可拡張子に「mp3」を設定してもファイルアップロードできない場合がある不具合を修正します。

メール配信

・各メールアクション(固定配信)において、抽出条件の簡易条件に参照先フィールド>値あり、値なしに設定、保存できない不具合を修正します。

サイト管理

・登録フォーム、フリーコンテンツブロックのビジュアル設定において、テキストパーツ内の文字列に対して、フォントサイズ変更などの文字装飾を設定後、その文字列を選択してリンクを設定すると文字装飾が消えてしまう不具合を修正します。

・登録フォームのビジュアル設定において、フィールドをグループ化した後に、グループフィールドを3フィールド以上設定すると、グループフィールドの並び替えができなくなる不具合を修正します。

・レコードアイテムブロックにおいて、ページ内リンク追加時に更新フォームブロック作成を指定した場合、フィールド設定画面時に入力コントロールの列が表示されない不具合を修正します。

・本番環境のページにおいて、ページの非公開、公開機能を使用すると、ページの基本設定に表示されている作成者と最終更新者の表示が消えてしまう不具合を修正します。

・サイトファイルにおいて、同一階層内にフォルダとファイルの合計数が100ある状態で、フォームブロックのファイル挿入モーダルからファイルを追加しようとしてもエラーメッセージが表示されない不具合を修正します。

・サイト管理画面の設定において、アカウント管理権限やアプリ管理権限が無いユーザに、サイト管理権限>一部の権限を付与している場合、設定情報を編集できない場合がある不具合を修正します。

API

・レコード一括登録依頼を作成、レコード一括更新依頼を作成のAPIにおいて、APIリファレンスに表示しているRequest samplesのPayloadの改行に誤りがある不具合を修正します。

・APIリファレンスにおいて、クエリパラメータ内のExampleで例示している内容に、不要なダブルクォーテーションが記載されてしまっている不具合を修正します。

その他

・日時系フィールドの条件抽出に「範囲内」、「範囲外」を指定した場合、開始日/日時の日付指定に終了日/日時で指定した日付より後の値で入力、設定できてしまう不具合を修正します。今後は、UI上から条件抽出設定、編集する際、開始日/日時の日付指定に終了日/日時で指定した日付より後の値で設定できないようにいたします。