5.8 KiB
5.8 KiB
暫時規範管理系統 V3 - 測試/Demo 啟動指南
本指南專門用於快速啟動系統進行測試或演示。
🚀 快速啟動 (建議用於Demo)
選項1:Docker 一鍵啟動 (最簡單)
# 1. 複製並設定環境變數
cp .env.example .env
# 2. 編輯 .env 檔案 (重要!)
# 設定以下關鍵參數:
# - LDAP_SERVER=ldap://your-dc.company.com
# - LDAP_BIND_USER_DN=CN=service,DC=company,DC=com
# - LDAP_BIND_USER_PASSWORD=your_service_password
# 3. 啟動所有服務
docker-compose up -d
# 4. 等待服務啟動 (約30-60秒)
docker-compose logs -f
# 5. 初始化資料庫
docker-compose exec app python init_db.py
# 6. 訪問系統
# http://localhost:5000
選項2:本機開發模式
# Windows
start-windows.bat
# Linux
./start-linux.sh
📋 Demo 前檢查清單
必要服務檢查
- MySQL:
docker ps
確認 tempspec-mysql 運行中 - ONLYOFFICE: 訪問 http://localhost:8080 確認運行正常
- Flask App: 訪問 http://localhost:5000 確認可登入
- LDAP連線: 使用AD帳號測試登入
權限設定確認
- admin@company.com: 已設定為管理員權限
- 權限管理頁面: 可透過選單訪問
- 角色功能: admin/editor/viewer 功能正常
🔧 資料庫架構變更說明
⚠️ 重要:資料表名稱變更
如果您有現有的資料庫,請注意以下變更:
舊版本 → V3 變更:
user → ts_user
temp_spec → ts_temp_spec
upload → ts_upload
spec_history → ts_spec_history
資料移轉腳本 (如果需要)
如果需要從舊版本遷移資料:
-- 備份現有資料
CREATE TABLE user_backup AS SELECT * FROM user;
CREATE TABLE temp_spec_backup AS SELECT * FROM temp_spec;
-- 其他表的備份...
-- 重命名資料表 (謹慎操作!)
RENAME TABLE user TO ts_user;
RENAME TABLE temp_spec TO ts_temp_spec;
RENAME TABLE upload TO ts_upload;
RENAME TABLE spec_history TO ts_spec_history;
建議: 如果是演示環境,直接重新初始化資料庫即可:
# 清除舊資料並重新初始化
docker-compose down -v # 刪除所有卷
docker-compose up -d
docker-compose exec app python init_db.py
🧪 Demo 測試流程
基本功能測試
- 登入測試
# 測試AD帳號登入
用戶: admin@company.com
密碼: [AD密碼]
-
權限管理測試
- 登入後訪問 "權限管理" 選單
- 確認可以看到使用者列表
- 測試權限變更功能
-
規範建立流程
- 建立新的暫時規範
- 測試 ONLYOFFICE 編輯功能
- 下載 Word 文件
-
智慧通知測試
- 測試啟用規範時的收件人選擇
- 確認 LDAP 搜尋功能運作
- 驗證郵件發送 (如果SMTP已設定)
-
排程任務測試
- 檢查排程任務是否已註冊
- 模擬到期提醒功能
Demo 劇本建議
1. 開場 - 系統介紹 (2分鐘)
"這是企業級暫時規範管理系統V3,集成了AD認證和智慧通知"
2. 登入演示 (1分鐘)
展示AD單一登入功能
3. 權限管理 (2分鐘)
展示LDAP整合的權限管理界面
4. 規範建立 (3分鐘)
展示從建立到線上編輯的完整流程
5. 智慧通知 (2分鐘)
展示動態收件人選擇和自動提醒功能
6. 總結 (1分鐘)
強調V3的主要改進和企業級特性
🛠️ 疑難排解
常見問題
- LDAP連線失敗
# 檢查LDAP設定
docker-compose exec app python -c "
from ldap_utils import authenticate_ldap_user
print(authenticate_ldap_user('testuser', 'testpass'))
"
- ONLYOFFICE無法載入
# 檢查Document Server狀態
curl http://localhost:8080/healthcheck
docker logs tempspec-onlyoffice
- 資料庫連線問題
# 檢查MySQL狀態
docker-compose exec mysql mysql -u root -p -e "SHOW DATABASES;"
- 權限設定問題
-- 直接在資料庫中設定管理員
USE tempspec_db;
UPDATE ts_user SET role='admin' WHERE username='admin@company.com';
快速重置
如果需要完全重置系統:
# 停止並刪除所有容器和資料
docker-compose down -v --remove-orphans
# 清理Docker資源
docker system prune -f
# 重新啟動
docker-compose up -d
sleep 30
docker-compose exec app python init_db.py
echo "系統已完全重置!"
📊 系統狀態監控
檢查系統健康狀態
#!/bin/bash
# health-check.sh
echo "=== 系統狀態檢查 ==="
echo "1. Docker 服務狀態:"
docker-compose ps
echo -e "\n2. 應用程式可訪問性:"
curl -s -o /dev/null -w "%{http_code}" http://localhost:5000 && echo " ✓ Flask App: 正常" || echo " ✗ Flask App: 異常"
echo -e "\n3. ONLYOFFICE 狀態:"
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080 && echo " ✓ ONLYOFFICE: 正常" || echo " ✗ ONLYOFFICE: 異常"
echo -e "\n4. MySQL 狀態:"
docker-compose exec mysql mysqladmin ping -h localhost -u root -p$DB_ROOT_PASSWORD --silent && echo " ✓ MySQL: 正常" || echo " ✗ MySQL: 異常"
echo -e "\n5. 磁碟空間:"
df -h | grep -E "(Filesystem|/dev/)"
echo -e "\n6. 記憶體使用:"
free -h
echo -e "\n=== 檢查完成 ==="
📝 Demo 注意事項
- 網路環境: 確保Demo環境可以連接到公司的LDAP伺服器
- 防火牆: 開放必要的端口 (389/636 for LDAP, 25/587 for SMTP)
- 測試資料: 準備一些測試用的暫時規範範例
- 備案計畫: 準備離線Demo資料以防網路問題
- 效能考量: Demo環境建議至少4GB RAM,確保ONLYOFFICE穩定運行
🎯 成功標準
Demo成功的標誌:
- ✅ AD帳號可以正常登入
- ✅ 權限管理功能運作正常
- ✅ ONLYOFFICE編輯器可以載入和編輯
- ✅ 智慧通知功能可以搜尋LDAP用戶
- ✅ 排程任務已正確註冊
- ✅ 所有核心功能響應時間 < 3秒
祝您Demo順利! 如有任何問題,請參考系統日誌。