intra-mart Accel Kaiden! GadgetBuilder 設定ガイド 第6版 2020-04-01

6. カスタマイズ手順

本項では、GadgetBuilderを用いたカスタマイズをする場合の手順を解説します。

6.1. 手順①:GadgetBuilder定義コピー

基にする既存ガジェットのGadgetBuilder定義(XMLファイル)をコピーします。
ファイル名を、次のように変更します。
「%ガジェットクラス%_%ガジェットバリエーション%.xml」
コピーしたGadgetBuilder定義(XMLファイル)を、次のパスの配下へ配置します。
「%パブリックストレージ%/%テナント%/kaiden/generic/gadget」

注意

「%ガジェットバリエーション%」は、製品で「v」を使用しているため、
カスタマイズ用では「v」以外を使用してください。

注意

「%ガジェットクラス%」と「%ガジェットバリエーション%」の間に存在する「_」以外は全角文字の使用を制限していませんが全角文字入りのGadgetBuilder定義をWARファイルに含めた場合、デプロイに失敗する可能性があるため推奨しません。

6.2. 手順②:ガジェットクラス、ガジェットバリエーション編集

手順①:GadgetBuilder定義コピー」でコピーしたGadgetBuilder定義(XMLファイル)のガジェットクラス、ガジェットバリエーションを変更します。

編集例
  • 編集前
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings">
      <gadgetClass>expenseDetail</gadgetClass>
      <gadgetVariation>v01</gadgetVariation>
    
      <!-- 略 -->
    
    </gadgetBuilderSettings>
    
  • 編集後
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings">
      <!-- ガジェットクラス変更 -->
      <gadgetClass>sampleDetail</gadgetClass>
      <!-- ガジェットバリエーション変更 -->
      <gadgetVariation>c01</gadgetVariation>
    
      <!-- 略 -->
    
    </gadgetBuilderSettings>
    

注意

ガジェットクラスとガジェットバリエーションは、ファイル名に合わせてください。

6.3. 手順③:ガジェットインポート

手順②:ガジェットクラス、ガジェットバリエーション編集」で編集したGadgetBuilder定義(XMLファイル)をインポートします。
実行方法は、「GadgetBuilder定義インポート」を参照してください。

6.4. 手順④:ガジェット設定

手順③:ガジェットインポート」を実行後、申請書マスタメンテナンスでガジェットを設定します。
設定方法は、「申請書マスタメンテナンス」を参照してください。

コラム

ここまでの手順で、既存ガジェットのコピーが完了します。

6.5. 手順⑤:GadgetBuilder定義編集

手順④:ガジェット設定」までで、コピーが完了しているGadgetBuilder定義(XMLファイル)を編集します。

編集例①:申請書ガジェットマスタの更新が必要な編集
  • 編集前
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings">

  <!-- 略 -->

    <groups>
      <group id="targetField" surfaceKey="targetField" requiredType="SETTING_ANY" inputType="CONFIG">
        <fields>
          <field id="targetField" surfaceKey="targetField" requiredType="INHERIT" inputType="INHERIT" type="TEXT">
            <args>
              <arg key="class"     value="common_class"/>
              <arg key="style"     value="common_style"/>
              <arg key="maxlength" value="250"/>
              <arg key="readonly"  value="false"/>
              <arg key="disabled"  value="false"/>
            </args>
          </field>
        </fields>
      </group>
    </groups>

  <!-- 略 -->

</gadgetBuilderSettings>
  • 編集後
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings">

  <!-- 略 -->

    <groups>
      <group id="targetField" surfaceKey="targetField" requiredType="SETTING_ANY" inputType="CONFIG">
        <fields>
          <!-- フィールド変更  -->
          <field id="targetField1" surfaceKey="targetField1" requiredType="INHERIT" inputType="INHERIT" type="TEXT">
            <args>
              <arg key="class"     value="common_class"/>
              <!-- スタイル変更 -->
              <arg key="style"     value="width:calc(100% - 10px);"/>
              <arg key="maxlength" value="250"/>
              <arg key="readonly"  value="false"/>
              <arg key="disabled"  value="false"/>
            </args>
            <!-- バリデート追加 -->
            <validates>
              <validate event="default" config="{'id':'maxLength', 'args':'250'}"/>
            </validates>
          </field>
          <!-- フィールド追加 -->
          <field id="targetField2" surfaceKey="targetField2" requiredType="INHERIT" inputType="INHERIT" type="TEXT">
            <args>
              <arg key="class"     value="common_class"/>
              <arg key="style"     value="common_style"/>
              <arg key="maxlength" value="250"/>
              <arg key="readonly"  value="false"/>
              <arg key="disabled"  value="false"/>
            </args>
          </field>
        </fields>
      </group>
    </groups>

  <!-- 略 -->

</gadgetBuilderSettings>
反映方法は、「手順⑥-1:GadgetBuilder定義反映(申請書ガジェットマスタ更新)」を参照してください。

コラム

申請書ガジェットマスタの更新が必要なタグ・属性の一覧です。
名称
タグ・属性
ガジェットクラス
gadgetBuilderSettings / gadgetClass
ガジェットバリエーション
gadgetBuilderSettings / gadgetVariation
JSPパス
gadgetBuilderSettings / jspPath
Javaパス
gadgetBuilderSettings / javaPath
ソートキー
gadgetBuilderSettings / sortKey
サーフィスキー
gadgetBuilderSettings / surfaceKey
ガジェット概要設定
gadgetBuilderSettings / descriptions / description
ガジェットブロック設定
gadgetBuilderSettings / blocks / block
フィールドグループ設定 / フィールドグループID
gadgetBuilderSettings / blocks / block / groups / group @ id
フィールドグループ設定 / サーフィスキー
gadgetBuilderSettings / blocks / block / groups / group @ surfaceKey
フィールドグループ設定 / 必須タイプ
gadgetBuilderSettings / blocks / block / groups / group @ requiredType
フィールドグループ設定 / 入力タイプ
gadgetBuilderSettings / blocks / block / groups / group @ inputType
フィールドグループ設定 / ソートキー
gadgetBuilderSettings / blocks / block / groups / group @ sortKey
フィールド設定 / フィールドID
gadgetBuilderSettings / blocks / block / groups / group / fields / field @ id
フィールド設定 / サーフィスキー
gadgetBuilderSettings / blocks / block / groups / group / fields / field @ surfaceKey
フィールド設定 / 必須タイプ
gadgetBuilderSettings / blocks / block / groups / group / fields / field @ requiredType
フィールド設定 / 入力タイプ
gadgetBuilderSettings / blocks / block / groups / group / fields / field @ inputType
フィールド設定 / ソートキー
gadgetBuilderSettings / blocks / block / groups / group / fields / field @ sortKey
ガジェットサーフィス設定
gadgetBuilderSettings / surfaces / surface
ガジェットタグ設定
gadgetBuilderSettings / tags / tag
編集例②:申請書ガジェットマスタの更新が不要な編集
  • 編集前
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings">

  <!-- 略 -->

    <groups>
      <group id="targetField" surfaceKey="targetField" requiredType="SETTING_ANY" inputType="CONFIG">
        <fields>
          <field id="targetField" surfaceKey="targetField" requiredType="INHERIT" inputType="INHERIT" type="TEXT">
            <args>
              <arg key="class"     value="common_class"/>
              <arg key="style"     value="common_style"/>
              <arg key="maxlength" value="250"/>
              <arg key="readonly"  value="false"/>
              <arg key="disabled"  value="false"/>
            </args>
          </field>
        </fields>
      </group>
    </groups>

  <!-- 略 -->

</gadgetBuilderSettings>
  • 編集後
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gadgetBuilderSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/gadgetBuilderSettings">

  <!-- 略 -->

    <groups>
      <group id="targetField" surfaceKey="targetField" requiredType="SETTING_ANY" inputType="CONFIG">
        <fields>
          <field id="targetField" surfaceKey="targetField" requiredType="INHERIT" inputType="INHERIT" type="TEXT">
            <args>
              <arg key="class"     value="common_class"/>
              <!-- スタイル変更 -->
              <arg key="style"     value="width:calc(100% - 10px);"/>
              <arg key="maxlength" value="250"/>
              <arg key="readonly"  value="false"/>
              <arg key="disabled"  value="false"/>
            </args>
            <!-- バリデート追加 -->
            <validates>
              <validate event="default" config="{'id':'maxLength', 'args':'250'}"/>
            </validates>
          </field>
        </fields>
      </group>
    </groups>

  <!-- 略 -->

</gadgetBuilderSettings>

コラム

申請書ガジェットマスタの更新が不要なタグ・属性の一覧です。
名称
タグ・属性
ガジェットタイトル表示有無
gadgetBuilderSettings / displayTitle
ガジェット引数設定
gadgetBuilderSettings / args / arg
拡張設定(Logic)
gadgetBuilderSettings / extension / logic
拡張設定(URL)
gadgetBuilderSettings / extension / url
ガジェットブロック設定 / サービス設定
gadgetBuilderSettings / blocks / block / service
ガジェットブロック設定 / サービス設定 / SQL設定
gadgetBuilderSettings / blocks / block / service / sqls / sql
ガジェットブロック設定 / 構成設定
gadgetBuilderSettings / blocks / block / table
ガジェットブロック設定 / 構成設定 / カラムグループ設定
gadgetBuilderSettings / blocks / block / table / colgroups / colgroup
ガジェットブロック設定 / 構成設定 / 行 - 列設定(HORIZONTAL)
gadgetBuilderSettings / blocks / block / table / rows / row / cols / col
ガジェットブロック設定 / 構成設定 / 行 - 列設定(VERTICAL)
gadgetBuilderSettings / blocks / block / table / cols / col / rows / row
ガジェットブロック設定 / ブロック引数設定
gadgetBuilderSettings / blocks / block / args / arg
フィールドグループ設定 / 必須マーク
gadgetBuilderSettings / blocks / block / groups / group @ requiredMark
フィールドグループ設定 / 引数設定
gadgetBuilderSettings / blocks / block / groups / group / args / arg
フィールド設定 / フィールドタイプ
gadgetBuilderSettings / blocks / block / groups / group / fields / field @ type
フィールド設定 / 引数設定
gadgetBuilderSettings / blocks / block / groups / group / fields / field / args/ arg
フィールド設定 / バリデート設定
gadgetBuilderSettings / blocks / block / groups / group / fields / field / validates / validate
ガジェットブロック設定 / 補完設定
gadgetBuilderSettings / blocks / block / completions / completion
ガジェットブロック設定 / 通信設定
gadgetBuilderSettings / blocks / block / claims / claim
ガジェットブロック設定 / イベント設定
gadgetBuilderSettings / blocks / block / events / event
ガジェットブロック設定 / インクルード設定
gadgetBuilderSettings / blocks / block / includes / include

6.6. 手順⑥-1:GadgetBuilder定義反映(申請書ガジェットマスタ更新)

手順⑤:GadgetBuilder定義編集」の編集例①で編集したGadgetBuilder定義(XMLファイル)を反映させます。
申請書ガジェットマスタの更新が必要な場合、「手順③:ガジェットインポート」と「手順④:ガジェット設定」を再度行います。

6.7. 手順⑥-2:GadgetBuilder定義反映(申請書ガジェットマスタ更新不要)

手順⑤:GadgetBuilder定義編集」の編集例②で編集したGadgetBuilder定義(XMLファイル)を反映させます。
申請書ガジェットマスタの更新が不要な場合、キャッシュ削除ジョブを実行後、申請書マスタメンテナンスの更新を行います。

コラム

手順⑥-1:GadgetBuilder定義反映(申請書ガジェットマスタ更新)」でも反映は行われますが、申請書ガジェットマスタの更新が不要なため、余分な操作を行わずに反映ができます。

コラム

キャッシュ削除ジョブは、ジョブネット一覧(画面左部)の「キャッシュ削除」で実行できます。
../../_images/customize_01.png

コラム

申請書マスタメンテナンスの更新では、ガジェットの再設定は不要です。
コンテンツ定義、コンテンツバージョンどちらの更新でも可です。
../../_images/customize_02.png