6. カスタマイズ手順¶
本項では、GadgetBuilderを用いたカスタマイズをする場合の手順を解説します。
6.1. 手順①:GadgetBuilder定義コピー¶
基にする既存ガジェットのGadgetBuilder定義(XMLファイル)をコピーします。ファイル名を、次のように変更します。「%ガジェットクラス%_%ガジェットバリエーション%.xml」コピーしたGadgetBuilder定義(XMLファイル)を、次のパスの配下へ配置します。「%パブリックストレージ%/%テナント%/kaiden/generic/gadget」コラム
システムストレージにGadgetBuilder定義(XMLファイル)を配置する場合、ガジェットのインポート時にパブリックストレージにコピーしてください。ガジェットインポートのジョブは、「%パブリックストレージ%/kaiden/generic/gadget」フォルダに配置されたGadgetBuilder定義をインポートします。注意
「%ガジェットバリエーション%」は、製品で「v」を使用しているため、カスタマイズ用では「v」以外を使用してください。注意
「%ガジェットクラス%」と「%ガジェットバリエーション%」の間に存在する「_」以外は全角文字の使用を制限していませんが全角文字入りのGadgetBuilder定義をWARファイルに含めた場合、デプロイに失敗する可能性があるため推奨しません。
6.2. 手順②:ガジェットクラス、ガジェットバリエーション編集¶
編集前<?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定義編集¶
編集前<?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 / gadgetVariationJSPパス gadgetBuilderSettings / jspPathJavaパス 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>反映方法は、「手順⑥-2:GadgetBuilder定義反映(申請書ガジェットマスタ更新不要)」を参照してください。コラム
申請書ガジェットマスタの更新が不要なタグ・属性の一覧です。
名称 タグ・属性ガジェットタイトル表示有無 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定義反映(申請書ガジェットマスタ更新)」でも反映は行われますが、申請書ガジェットマスタの更新が不要なため、余分な操作を行わずに反映ができます。