# 安裝說明

## 需求

- Google Workspace 或一般 Google 帳號。
- 可建立 Google Drive 資料夾、Google Forms、Google Sheets、Google Docs、Calendar 事件與 Gmail 通知的權限。
- 一個作為行政專案總入口的 Google Drive 總資料夾。

## 方式一：使用產生器

1. 將本 repo 放到支援 PHP 的本機或網站環境。
2. 開啟 `generate_apps_script_installer.php`。
3. 填入：
   - Google Drive 總資料夾 ID
   - Calendar ID，若不確定可先用 `primary`
   - 管理者 Email
4. 產生 Apps Script 程式碼。
5. 在 Google Apps Script 建立新專案，貼上程式碼。
6. 執行 `setupAdminWorkflow()`。
7. 第一次執行會要求授權，請依畫面完成授權。

## 方式二：直接使用 src/Code.gs

`src/Code.gs` 使用 placeholder 設定。請先修改：

```javascript
const CONFIG = {
  ROOT_FOLDER_ID: "YOUR_GOOGLE_DRIVE_ROOT_FOLDER_ID",
  CONTROL_SHEET_ID: "",
  CALENDAR_ID: "primary",
  ADMIN_EMAIL: "admin@example.com",
  TIMEZONE: "Asia/Taipei"
};
```

修改後貼到 Google Apps Script，再執行 `setupAdminWorkflow()`。

## setup 會建立什麼

- `01_公文專案啟動表`
- `02_專案總控表`
- `03_專案資料夾`
- `04_專案階段日期新增表`
- `06_Apps Script`
- Google Form：`公文專案啟動表`
- Google Form：`專案階段日期新增表`
- Google Sheet：`公文專案啟動表_表單回應`
- Google Sheet：`專案階段日期新增表_表單回應`
- Google Sheet：`行政專案總控表`
- 工作表：`專案階段日期紀錄`
- 觸發器：`onFormSubmit`
- 觸發器：`onMilestoneFormSubmit`

## 常見問題

安裝後如果遇到權限、欄位或日曆提醒問題，請先看 [troubleshooting.md](troubleshooting.md)。

## 已經執行過舊版 setup 怎麼辦

如果已建立過舊表單，但想重建新版表單：

1. 到 Apps Script 左側 `Project Settings`。
2. 開啟 `Script Properties`。
3. 刪除：
   - `STARTER_FORM_ID`
   - `STARTER_RESPONSE_SHEET_ID`
   - `MILESTONE_FORM_ID`
   - `MILESTONE_RESPONSE_SHEET_ID`
4. 重新執行 `setupAdminWorkflow()`。
