Makale

Forum modülü: CPalius üzerinde tam bir topluluk paketi

CPalius Forum modülü bölüm ağacı, konu/mesaj denormalizasyonu, capability tabanlı moderasyon ve portal katkısı ile çekirdekten bağımsız bir topluluk paketidir.

· ZemoCA · 1 dk okuma
Forum modülü: CPalius üzerinde tam bir topluluk paketi

CPalius Forum modülü, çekirdeğin Node modelini kopyalamaz. Konu, mesaj, bölüm ve izinler kendi entity’lerinde yaşar; Studio’daki Forum masası da AACP’den ayrı durur. Amaç, WordPress tarzı “her şey yazı olsun” yaklaşımı değil, gerçek bir topluluk yazılımını CMF’ye birinci sınıf paket olarak yerleştirmektir.

Bölüm ağacı ve locale

Forum bölümleri division, category ve subcategory olarak katmanlanır. Her bölüm bir locale taşır; Türkçe ve İngilizce ağaçlar translation_group_id ile eşlenir. Böylece /tr/forum ile /en/forum aynı ürünü anlatır ama slugs, başlıklar ve son mesaj önizlemeleri dile göre ayrı kalır.

Konu, mesaj ve denormalizasyon

Bir konuda first_post_id, last_post_id, post_count ve last_poster_name tutulur. Bu alanlar “her listede JOIN” maliyetini keser. Beğeni, bildirim, okundu işareti, taslak, anket ve ek dosyalar ayrı tablolardadır; çekirdek Node JSON’una sıkıştırılmaz.

Moderasyon ve yetenekler

Kilit, birleştirme, taşıma ve satır içi işlemler ForumModerationService üzerinden yürür. Kod ROLE_ADMIN kontrol etmez; forum.moderate, forum.post.create gibi capability’ler capabilities.yaml ve voter ile çözülür. Ban guard, kötü niyetli isteği konu sayfasına gelmeden keser.

Portal ve arama

ForumPortalBlockDataProvider ana sayfaya son konuları basar. ForumSearchProvider site aramasına konu ve mesaj katar. contributions.yaml bu bağları tarif eder; çekirdeğe özel if bloğu yazılmaz.

Yedi aydır Forum, CPalius’un “modül ne kadar ileri gidebilir?” sorusunun cevabı oldu. Canlı sitede gördüğünüz bölümler, anketler ve masalar bu paketin kendisidir.

Yorumlar (0)

Henüz yorum yok. İlk yorumu sen yaz.

Yorum yaz

Yorumunuz yayınlanmadan önce incelenecektir.

İlgili Yazılar