# คู่มือการใช้งาน SDIC
## ระบบเชื่อมโยงข้อมูลโรงเรียน (School Data Interconnect)
### โรงเรียนสาธิตจุฬาลงกรณ์มหาวิทยาลัย ฝ่ายมัธยม
#### sdic.satitchula.app
---
## สารบัญ
1. [ภาพรวมระบบ](#ภาพรวมระบบ)
2. [การเข้าสู่ระบบ SDIC](#การเข้าสู่ระบบ-sdic)
3. [การจัดการอีเมล](#การจัดการอีเมล)
4. [การซิงค์ข้อมูล](#การซิงค์ข้อมูล)
5. [การจัดการ API Key](#การจัดการ-api-key)
6. [การตรวจสอบระบบ](#การตรวจสอบระบบ)
7. [การแก้ไขปัญหา](#การแก้ไขปัญหา)
---
## ภาพรวมระบบ
SDIC (School Data Interconnect) เป็นแอปพลิเคชันที่พัฒนาโดย Siwat System เพื่อจัดการข้อมูลโรงเรียนทั่วทั้งระบบของ Siwat System และพาร์ทเนอร์ที่เชื่อมต่อ เข้าถึงได้ที่ **sdic.satitchula.app**
### ฟังก์ชันหลัก
- **การควบคุม MXRelay**: จัดการการส่งอีเมลจำนวนมาก
- **การซิงค์ข้อมูล**: ควบคุมการไหลของข้อมูลจาก CUDReg ไปยัง Active Directory
- **การตรวจสอบคุณภาพอากาศ**: จัดการเครื่องตรวจวัด IQAir PM2.5 และคุณภาพอากาศ
- **การจัดการ API**: ให้บริการสร้างและจัดการ API key สำหรับการเชื่อมต่อระบบ
---
## การเข้าสู่ระบบ SDIC
### ขั้นตอนการเข้าสู่ระบบ
1. **เปิดเว็บเบราว์เซอร์และไปที่** **sdic.satitchula.app**
2. **กรอกข้อมูลการเข้าสู่ระบบในหน้าล็อกอิน**

**ข้อมูลที่ต้องการ:**
- **Username or Email**: ชื่อผู้ใช้ Active Directory หรืออีเมล (example@satitm.chula.ac.th)
- **Password**: รหัสผ่าน Active Directory
3. **คลิก "Log In" เพื่อเข้าสู่ระบบ**
4. **ระบบจะนำคุณไปยังหน้า Dashboard เมื่อเข้าสู่ระบบสำเร็จ**

---
## การจัดการอีเมล
### ภาพรวม
SDIC ควบคุมระบบ MXRelay ที่โรงเรียนใช้สำหรับส่งอีเมลจำนวนมากผ่าน **mx.satitchula.app**
### การตั้งค่า MXRelay
| **พารามิเตอร์** | **ค่า** | **รายละเอียด** |
|-----------------|---------|----------------|
| **Server** | `mx.satitchula.app` | เซิร์ฟเวอร์ SMTP ของโรงเรียน |
| **Port** | `587` | พอร์ตมาตรฐานสำหรับ SMTP Submission |
| **Security** | `StartTLS` | เข้ารหัสการเชื่อมต่อ |
### วิธีการยืนยันตัวตน
MXRelay รองรับการยืนยันตัวตน 2 วิธี:
| **วิธีการ** | **Username** | **Password** | **การใช้งาน** |
|-------------|--------------|--------------|---------------|
| **🔐 Active Directory** | ชื่อผู้ใช้ AD
*(เช่น `john.d`)* | รหัสผ่าน AD | ✅ ผู้ใช้ทั่วไป
✅ การส่งอีเมลแบบโต้ตอบ |
| **🔑 API Key** | `apikey` | API Key จาก SDIC | ✅ ระบบอัตโนมัติ
✅ แอปพลิเคชัน
✅ การส่งจำนวนมาก |
### การจัดการสิทธิ์อีเมล
#### การเข้าถึงหน้าจัดการอีเมล
1. **จาก Dashboard คลิกที่ "Email Management"**

2. **เลือก "Email Permissions" เพื่อจัดการสิทธิ์**

#### การเพิ่มสิทธิ์อีเมล
1. **คลิกปุ่ม "+ Add Permission"**
2. **กรอกข้อมูลในหน้าต่าง "Add Email Permission":**

- **Username (sAMAccountName)**: กรอกชื่อผู้ใช้ AD (เช่น john.doe)
- **Email Address or Domain**: กรอกอีเมลเฉพาะ (user@example.com) หรือโดเมน (example.com)
3. **คลิก "Create" เพื่อบันทึกสิทธิ์**
#### ข้อกำหนดเบื้องต้น
- ผู้ใช้ต้องเข้าสู่ระบบ SDIC อย่างน้อยหนึ่งครั้งก่อนจึงจะสามารถเพิ่มสิทธิ์ได้
- การเข้าสู่ระบบครั้งแรกจะโหลดข้อมูล AD ของผู้ใช้เข้าสู่ระบบ
- คุณต้องมีสิทธิ์ผู้ดูแลระบบเพื่อจัดการสิทธิ์อีเมล
### ประเภทของสิทธิ์อีเมล
SDIC รองรับสิทธิ์อีเมลสองประเภทที่กำหนดว่าผู้ใช้สามารถส่งอีเมลจากที่อยู่ใดได้บ้าง:
#### สิทธิ์เฉพาะที่อยู่ (Address-Specific Permissions)
ให้สิทธิ์ส่งอีเมลจากที่อยู่อีเมลเฉพาะเจาะจงหนึ่งที่อยู่
**ตัวอย่างที่ 1: ที่อยู่อีเมลเฉพาะ**
- **Email Address**: newsletter@satitm.chula.ac.th
- **ผลลัพธ์**: ผู้ใช้ john.doe สามารถส่งอีเมลได้เฉพาะจาก newsletter@satitm.chula.ac.th เท่านั้น
**ตัวอย่างที่ 2: หลายที่อยู่เฉพาะ**
เพื่อให้ผู้ใช้สามารถส่งจากหลายที่อยู่เฉพาะ ให้สร้างสิทธิ์แยกกัน:
- สิทธิ์ที่ 1: john.doe → admissions@satitm.chula.ac.th
- สิทธิ์ที่ 2: john.doe → events@satitm.chula.ac.th
- **ผลลัพธ์**: ผู้ใช้ john.doe สามารถส่งได้จากทั้ง admissions@satitm.chula.ac.th และ events@satitm.chula.ac.th
#### สิทธิ์ทั้งโดเมน (Domain-Wide Permissions)
ให้สิทธิ์ส่งอีเมลจากที่อยู่ใดก็ได้ภายในโดเมนที่กำหนด
**ตัวอย่างที่ 1: โดเมนโรงเรียน**
- **Domain**: satitm.chula.ac.th
- **ผลลัพธ์**: ผู้ใช้ mary.smith สามารถส่งอีเมลจากที่อยู่ใดก็ได้ที่ลงท้ายด้วย @satitm.chula.ac.th
- ✅ ส่งได้จาก: info@satitm.chula.ac.th
- ✅ ส่งได้จาก: library@satitm.chula.ac.th
- ✅ ส่งได้จาก: sports@satitm.chula.ac.th
- ❌ ส่งไม่ได้จาก: external@gmail.com
**ตัวอย่างที่ 2: โดเมนเพิ่มเติม**
- **Domain**: cudplus.satitm.chula.ac.th
- **ผลลัพธ์**: ผู้ใช้สามารถส่งอีเมลจากที่อยู่ใดก็ได้ที่ลงท้ายด้วย @cudplus.satitm.chula.ac.th
- ✅ ส่งได้จาก: noreply@cudplus.satitm.chula.ac.th
- ✅ ส่งได้จาก: support@cudplus.satitm.chula.ac.th
> **หมายเหตุ**: ในปัจจุบันมีเพียงโดเมน satitm.chula.ac.th และ cudplus.satitm.chula.ac.th เท่านั้นที่ได้รับการลงทะเบียนและอนุญาตในระบบ
#### แนวทางปฏิบัติที่ดี
**ข้อควรพิจารณาด้านความปลอดภัย:**
- ควรให้สิทธิ์ทั้งโดเมนอย่างระมัดระวัง
- ผู้ใช้ทั่วไปควรได้รับสิทธิ์เฉพาะที่อยู่
- ตรวจสอบสิทธิ์เป็นประจำเพื่อให้แน่ใจว่ายังจำเป็น
### การตรวจสอบบันทึกอีเมล
สามารถตรวจสอบบันทึกการส่งอีเมลได้ที่:

---
## การซิงค์ข้อมูล
### ภาพรวม
SDIC จัดการการไหลของข้อมูลซิงค์จาก CUDReg (ระบบลงทะเบียน) เข้าสู่ Active Directory
### สถาปัตยกรรมระบบ
การไหลของข้อมูลซิงค์ทำงานดังนี้:
- **CUDReg** (ระบบลงทะเบียน) → **Active Directory** (ระบบยืนยันตัวตน)
- Active Directory จะซิงค์อัตโนมัติกับ:
- **RADIUS (NPS)**: การยืนยันตัวตน WiFi และ .1x
- **FortiGate**: Captive Portal, Content Filtering และ VPN
- **CUDIoT**: พอร์ทัลควบคุม Internet of Things
- **CUDPlus**: ระบบ eLearning
- **ZKTeco**: ระบบควบคุมการเข้าออก (เมื่อออนไลน์)
### การเข้าถึงการซิงค์
1. **จาก Dashboard คลิกที่ "Data Synchronization"**

2. **เลือก "Data Sync" เพื่อดูสถานะการซิงค์**

### การเริ่มต้นการซิงค์ข้อมูล
1. ไปที่ Synchronization → Data Sync
2. ระบบจะแสดงสถานะซิงค์ปัจจุบันของระบบที่เชื่อมต่อทั้งหมด
3. เพื่อเริ่มการซิงค์แบบแมนนวล:
- คลิกที่ตัวเลือกซิงค์สำหรับ CUDReg → Active Directory
- ระบบจะแสดงกระบวนการซิงค์แบบหลายขั้นตอน
### กระบวนการซิงค์
#### ขั้นตอนที่ 1: เตรียมการ
ระบบเตรียมการซิงค์โดยรวบรวมการเปลี่ยนแปลงจาก CUDReg
#### ขั้นตอนที่ 2: ตรวจสอบการเปลี่ยนแปลง

ตรวจสอบการเปลี่ยนแปลงที่จะถูกซิงค์:
- **Create New Records**: แสดงระเบียนนักเรียน/พนักงานใหม่ที่จะเพิ่ม
- **Update Existing Records**: แสดงการแก้ไขระเบียนที่มีอยู่
- **Deletions**: แสดงระเบียนที่จะลบ
คุณสามารถ:
- เลือก/ยกเลิกการเปลี่ยนแปลงแต่ละรายการโดยใช้ checkbox
- ใช้ตัวเลือก "Select All Creations", "Select All Updates", หรือ "Select All"
- ค้นหาระเบียนเฉพาะโดยใช้กล่องค้นหา
#### ขั้นตอนที่ 3: สรุป

ตรวจสอบสรุปการซิงค์:
- **New Entries**: จำนวนระเบียนใหม่ที่จะสร้าง
- **Updates**: จำนวนระเบียนที่มีอยู่ที่จะแก้ไข
- **Deletions**: จำนวนระเบียนที่จะลบ
#### ขั้นตอนที่ 4: ยืนยันและดำเนินการ

การยืนยันครั้งสุดท้ายก่อนนำการเปลี่ยนแปลงไปใช้:
> **⚠️ คำเตือน**: การกระทำนี้ไม่สามารถยกเลิกได้ ให้แน่ใจว่าคุณได้ตรวจสอบการเปลี่ยนแปลงทั้งหมดอย่างรอบคอบแล้ว
คลิก "Synchronize Now" เพื่อดำเนินการซิงค์
#### ขั้นตอนที่ 5: เสร็จสิ้น

การซิงค์เสร็จสมบูรณ์เมื่อขั้นตอนทั้งหมดแสดงเครื่องหมายถูกสีเขียว
### การตรวจสอบการซิงค์
#### รายงานการตรวจสอบ

รายงาน Audit Log แสดงข้อมูล:
- **ID**: รหัสประจำล็อก
- **Action**: ประเภทการกระทำที่ดำเนินการ (เช่น RESET_PASSWORD)
- **User**: ผู้ที่ดำเนินการ
- **Description**: รายละเอียดของการกระทำ
- **Timestamp**: เวลาที่เกิดการกระทำ
- **Data**: ข้อมูลเพิ่มเติม (คลิกไอคอนข้อมูลเพื่อดู)
---
## การจัดการ API Key

### การสร้าง API Key
1. **ไปที่ "API Keys" จากเมนูหลัก**
2. **คลิก "Create API Key" (ปุ่ม + Create API Key)**
3. **ระบบจะสร้าง API key ใหม่สำหรับบัญชีของคุณ**
4. **API key จะแสดงพร้อมกับ:**
- **API Key**: คีย์จริง (ปิดบังบางส่วนเพื่อความปลอดภัย)
- **Created**: เวลาที่สร้าง
- **Actions**: ตัวเลือกดู คัดลอก หรือลบคีย์
### การจัดการ API Key
- **ดูคีย์**: คลิกไอคอนตาเพื่อแสดง API key เต็ม
- **คัดลอกคีย์**: คลิกไอคอนคัดลอกเพื่อคัดลอกคีย์ไปยังคลิปบอร์ด
- **ลบคีย์**: คลิกไอคอนถังขยะเพื่อลบ API key
### หมายเหตุด้านความปลอดภัย
- API key ทำงานด้วยสิทธิ์เดียวกันกับผู้ใช้ที่สร้าง
- เก็บ API key อย่างปลอดภัยและไม่แชร์ให้ผู้อื่น
- หมุนเวียน API key เป็นประจำเพื่อความปลอดภัย
### การใช้ API Key
ผู้ถือ API key สามารถทำงานในฐานะผู้ใช้ด้วยสิทธิ์ของผู้ใช้นั้น การใช้ API key สำหรับการยืนยันตัวตน:
- **Username**: apikey
- **Password**: [API key จริง]
---
## การตรวจสอบระบบ
### การตรวจสอบสถานะระบบ
สามารถตรวจสอบสถานะการทำงานของระบบต่าง ๆ ได้จากหน้า Dashboard ที่แสดง:
- สถานะการเชื่อมต่อ Active Directory
- สถานะ MXRelay Server
- สถานะการซิงค์ข้อมูล
- จำนวน API Key ที่ใช้งานอยู่
### การตรวจสอบล็อกระบบ
1. **รายงานการตรวจสอบ**: ดูจากหน้า Audit Log
2. **บันทึกอีเมล**: ตรวจสอบการส่งอีเมลจากหน้า Email Log
3. **ประวัติการซิงค์**: ดูจากรายงานการซิงค์ข้อมูล
---
## การแก้ไขปัญหา
### ปัญหาทั่วไป
#### ไม่สามารถเข้าสู่ระบบได้
**สาเหตุที่เป็นไปได้:**
- ข้อมูลผู้ใช้หรือรหัスผ่านผิด
- บัญชี AD ถูกปิดใช้งาน
- ปัญหาการเชื่อมต่อเครือข่าย
**วิธีแก้ไข:**
1. ตรวจสอบข้อมูลการเข้าสู่ระบบ
2. ลองใช้อีเมลแทนชื่อผู้ใช้
3. ติดต่อผู้ดูแลระบบ IT
#### ไม่สามารถส่งอีเมลได้
**สาเหตุที่เป็นไปได้:**
- ไม่มีสิทธิ์ส่งจากที่อยู่ที่ระบุ
- การตั้งค่า SMTP ไม่ถูกต้อง
- API key หมดอายุ
**วิธีแก้ไข:**
1. ตรวจสอบสิทธิ์อีเมลในระบบ SDIC
2. ยืนยันการตั้งค่า MXRelay
3. สร้าง API key ใหม่หากจำเป็น
#### การซิงค์ข้อมูลล้มเหลว
**สาเหตุที่เป็นไปได้:**
- ข้อมูลใน CUDReg ไม่สมบูรณ์
- ปัญหาการเชื่อมต่อ Active Directory
- ข้อผิดพลาดในการจับคู่ข้อมูล
**วิธีแก้ไข:**
1. ตรวจสอบล็อกการซิงค์
2. ตรวจสอบความสมบูรณ์ของข้อมูล
3. ลองซิงค์อีกครั้งในภายหลัง
### การติดต่อสำหรับความช่วยเหลือ
หากพบปัญหาที่ไม่สามารถแก้ไขได้ด้วยตนเอง กรุณาติดต่อ:
- **Siwat System Support**
- **อีเมล**: siwat@siwatinc.com
- **ผู้ติดต่อ**: ศิวัช ศิริชัย
- **โทรศัพท์**: 086-789-5193
---
*เอกสารฉบับนี้ถูกจัดทำขึ้นเพื่อใช้ภายในโรงเรียนสาธิตจุฬาลงกรณ์มหาวิทยาลัย ฝ่ายมัธยม*
*อัปเดตล่าสุด: 31 สิงหาคม 2025*