# 画面設計書 277-変更ログ

## 概要

本ドキュメントは、dbatoolsモジュールの変更ログ表示機能（Get-DbatoolsChangeLog）に関する画面設計書です。

### 本画面の処理概要

dbatoolsモジュールのリリース変更ログをデフォルトブラウザで表示するPowerShellコマンドを提供します。

**業務上の目的・背景**：SQL Server管理者は、dbatoolsモジュールのバージョン履歴、新機能、バグ修正、破壊的変更を把握する必要があります。本機能により、GitHubのリリースページを簡単に開き、最新の変更内容を確認できます。モジュール更新の判断やトラブルシューティングの際に、どのバージョンでどのような変更があったかを迅速に調査できます。

**画面へのアクセス方法**：PowerShellコンソールから`Get-DbatoolsChangeLog`コマンドを実行します。

**主要な操作・処理内容**：
1. GitHubのdbatoolsリリースページをデフォルトブラウザで開く
2. （非推奨）ローカル変更ログの表示を試行（現在は警告のみ）

**画面遷移**：コマンド実行後、デフォルトブラウザでGitHubページが開きます。

**権限による表示制御**：特別な権限は不要です。

## 関連機能

| 機能No | 機能名 | 関連種別 | 関連する操作・処理 |
|--------|--------|----------|------------------|
| 154 | Get-DbatoolsChangeLog | 主機能 | dbatools変更ログの取得 |

## 画面種別

コマンドラインインターフェース（CLI）+ ブラウザ起動

## URL/ルーティング

PowerShellコマンドレット
- `Get-DbatoolsChangeLog`

開くURL
- https://github.com/dataplat/dbatools/releases

## 入出力項目

### Get-DbatoolsChangeLog

| パラメータ名 | 型 | 必須 | 説明 |
|-------------|-----|------|------|
| Local | switch | No | ローカル変更ログを表示（非推奨、警告のみ表示） |
| EnableException | switch | No | 例外を有効化 |

## 表示項目

### Get-DbatoolsChangeLog出力

| 項目名 | 型 | 説明 |
|--------|-----|------|
| （なし） | - | パイプラインには何も出力しない（ブラウザで表示） |

## イベント仕様

### 1-変更ログ表示

Get-DbatoolsChangeLogコマンド実行時、デフォルトブラウザでGitHubのリリースページを開きます。

**処理詳細**：
1. Localパラメータの確認
   - 指定なし：Start-Processで"https://github.com/dataplat/dbatools/releases"を開く
   - 指定あり：警告メッセージを表示（"Sorry, changelog is only available online"）
2. エラー発生時はStop-Functionで処理を停止

## データベース更新仕様

### 操作別データベース影響一覧

本機能はSQL Serverデータベースに対する直接的な操作は行いません。

| 操作（イベント） | 対象テーブル | 操作種別 | 概要 |
|----------------|-------------|---------|------|
| N/A | N/A | N/A | データベース操作なし |

## メッセージ仕様

| 種別 | メッセージ | 条件 |
|------|----------|------|
| Warning | Sorry, changelog is only available online | Localパラメータ指定時 |
| Error | Failure | 処理中にエラー発生時 |

## 例外処理

| 例外条件 | 処理内容 |
|---------|---------|
| ブラウザ起動失敗 | Stop-Functionでエラーメッセージを出力 |
| ネットワーク接続なし | ブラウザ側でエラー表示 |

## 備考

- ローカル変更ログ機能は非推奨であり、オンライン版のみが利用可能
- Start-Processを使用してデフォルトブラウザを起動
- URLは固定値でhttps://github.com/dataplat/dbatools/releases

---

## コードリーディングガイド

本画面を理解するために参照すべきファイルと、推奨する読み解き順序を以下に示す。

### 推奨読解順序

#### Step 1: データ構造を理解する

本コマンドはブラウザを起動するだけであり、複雑なデータ構造は存在しません。

| 順序 | ファイル | パス | 読解ポイント |
|-----|---------|------|-------------|
| 1-1 | Get-DbatoolsChangeLog.ps1 | `public/Get-DbatoolsChangeLog.ps1` | コマンドの構造と出力仕様を理解 |

**読解のコツ**: 本コマンドはシンプルなブラウザ起動ラッパーです。

#### Step 2: エントリーポイントを理解する

| 順序 | ファイル | パス | 読解ポイント |
|-----|---------|------|-------------|
| 2-1 | Get-DbatoolsChangeLog.ps1 | `public/Get-DbatoolsChangeLog.ps1` | コマンド実行時の動作 |

**主要処理フロー**:
1. **45行目**: try-catchブロック開始
2. **46-47行目**: Localパラメータの判定
3. **47行目**: Start-ProcessでGitHubを開く
4. **48-49行目**: Localパラメータ指定時は警告
5. **51-53行目**: エラー時のStop-Function

### プログラム呼び出し階層図

```
Get-DbatoolsChangeLog
    │
    ├─ Localパラメータなし
    │      └─ Start-Process "https://github.com/dataplat/dbatools/releases"
    │
    └─ Localパラメータあり
           └─ Write-Message -Level Warning "Sorry, changelog is only available online"
```

### データフロー図

```
[入力]                      [処理]                           [出力]

（パラメータ） ─────────▶ Start-Process ──────────────────▶ ブラウザ起動
                              │
Local ──────────────────▶ Write-Message (Warning) ────────▶ 警告メッセージ
```

### 関連ファイル一覧

| ファイル | パス | 種別 | 役割 |
|---------|------|------|------|
| Get-DbatoolsChangeLog.ps1 | `public/Get-DbatoolsChangeLog.ps1` | ソース | 変更ログ表示コマンド |
