ユーザー(sys_user)、グループ(sys_user_group)、ロール(sys_user_role)の3層構造。ロールはグループに付与してユーザーはグループに所属させるのがベストプラクティス。security_adminはelevate roleで一時昇格して使う。
taskテーブルが親で、Incident/Problem/Change/Requestなどが拡張。共通フィールドを継承。
Flexible(自由レーン)、Guided(フィールド連動)、Freeform(自由追加)の3種類。
3要素: When to send / Who will receive / What it will contain。イベント駆動(gs.eventQueue())も可。
レポートは「今」のデータ、Performance Analytics(PA)は「経時変化」のトレンド分析。
KB > Category > Article の階層。Draft → Review → Published → Retired のライフサイクル。User Criteria で Can Read / Can Contribute を制御。
Work notes(内部) / Additional comments(顧客向け)の使い分け。
クライアントサイドで実行されるJavaScript。フォームの動的制御に使用。
種類:
onLoad: フォーム読み込み時に実行onChange: フィールド値変更時に実行onSubmit: フォーム送信(保存)時に実行onCellEdit: リストのインライン編集時に実行g_form API (フォーム操作):
g_form.getValue('field'): フィールド値を取得g_form.setValue('field', value): フィールド値をセットg_form.setMandatory('field', true/false): 必須/任意を切替g_form.setVisible('field', true/false): 表示/非表示を切替g_form.setReadOnly('field', true/false): 読み取り専用を切替g_form.addInfoMessage('msg'): 情報メッセージを表示g_form.clearMessages(): メッセージをクリアg_user API (ユーザー情報):
g_user.hasRole('role_name'): ロール保持確認g_user.getFullName(): フルネーム取得g_user.getUserID(): sys_id取得UI Policy vs Client Script:
PA Indicators (指標/KPI):
Automated タイプ: データを自動収集するスクリプトPA Breakdowns (分解):
PA Scheduled Jobs:
Scores / Targets / Thresholds:
Notification Digest: 複数の通知をまとめてバッチ送信
Notification Subscriptions: ユーザーが通知のオン/オフを自分で設定
Notification Devices: Email / SMS / Push Notification
通知テンプレート変数: ${field_name} でフィールド値を本文に挿入
グループタイプ: Assignment Group / Notification Group / 両方兼用
ロール継承: グループに付与したロールはメンバー全員に継承される
Contains Roles: ロールが別のロールを包含する(例: admin は itil を含む)
【ユーザー管理の3層構造】
sys_user (ユーザー)
└─ 所属 ──→ sys_user_group (グループ)
└─ 付与 ──→ sys_user_role (ロール)
└─ 制御 ──→ ACL / Application Access
【タスク継承ツリー】
task (親テーブル)
├── incident
├── problem
├── change_request
└── sc_request → sc_req_item
【通知フロー】
トリガー条件 → Notification
├── When to send
├── Who receives
└── What contains (${field_name} テンプレート)
【Client Script の種類と g_form API】
onLoad / onChange / onSubmit / onCellEdit
g_form.getValue / setValue / setMandatory / setVisible / setReadOnly
【Performance Analytics 構造】
Indicator → Scheduled Job → Score → Target/Threshold
Breakdown → セグメント分解 → Scorecard/Widget
【レポート vs PA】
Report: 現時点スナップショット
PA: 時系列トレンド分析
incident、Type: onChange、Field name: priority を指定「ロールをグループ経由で付与するのがなぜ推奨か」→ 1か所の変更が全メンバーに波及するため管理が効率的。
「通知のWho will receiveでフィールド値(例: Assigned to)を指定するには」→ Notificationの「Who will receive」タブの「Fields」欄で指定する。
「Guided VTBでカードを移動すると何が起きるか」→ 背後のレコードのフィールド値(例: State)が自動変更される。
「onChangeスクリプトでフィールドを必須にするAPIはどれか」→ g_form.setMandatory(‘field’, true)。
「Client ScriptとUI Policyはどちらが先に試みるべきか」→ UI Policyを先に試みる(コード不要で保守しやすい)。
「ReportとPerformance Analyticsの違いは」→ Reportはスナップショット、PAはトレンド(時系列)分析。