From fc73a62a345066c41c905458bf344bdb6ac5d292 Mon Sep 17 00:00:00 2001 From: rbsetiawan Date: Mon, 29 Jun 2026 10:10:53 +0700 Subject: [PATCH] docs: tambah tugas Ticketing Microservice (Zammad) ke backlog --- backlog.md | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 backlog.md diff --git a/backlog.md b/backlog.md new file mode 100644 index 0000000..2f31fcb --- /dev/null +++ b/backlog.md @@ -0,0 +1,135 @@ +# ADR — Standar Dialog Preview / Edit (UI Pattern) + +## Aturan Wajib +- Semua dialog preview/edit WAJIB menggunakan `` 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 `` dari `@/components/ui/tabs` +- Info 2-kolom: `grid grid-cols-[160px_1fr]` untuk label–value + +## Referensi Implementasi +- `src/app/(app)/profile/page.tsx` — `` 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