Modül kontrol listesi
Hazırlık
- Kaynak kodun sahibi ve lisansı belli (üçüncü taraf/müşteri kodu karışmamış).
- Kullanılabilecek mevcut modüller ayrıldı (Pages, Menu, Media, Seo, Widget, VisitorStats, Field API).
- Kaynak sistemdeki güvenlik zayıflıkları listelendi; taşınmıyor, yetki katmanıyla kapatılıyor.
İskelet
-
module.json(sürüm,core_version, bağımlılıklar) - Migration:
Resources/migrations/00N_*.sql, idempotent - Yetkiler:
capabilities.yaml - Menü: AACP'de üst seviye öğe yok (Araçlar kuralı); Studio'da
#[CpAdminMenu] - Çeviriler (TR/EN)
- Kurulum ve kaldırma
Arayüz
- Yönetim formları gerçek widget'larla çizildi; hiçbir alan "boş" kalmadı (görsel, çoklu alan, medya seçici)
- Her yönetim ekranı giriş yapılarak gözle denendi (oluştur, düzenle, sil, doğrulama hatası)
- Dar ekran (telefon) denendi
- Modülün CSS ihtiyacı karşılanıyor (kendi CSS dosyası ya da Tailwind taraması)
- CSP: satır içi betikler nonce taşıyor
Güvenlik ve performans
- Anonim istek oturum açmıyor
- Kullanıcı girdisi çıktıda kaçışlanıyor; WAF muafiyeti gerekiyorsa dar ve belgelendi
- N+1 sorgu yok (özellikle Field API'li listelerde; liste ekranında sayaçlar tek
GROUP BYile) - İçerik üretiyorsa Rebuild sistemine bir
RebuilderInterfaceile bağlı; türetilmiş verisi yoksamodule.json'darebuild.exemptvar (cp:doctordenetler) - İçerik değişince önbellek temizleniyor
Yayın
- SEO, site haritası, arama sağlayıcısı
- Eski adresler için 301 haritası (taşıma ise)
- Yalnızca yeni yazılan testler çalıştırıldı
- Katalog metni güncel, mağazaya yayınlandı
- Modülün belgesi Belgeler modülünde yazıldı