生JSON取得(siteSettingJsons/)と設定分解(configs/)の保存先を分離し、 仕様書・概要書はClaudeが読み解いて執筆する方式に統一(機械生成の generate-site-documentation.jsは不使用)。10サイト分のspec.md/ overview.mdを刷新し、サイト間連携をまとめたsite-relations_overview.md を新規追加、全docsをPDF化した。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
9.2 KiB
サイト関連図:稟議承認ワークフロー関連サイト群
config.json の SiteId に列挙された10サイト(稟議申請〜承認〜集計〜通知にまたがる連携システム)について、
サイトツリー・明示的な連携(Links)・暗黙的な連携(ServerScripts/Scriptsのハードコード参照)を1枚にまとめたもの。
各サイトの詳細(項目定義・権限・プロセス等)は個別の仕様書(site-{SiteId}_{サイト名}_spec.md)を参照。
1. サイトツリー(ParentId)
10サイトは実際には2つの異なる外部フォルダ(ParentId)の配下に分かれて配置されている。
63543(外部フォルダ、詳細不明)
├─ 319014 新・稟議申請 ※実データを持たないフォルダ型サイト(ReferenceType: Sites)
│ ├─ 319015 新・稟議申請書 …… 稟議申請の実務データを保持するメインサイト
│ ├─ 319016 【ISO】稟議管理 …… ISO向けの稟議管理・集計サイト
│ ├─ 319017 【ISO】部署担当者別稟議集計 …… 319016の按分集計データ
│ └─ 319022 【部署別】稟議改善 …… 稟議を起点にした改善活動の管理
└─ 160926 稟議コード管理 …… 稟議コードの採番・発行マスタ
319018(外部フォルダ、詳細不明。63543とは別系統)
├─ 319020 稟議項目 …… 稟議項目マスタ(選択肢用)
├─ 319021 稟議通知管理 …… エリア別の通知先マスタ
├─ 335730 組織エリアマスタ …… 組織・エリアマスタ
└─ 319027 事前稟議一覧 …… 契約前の事前稟議データ
注記: サイト名「新・稟議申請」(319014・フォルダ)と「新・稟議申請書」(319015・実データサイト)は名称が酷似しているため混同に注意。63543・319018はいずれも今回取得した10サイトのJSONには含まれない外部の親サイト(社内ポータルの上位フォルダ等と推測されるが、今回の取得範囲では実体不明)。
2. サイト一覧
| SiteId | サイト名 | 役割(推測) | 概要書 |
|---|---|---|---|
| 319014 | 新・稟議申請 | 4サイトをまとめるフォルダ(実データなし) | 概要書 |
| 319015 | 新・稟議申請書 | 稟議申請〜承認〜決裁のメインワークフロー(プロセス18件) | 概要書 |
| 319016 | 【ISO】稟議管理 | ISO向けの稟議データ集約・分析 | 概要書 |
| 319017 | 【ISO】部署担当者別稟議集計 | 319016の按分計上データ(閲覧専用) | 概要書 |
| 319020 | 稟議項目 | 稟議項目の選択肢マスタ | 概要書 |
| 319021 | 稟議通知管理 | エリア別の稟議通知先マスタ | 概要書 |
| 319022 | 【部署別】稟議改善 | 稟議に紐づく改善活動の登録・共有 | 概要書 |
| 319027 | 事前稟議一覧 | 契約前段階の事前稟議データ | 概要書 |
| 335730 | 組織エリアマスタ | 組織・エリアの対応マスタ | 概要書 |
| 160926 | 稟議コード管理 | 稟議コードの採番・発行・取消管理 | 概要書 |
3. 明示的な連携(Links)
| 起点サイト | 起点列 | 参照先サイト | 内容 |
|---|---|---|---|
| 319015(新・稟議申請書) | ClassL | 160926(稟議コード管理) | 稟議コード・エリア・稟議分類の値を自動コピー |
| 319015(新・稟議申請書) | ClassD | 319027(事前稟議一覧) | 関連する事前稟議レコードを選択 |
| 319015(新・稟議申請書) | Class011 | 189112(対象10サイト外「マスターシート」) | 契約コード・工事名等を参照 |
| 319016(【ISO】稟議管理) | ClassD, ClassL | 160926(稟議コード管理) | 稟議コード・エリア・稟議分類の値を自動コピー |
| 319016(【ISO】稟議管理) | Class110 | 319020(稟議項目) | 稟議項目を選択肢として参照 |
| 319016(【ISO】稟議管理) | Class111 | 319019(対象10サイト外「稟議の原因」) | 原因を選択肢として参照 |
| 319016(【ISO】稟議管理) | Class011 | 189112(対象10サイト外「マスターシート」) | 319015と同じ外部マスタを参照 |
| 319016(【ISO】稟議管理) | ―(埋め込み表示) | 319022, 319017 | 編集画面に関連レコード一覧を埋め込み表示 |
| 319017(部署担当者別稟議集計) | ClassO | 319020(稟議項目) | 稟議項目を選択肢として参照 |
| 319017(部署担当者別稟議集計) | Class100 | 319016(【ISO】稟議管理) | 元の稟議管理レコードを参照(319016側から見た逆リンクも設定=双方向) |
| 319017(部署担当者別稟議集計) | ClassP | 319019(対象10サイト外「稟議の原因」) | 原因を選択肢として参照 |
| 319022(部署別稟議改善) | ClassZ | 319016(【ISO】稟議管理) | 元の稟議管理レコードを参照・列表示 |
| 319027(事前稟議一覧) | ClassD | 61259(対象10サイト外「契約コード」) | 契約コードを参照 |
| 319027(事前稟議一覧) | ClassE | 64583 / 74927 / 72434(対象10サイト外「派生コード」) | 派生コードを参照 |
| 160926(稟議コード管理) | ClassD | 61259(対象10サイト外「契約コード」) | 319027と同じ契約コードマスタを参照 |
| 160926(稟議コード管理) | ClassE | 64583 / 74927 / 72434(対象10サイト外「派生コード」) | 319027と同じ派生コードマスタを参照 |
| 319020(稟議項目) | ―(選択肢として参照される側) | 319016, 319017 | 319016・319017のドロップダウン選択肢として使われる(値コピーなし) |
補足: 189112(マスターシート)、319019(稟議の原因)、61259/64583/74927/72434(契約・派生コード)、63543・319018(親フォルダ)は、いずれも今回ドキュメント化対象の10サイトには含まれない外部サイトであり、実体は今回の取得範囲では確認できていない。
4. 暗黙的な連携(ServerScripts/Scriptsのハードコード参照)
正式なLinks設定には現れないが、スクリプト内でSiteIdが直接指定されている(今回の調査で発見できた分のみ)。
| 起点サイト | 参照先サイト | 該当スクリプトファイル | 目的(推測) |
|---|---|---|---|
| 319015(新・稟議申請書) | 319021(稟議通知管理) | scripts/1_1.新・稟議申請書.js(getTuuchiData) |
選択したエリアに応じた通知先担当者を自動補完 |
| 319015(新・稟議申請書) | 319016(【ISO】稟議管理) | scripts/2_2.稟議申請_作成時処理など.js(uploadISOdata) |
赤稟議の最終決裁時にサマリをISO管理サイトへ複写・計上(upsert) |
| 319015(新・稟議申請書) | 189112(対象10サイト外) | scripts/1_1.新・稟議申請書.js(updateMSSdata) |
決裁時にMSSサイトの残金項目を直接更新(書き込み方向) |
| 319016(【ISO】稟議管理) | 319017(部署担当者別稟議集計) | scripts/1_1.ISO稟議管理スクリプト.js(updateSummary) |
プロセス完了時に部署ごとの按分金額を都度アップサート |
| 319016(【ISO】稟議管理) | 335730(組織エリアマスタ) | serverscripts/1_年選択肢表示.js |
部署→エリア名の対応表を取得し編集画面に埋め込み |
| 160926(稟議コード管理) | 319027(事前稟議一覧) | scripts/3_03.更新時の処理.js |
更新後のレコード内容を事前稟議一覧へ複製送信(upsert) |
5. セキュリティ上の重要な指摘(横断)
個別調査の過程で、以下3サイトのクライアントスクリプトに Pleasanter APIキーとみられる文字列が平文でハードコードされている ことが判明した。クライアントスクリプトはブラウザ上で実行され、ソースコードがログイン可能な全ユーザーに公開されるため、深刻な漏えいリスクがある。
- 160926(稟議コード管理):
scripts/3_03.更新時の処理.js - 319015(新・稟議申請書):
scripts/1_1.新・稟議申請書.js、scripts/2_2.稟議申請_作成時処理など.js - 319016(【ISO】稟議管理):
scripts/1_1.ISO稟議管理スクリプト.js
値そのものは本書・各spec.mdのいずれにも転記していない。該当ファイルを直接確認のうえ、APIキーの失効・再発行と、サーバースクリプト側への移設(サーバースクリプトはクライアントに配信されないため安全)を推奨する。