Teknik

Flarum Support Tickets: HESK Tarzı Destek Talep Sistemi

Özel destek talepleri, departman yönlendirmesi, özel form alanları, dosya ekleri ve bildirimlerle HESK tarzı destek merkezi.

Flarum destek talep merkezi

Forumlarda destek taleplerini herkese açık konular üzerinden yürütmek çoğu zaman sorun çıkarır. Kullanıcı hesap bilgilerini, sipariş numarasını veya özel bir sorununu herkesin görebileceği bir başlıkta paylaşmak istemez. Destek ekibi de aynı talebi birden fazla konuda takip etmek zorunda kalır.

Flarum Support Tickets, bu ihtiyaç için geliştirdiğim HESK tarzı bir destek talep sistemi. Kullanıcılar özel talepler açıyor, destek ekibi talepleri departmanlara göre yönetiyor ve tüm süreç Flarum’un kendi yetki, bildirim ve metin biçimlendirme altyapısı üzerinde çalışıyor.

Öne çıkan özellikler

  • Özel talepler: Bir talebi yalnızca sahibi ve gerekli yetkiye sahip destek ekibi görebiliyor.
  • Departmanlar: Destek ekibini departmanlara ayırma, üye seçici ile ekip oluşturma ve kategorileri departmanlara bağlama.
  • Kategoriler: Yönetim panelinden oluşturma, düzenleme, sıralama, aktif/pasif yapma ve departman bağlama.
  • Özel form alanları: Metin, uzun metin, sayı, e-posta, URL, tarih, seçim, radyo ve onay kutusu tiplerinde HESK tarzı alanlar.
  • Öncelik ve durum: Düşük, orta, yüksek, kritik öncelikleri; yeni, yanıtlandı, bekliyor, çözüldü ve kapalı durumları.
  • Personel atama: Talebi bir ekip üyesine atama veya otomatik atama.
  • Okunabilir URL’ler: /support/18/ses-ve-mikrofon-sorunu gibi Türkçe karakterlere duyarlı bağlantılar.
  • Dosya ekleri: Özel depolama ve yetkili indirme; görseller talep içinde satır içi görüntüleniyor.
  • Bildirimler: Forum içi uyarılar, isteğe bağlı e-posta ve FoF PWA web push bağlantıları.
  • Misafir dostu destek merkezi: Giriş yapmamış kullanıcılar /support sayfasında net bir davet görüyor; giriş ve kayıt butonları Flarum’un standart modallerini açıyor.
  • Yenilenmiş arayüz: Hero başlık, özet kartları, filtre sekmeleri, talep kartları ve sohbet tarzı talep görünümü; karanlık tema desteği.
  • Tam çeviri desteği: İngilizce ve Türkçe hazır; tüm metinler çevrilebilir.

Departmanlar ve talep yönlendirme

Destek ekibi büyüdükçe talepleri doğru kişiye yönlendirmek kritik hale geliyor. Departmanlar tam bu noktada devreye giriyor. Bir kategoriyi departmana bağladığınızda, o kategoride açılan yeni talep otomatik olarak departman üyelerinden en az açık talebi olana atanabiliyor. Bildirimler de tüm destek ekibine değil, yalnızca ilgili departmanın üyelerine ve atanan kişiye gidiyor.

Departman boşsa veya pasife alınmışsa talep genel destek ekibine geri düşüyor. Bir departman silindiğinde kategorileri önce bağlantıdan çıkarılıyor; böylece hiçbir talep sahipsiz kalmıyor.

Flarum destek talep detay görünümü
Sohbet tarzı talep görünümü, öncelik ve durum bilgileriyle birlikte.

HESK tarzı özel form alanları

Her destek ekibinin ihtiyacı farklı. Bu yüzden talep formuna yönetim panelinden kendi alanlarınızı ekleyebiliyorsunuz. Bir alanı genel olarak tüm kategorilere veya yalnızca belirli bir kategoriye tanımlayabiliyorsunuz. Alanların sırası, zorunluluk durumu ve aktifliği ayrı ayrı yönetiliyor.

Yanıtlar sunucu tarafında tipe göre doğrulanıyor: sayılar sayıya dönüştürülüyor, e-posta/URL/tarih formatları kontrol ediliyor, seçim yanıtları tanımlı liste ile karşılaştırılıyor. Geçersiz bir yanıt sessizce yutulmuyor; kullanıcıya okunabilir bir hata dönüyor. Sonradan silinen bir alanın eski taleplerdeki yanıtları görünür kalıyor.

Dosya ekleri ve güvenlik

Ekler storage/support-tickets/ altında, web’den erişilemeyen özel bir dizinde tutuluyor. İndirme işlemi /api/support/attachments/{filename} üzerinden ve yalnızca talebi görme yetkisi olan kullanıcılar tarafından yapılabiliyor. İzin verilen türler JPEG, PNG, GIF, WebP, PDF, düz metin ve ZIP; maksimum dosya boyutu 5 MB.

Yüklenen dosyanın gerçek içerik türü sunucu tarafında doğrulanıyor ve tehlikeli dosya adları reddediliyor. Dosyalar rastgele 40 karakterlik adlarla saklanıyor; böylece hazırlanmış bir dosya adı depolama dizininin dışına çıkamıyor. İndirme yanıtlarında nosniff, sandbox CSP ve özel önbellek başlıkları gönderiliyor. Yalnızca raster görseller satır içi gösteriliyor; diğer türler indirmeye zorlanıyor.

Talep ve yanıt erişimi yalnızca arayüzde değil, politika ve kaynak kapsamında sunucu tarafında da kontrol ediliyor. Kullanıcı kimliği her zaman oturumdan alınıyor; istemciden gelen kimlik bilgisine güvenilmiyor. Mesaj gövdesi 15.000 karakterle sınırlı.

Flarum destek talebi bildirimleri
Talep bildirimleri gönderen, işlem ve konu özetiyle birlikte görünüyor.

Kurulum

Eklenti Flarum 2.0, PHP 8.3 ve üzeri sürümlerle çalışıyor. MySQL/MariaDB yanında SQLite ve PostgreSQL ile de uyumlu. Derlenmiş frontend dosyaları paket içinde geldiği için kurulumda ayrıca build adımı gerekmiyor.

composer require cengizkemec/support-tickets
php flarum migrate
php flarum assets:publish
php flarum cache:clear

Ardından eklentiyi Yönetim → Eklentiler bölümünden etkinleştirin. İzinler Yönetim → İzinler altında:

  • support.viewAll: Tüm talepleri görme ve okuma (moderatörler için önerilir).
  • support.reply: Taleplere yanıt yazma; sahipler kendi açık taleplerine her zaman yanıt verebilir.
  • support.manage: Durum değiştirme, atama ve silme (moderatörler için önerilir).

Bu izinlere sahip olmayan kullanıcılar yalnızca kendi taleplerini görür ve yanıtlayabilir.

Bakım ve zamanlanmış görevler

Eklenti iki konsol komutu sağlıyor ve bunları Flarum’un zamanlayıcısına kaydediyor:

php flarum support-tickets:auto-close
php flarum support-tickets:purge-attachments

auto-close, belirlenen gün sayısı boyunca hareketsiz kalan talepleri kapatıyor. purge-attachments ise hiçbir talebe bağlı olmayan ekleri siliyor; 24 saatten yeni dosyalara dokunmuyor. Zamanlanmış görevlerin çalışması için sunucuda Flarum’un cron kaydının bulunması gerekiyor.

Sonuç

Flarum Support Tickets, forumun içinde ayrı bir destek masası açmadan profesyonel bir talep yönetimi kurmak isteyenler için tasarlandı. Özel talepler, departman yönlendirmesi, özel form alanları ve güvenli dosya ekleri tek bir eklentide birleşiyor.

Diğer Flarum eklentileri

ByLunaci
Yazar

ByLunaci

Teknoloji, seyahat ve dijital kültür üzerine yazıyorum.

Tüm yazıları gör

Yorum yaz

E-posta adresiniz yayımlanmaz. Zorunlu alanlar * ile işaretlidir.