|
|
|
|
@ -0,0 +1,135 @@
@@ -0,0 +1,135 @@
|
|
|
|
|
# ADR — Standar Dialog Preview / Edit (UI Pattern) |
|
|
|
|
|
|
|
|
|
## Aturan Wajib |
|
|
|
|
- Semua dialog preview/edit WAJIB menggunakan `<Dialog>` dari `@/components/ui/dialog` (bukan Sheet/Drawer) |
|
|
|
|
- Ukuran: `sm:max-w-lg` (detail lebar) atau `sm:max-w-md` (form pendek) |
|
|
|
|
- Struktur wajib: |
|
|
|
|
1. **Header berwarna** (gradient) — berisi ikon, judul, sub-judul |
|
|
|
|
2. **Body** dengan `overflow-y-auto max-h-[65dvh]` — scrollable |
|
|
|
|
3. **Footer sticky** dengan `border-t bg-muted/30` — tombol Batal + Simpan |
|
|
|
|
- Untuk dialog yang punya preview DAN edit, gunakan **2 tab** (tab "Detail" + tab "Edit") |
|
|
|
|
- Tab menggunakan komponen `<Tabs>` dari `@/components/ui/tabs` |
|
|
|
|
- Info 2-kolom: `grid grid-cols-[160px_1fr]` untuk label–value |
|
|
|
|
|
|
|
|
|
## Referensi Implementasi |
|
|
|
|
- `src/app/(app)/profile/page.tsx` — `<Dialog>` Edit Profil & Ganti Password |
|
|
|
|
- `src/components/asset-management/asset-detail-dialog.tsx` — Dialog Asset (2 tab) |
|
|
|
|
|
|
|
|
|
## Komponen yang Mengikuti Standar Ini |
|
|
|
|
- [x] Edit Profil (`/profile`) |
|
|
|
|
- [x] Ganti Password (`/profile`) |
|
|
|
|
- [x] Asset Detail & Edit (`/asset-management`) |
|
|
|
|
- [ ] Ticketing detail/edit |
|
|
|
|
- [ ] Monitoring alert detail |
|
|
|
|
- [ ] Mail compose |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
# Ticketing Microservice |
|
|
|
|
|
|
|
|
|
## Platform: Zammad (Rekomendasi Production) |
|
|
|
|
- Docker di server 10.100.1.24, domain: `zammad.gisportal.id` |
|
|
|
|
- LDAP Auth terintegrasi ke AD 10.100.1.40 |
|
|
|
|
- REST API digunakan oleh FE Next.js di `/ticketing` |
|
|
|
|
|
|
|
|
|
## Setup Zammad |
|
|
|
|
- [ ] Install Zammad via Docker Compose |
|
|
|
|
- [ ] Konfigurasi LDAP Auth (10.100.1.40) |
|
|
|
|
- [ ] Mapping LDAP Group → Zammad Role (IT-Admin, IT-Staff, Management, dll) |
|
|
|
|
- [ ] Konfigurasi email notifikasi via Mailcow |
|
|
|
|
- [ ] Setup SLA (response time & escalation) |
|
|
|
|
- [ ] Konfigurasi webhook/trigger: auto-assign by category → group |
|
|
|
|
- [ ] Setup public customer portal (untuk end user eksternal) |
|
|
|
|
|
|
|
|
|
## Kategori Tiket |
|
|
|
|
- Hardware: Komputer, Laptop, Printer, Server, Jaringan, dll |
|
|
|
|
- Software: |
|
|
|
|
- ESRI (ArcGIS Desktop, ArcGIS Pro, ArcGIS Online, ArcGIS Enterprise, Extension) |
|
|
|
|
- BlueMarble (Global Mapper, Geographic Calculator, dll) |
|
|
|
|
- DataEast (MapInfo, dll) |
|
|
|
|
- Microsoft (Office, Windows, Server, dll) |
|
|
|
|
- Lainnya (input bebas) |
|
|
|
|
- Asset Request (Pengadaan): Permohonan pembelian hardware/software baru |
|
|
|
|
- Issue Umum: Gangguan layanan, akses, dll |
|
|
|
|
|
|
|
|
|
## Alur Tiket (Workflow) |
|
|
|
|
``` |
|
|
|
|
Open → In Progress → Pending (menunggu user/pihak lain) → Resolved → Closed |
|
|
|
|
↓ |
|
|
|
|
Escalate (jika SLA breach) |
|
|
|
|
``` |
|
|
|
|
- Setiap transisi status tercatat di log timeline (audit trail) |
|
|
|
|
- Assignee: user LDAP atau group LDAP (IT-Admin/IT-Staff/divisi terkait) |
|
|
|
|
- Requester: user internal (SSO LDAP) atau guest publik (email + nama) |
|
|
|
|
|
|
|
|
|
## FE Integration (`/ticketing` di my.gisportal.id) |
|
|
|
|
- [ ] Halaman list tiket (filter by status, kategori, assignee) |
|
|
|
|
- [ ] Form buat tiket baru (kategori → sub-kategori hierarki software/hardware) |
|
|
|
|
- [ ] Detail tiket: info + log timeline + komentar (Dialog standar 2-tab) |
|
|
|
|
- [ ] Notifikasi real-time (websocket atau polling) |
|
|
|
|
- [ ] Dashboard ringkasan: open, in-progress, overdue (untuk IT Admin) |
|
|
|
|
- [ ] Integrasi dengan Asset Management: tiket bisa dikaitkan ke asset spesifik |
|
|
|
|
|
|
|
|
|
## Zammad API Client (`src/lib/zammad-client.ts`) |
|
|
|
|
- [ ] Auth via token (per-user token dari Zammad) |
|
|
|
|
- [ ] GET /tickets, GET /tickets/:id |
|
|
|
|
- [ ] POST /tickets (buat tiket baru) |
|
|
|
|
- [ ] PUT /tickets/:id (update status, assignee) |
|
|
|
|
- [ ] GET /ticket_articles/:ticket_id (log/komentar) |
|
|
|
|
- [ ] POST /ticket_articles (tambah komentar/update) |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
# FE |
|
|
|
|
|
|
|
|
|
my.gisportal.id |
|
|
|
|
│ |
|
|
|
|
├─ Dashboard |
|
|
|
|
├─ Profile (Action : Edit Profile, Ganti Password, Test Email) |
|
|
|
|
├─ Ticketing |
|
|
|
|
├─ Asset Management |
|
|
|
|
├─ GeoNetAgent |
|
|
|
|
├─ Monitoring |
|
|
|
|
└─ Mail |
|
|
|
|
│ |
|
|
|
|
├─ Inbox |
|
|
|
|
├─ Sent |
|
|
|
|
├─ Draft |
|
|
|
|
├─ Contacts |
|
|
|
|
├─ Calendar |
|
|
|
|
├─ Tasks |
|
|
|
|
└─ Rules |
|
|
|
|
|
|
|
|
|
# Microservices |
|
|
|
|
## Mailserver (Mailcow) |
|
|
|
|
| Produk | Web UI | API | Multi Domain | Docker | Enterprise | Nilai | |
|
|
|
|
| ------------- | ------ | ----- | ------------ | ------ | ---------- | ----- | |
|
|
|
|
| Mailcow | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ | ✅ | ⭐⭐⭐⭐⭐ | 🥇 | |
|
|
|
|
| iRedMail | ⭐⭐⭐⭐ | ⭐⭐⭐ | ✅ | ⚠️ | ⭐⭐⭐⭐⭐ | 🥈 | |
|
|
|
|
| Zimbra | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | ❌ | ⭐⭐⭐⭐⭐ | 🥉 | |
|
|
|
|
| Modoboa | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ✅ | ⚠️ | ⭐⭐⭐⭐ | ⭐⭐⭐ | |
|
|
|
|
| Stalwart Mail | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ✅ | ✅ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | |
|
|
|
|
|
|
|
|
|
## Setup |
|
|
|
|
- [ ] Install Mailcow (Docker) |
|
|
|
|
- [ ] Configure Mailcow |
|
|
|
|
- [ ] Configure Mailcow API |
|
|
|
|
- [ ] Configure Mailcow Web UI |
|
|
|
|
- [ ] Configure Mailcow Multi Domain (geonet.co.id, gegeo.my.id) |
|
|
|
|
- [ ] Configure Mailcow Docker |
|
|
|
|
- [ ] Configure Mailcow Enterprise |
|
|
|
|
- [ ] Configure Mailcow Nilai |
|
|
|
|
- [ ] Configure Mailcow LDAP (10.100.1.40) |
|
|
|
|
|
|
|
|
|
## Install Thunderbird |
|
|
|
|
- [ ] Install Thunderbird |
|
|
|
|
- [ ] Configure Thunderbird |
|
|
|
|
- [ ] Configure Thunderbird for geonet.co.id |
|
|
|
|
- [ ] Configure Thunderbird for gegeo.my.id |
|
|
|
|
- [ ] Move Inbox from main geonet.co.id to geonet for mail server |
|
|
|
|
- [ ] save imap and pop3 file Thunderbird di NAS : untuk meringankan vm dan memastikan file tidak hilang |
|
|
|
|
|
|
|
|
|
# Mikrotik |
|
|
|
|
- [ ] Setup PPP login via LDAP |
|
|
|
|
|
|
|
|
|
# Windows Server 2012 R2 Active Directory |
|
|
|
|
- [ ] Setup LDAP SSO |
|
|
|
|
- [ ] Setup LDAP SAML |