Konu Başlıkları
Yükleniyor...

Joomla'yı Ne Zaman Seçmeli, Ne Zaman Bırakmalı

Joomla Kararı: Yetki Katmanı ve Çok Dillilik Karşılığında Küçük Ekosistem

Joomla açık kaynak bir içerik yönetim sistemi ve kurulumu yarım saatlik iş. Asıl soru kurmak değil, hangi projede karşılığını verdiği. Kısa cevap: yetki seviyeleri ve çok dillilik kutudan çıkıyorsa kazandırır, eklenti ekosisteminin küçüklüğü ise faturayı ilk büyük özelleştirmede keser.

Joomla neyi farklı yapıyor

WordPress'te bir siteyi tema ve eklenti ikilisiyle kurarsınız. Joomla dört ayrı katman tanımlar: component (sayfanın ana içeriğini üreten uygulama), module (yan alanlarda görünen parçalar), plugin (olay tetiklendiğinde araya giren kod) ve template (çıktının biçimi). Bu ayrım ilk gün fazladan yük gibi görünür; sonrasında büyük sitede neyin nereyi bozduğunu bulmayı kolaylaştırır, çünkü hata bir katmanda kalır.

İki özellik de çekirdekte hazır gelir ve rakiplerinde eklenti işidir. Birincisi erişim seviyeleri: kullanıcı grupları ve görüntüleme izinleri Joomla'nın kendi parçası, üyeye açık ama misafire kapalı bir bölüm kurmak için üçüncü parti bir şeye ihtiyacınız yok. İkincisi çok dillilik: içerik dilleri ve içerikler arası dil eşleştirmesi yine çekirdekte. Kurumsal bir sitede iki dil ve üç yetki seviyesi varsa, Joomla bu iki maddeyi tek başına karşılıyor demektir.

Küçük ekosistem: aynı olgunun iki yüzü

Joomla hakkında sık okunan iki cümle var ve aslında ikisi tek bir gerçeğin farklı adları. Birincisi "özelleştirmesi güçlü", ikincisi "eklenti sayısı az, özel geliştirme gerekir". Eklenti azlığı yüzünden kendi kodunuzu yazıyorsunuz; sonuç olarak da her şeyi istediğiniz gibi kurgulamış oluyorsunuz. Yani bu bir avantaj listesi maddesi değil, bir maliyet kalemi. Bütçeyi ona göre kurun: WordPress'te otuz dolarlık eklentiyle kapatılan bir ihtiyacın Joomla karşılığı, çoğu zaman birkaç günlük geliştirme.

İçinde iş mantığı olan özel bir ihtiyacı genelde küçük bir component olarak yazarım, plugin'e sıkıştırmam. Plugin bir olaya bağlı çalışır, MVC'si ve kendi yönlendirmesi yoktur; işi büyüdükçe kod başkasının hayat döngüsüne asılı kalır ve sürüm geçişinde ilk kırılan o olur.

Sürüm geçişi asıl risk

Joomla'nın 3'ten 4'e geçişi büyük bir mimari değişiklikti ve üçüncü parti uzantıların ciddi bölümü doğrudan taşınmadı. Üstelik uzantı yazarının uyumlu sürüm çıkarması sizin takviminize bağlı değil. Bu yüzden Joomla ile kurulan bir sitede bakım planı, kullandığınız uzantı sayısıyla doğru orantılı bir borçtur.

Pratik kural: canlıya çıkmadan önce sitenin bağımlı olduğu ticari uzantıları listeleyin ve her birinin son güncelleme tarihine bakın. İki yıldır güncellenmemiş bir uzantı, bir sonraki majör sürümde sizin projeniz olacak.

"Binlerce sayfada yavaşlar" doğru değil

Joomla'nın büyük sitelerde performans sorunu çıkardığı sık tekrarlanır ama sayfa sayısıyla kurulan bu bağ yanlış. Yavaşlığı belirleyen şey içerik adedi değil, tek istek başına atılan sorgu sayısı ve render edilen modül miktarı. Her sayfada çalışan on modül, listeleme sayfasında sorgu tekrarlayan bir uzantı, önbelleği kapalı bir kurulum: yük buradan gelir.

Yapılacak iş de belli. Joomla'nın kendi önbellek katmanını açın (modül düzeyinde önbellek dahil), sık değişmeyen modülleri uzun süreli önbelleğe alın, sorgu sayısını Joomla'nın debug çıktısından ölçün. Ölçmeden "CMS ağır" demek, sorunu bulmayı erteler.

Karar

Joomla'yı üç durumda seçmeye değer: çok dilli bir kurumsal site, içerik erişiminin gruplara göre ayrıldığı bir yapı, ve kendi kodunuzu yazacak bir geliştirici kaynağınızın olduğu proje. Tanıtım sitesi, blog ya da hızlı çıkması gereken küçük iş sitesi için mantıklı bir seçim değil; orada Joomla'nın kutudan verdiği şeyleri zaten kullanmayacaksınız, karşılığında küçük ekosistemin maliyetini ödeyeceksiniz.

Ölçek büyüdükçe soru CMS seçiminden çıkıp bakım sahipliğine dönüşür. Siteyi kim güncelleyecek, uzantı kırıldığında kim müdahale edecek? Bu sorunun cevabı yoksa hangi CMS'i seçtiğinizin pek önemi kalmıyor.

Kaynak