Joomla Üretim Departmanı, Joomla 5.0 için düşüncelerini, fikirlerini, zorluklarını ve planlarını paylaşıyor.
Karşılaştığımız Zorluklar Nelerdir?
Dürüst olalım, her iki yılda bir yeni, büyük bir sürüme sahip olmak kulağa korkutucu geliyor. Geçmişte, taşıma ve güncellemeler konusunda her zaman hedefimize ulaşamadık. Nedenler çok çeşitliydi. Uzun geliştirme aşaması, mevcut ana sürüm ile gelecek sürüm arasında büyük bir boşluğa yol açtı. Ve teknoloji sürekli değiştiği için, herhangi bir büyük zaman dilimi, çok sayıda teknolojik değişikliğin dikkate alınması gerektiği anlamına gelir ve bu da daha büyük bir göç engelini beraberinde getirir.
Bitirme süresinin azaltılmasının faydalarının yanı sıra bazı olumsuz yönleri de vardır. Bir yandan, yeni teknolojilere daha kolay tepki verebiliyoruz, böylece değişiklikler çok büyük olmayacak. Yeni ana sürüm çok uzun bırakılırsa, geçiş neredeyse eksiksiz bir yeniden oluşturma işlemine yol açar.
Öte yandan, daha hızlı teknoloji güncellemeleri, uzantı ve şablon geliştiricilerine zorluklar getiriyor. Joomla mimarisindeki değişikliklerden haberdar olmanın bazen acı verici olduğunun tamamen farkındayız, kullanımdan kaldırılan işlevlerden ve sınıflardan kurtulmak için kodun düzenli olarak yeniden düzenlenmesini gerektiriyordu.
Mükemmel bir zaman çerçevesi yoktur. Herkese yardımcı olacak bir Goldilocks yayın süresi yoktur, her zaman kazananlar ve kaybedenler vardır ve acı her zaman yapım sürecinin bir bölümünde ya da diğerinde yatacaktır.
Bazı değişiklikler de ilk bakışta biraz şüpheli görünüyor. Örneğin, neden Joomla\Cms\Factory sınıfının çoğu kullanımdan kaldırılmıştır ve Joomla 5 ile kaldırılmaları gerekir mi? 11 yıl boyunca bir cazibe gibi çalıştı; neden şimdi kötü bir uygulama haline gelsin?
Harika, genişletilebilir, geleceğe yönelik ve bakımı yapılabilir ürünümüzün sevkiyatından sorumlu farklı ekiplerde bu tür düşüncelere sahibiz. Ama zorlukları tek tek aşalım.
Güzel Haberler
Gelecek hakkında konuşmaya başlamadan önce, Joomla 4 ile nerede olduğumuza bir göz atalım. Yaklaşık yedi yıllık geliştirme sürecinin ardından nihayet Joomla'nın yeni bir ana sürümünü piyasaya sürdük. Ve Joomla 4 gerçekten harika bir yazılım parçası. Joomla 4 yöntemiyle bir bileşen oluşturmak, Joomla 3'e kıyasla çok daha az kod gerektirir. SQL enjeksiyonlarına karşı koruma sağlamak için hazırlanan ifadeler de dahil olmak üzere birçok değişiklikle güvenlik artırıldı.
Erişilebilirlik sıçramalar ve sınırlar haline geldi ve harika özellikler her zaman büyüyor, iş akışları, zamanlayıcı, alt şablonlar ve liste büyüyor.
Ayrıca, birçok insanın boş alanları doldurmak için adım attığı topluluk açısından çok daha iyi bir durumdayız. Ekipler büyüyor ve GitHub'da olduğu kadar topluluk kanallarında da olumlu bir hava var. Her zaman daha iyi yapabileceğimiz şeyler vardır, ancak bu denemekten yoksun değil ve pazar payımızdaki düşüş yavaşladı, durdu ve yazının yazıldığı an itibariyle W3Tech grafiğinde çok hafif bir büyüme gösteriyor ve diğer kaynaklar gösteriyor ki daha belirgin artış. Başarı için net bir stratejimiz var, sadece bunun üzerine inşa etmemiz gerekiyor.
Joomla 5.0 İçin Planlarınız Neler?
Joomla 5.0'ın en önemli "özelliği", kullanımdan kaldırılmış kodu kaldırmaktır. Bu, Joomla'yı geleceğe hazır hale getirir. Kodun farklı alanlarını birleştirerek bakım çabasını büyük ölçüde azaltacağız. Ek olarak, yazma testleri gelecekte çok daha kolay ve daha güvenilir olacaktır.
Bize kod kalitelerini ve güvenliklerini artıran 3. taraf geliştiricileri destekleme imkanı veren bir kod yapısına sahip olmak istiyoruz. Joomla çekirdek standardını takip ettiğiniz için kodunuzun otomatik olarak test kapsamına alındığını hayal edin; geleceğin vizyonu budur. En önemlisi, tüm ekosistemde yaygın olarak kullanılan, kullanımdan kaldırılmış Joomla\Cms\Factory yöntemlerinin zorluklarını biliyoruz. Şu anda bir çözüme sahip olacağımızdan emin olma sürecindeyiz, bu nedenle bunu kullanan uzantılar Joomla 5.0'da kullanılamaz.
Joomla 5.0 ile minimum PHP sürümünü 8.1'e çıkaracağız. Bu değişikliği yapmak bize birçok fayda sağlayacak ve pazarda rekabetçi kalmamıza yardımcı olacaktır.
PHP 8.1, Joomla için muazzam bir performans iyileştirmesi getiriyor. Yan etkisi şudur: Daha yeni bir PHP sürümü kullanıyoruz, çok yakında kullanım ömrü sona ermek üzere değil. Bu, lifler, olay döngüleri ve diğer performans artırıcı özelliklerin kullanılması gibi sonraki Joomla sürümlerinde sonraki adımları atmamızı sağlar.
İşlevsel olarak bazı faydalar sağlamak istiyoruz. Joomla 4 için çoklu etki alanı işlevselliğini planladık, ancak tüm gereksinimleri değerlendirdikten sonra, başka fikirler ortaya çıktıkça bu özelliği daha sonraki bir sürüme taşımaya karar verdik ve iyi çalışması gerektiği için acele etmek istemedik. Şimdi Joomla 5.0 ile zaman doğru olabilir ve kod bu özelliği çekirdeğe getirecek kadar olgun olabilir.
Ayrıca içerik düzenlemenin geleceği hakkında aktif bir tartışma içindeyiz. Gutenberg gibi blok düzenleyiciler, içerik düzenleme çalışması yapmanın yeni bir yoludur. Test etmek ve Joomla için doğru olup olmadığını görmek istiyoruz. Bu, elbette, bize yardım etmek isteyen gönüllülerin sayısına bağlıdır.
Herhangi bir şekilde CSS/şablon ile ilgili olan her şeyin temel yerleşimlerden Cassiopeia'ya taşınması planlanmıştır. Cassiopeia (veya belki de yeni bir şablon), Bootstrap tabanlı bir üst şablon olarak hizmet eder ve daha sonra alt şablonlar aracılığıyla özelleştirilebilir. Bu, Tailwind veya UIKit gibi diğer çerçevelere dayalı ek üst şablonlar oluşturmayı mümkün kılar. Bunu uygulayacak biri bulunursa, böyle bir alternatif şablonu Joomla 5'e entegre etmek istiyoruz.
Yeni bir ana versiyon için tipik olduğu gibi, iyileştirmelerin çoğu yüzeyde görünmez, daha çok kaputun altında bulunur. Bu, giderek farklılaşan MySQL ve MariaDB için veritabanı sürücülerini ayırmayı içerir. Ayrı sürücüler, ilgili Veritabanı Yönetim Sistemlerini (DBMS) mümkün olan en iyi şekilde desteklememizi sağlar. Ayrıca veri tabanı bağlantılarını tercihen soketler üzerinden gerçekleştirmek istiyoruz ki bu da hız artışı sağlıyor.
Ortak tablo ifadeleri olarak adlandırılan - artık Joomla tarafından desteklenen tüm veritabanları tarafından sunulan bir özellik - erişim haklarını, kategorileri ve menüleri daha performanslı hale getirmemize izin veriyor çünkü karmaşık iç içe küme uygulaması olmadan yapabiliriz. Okuma erişimleri bununla hızlandırılmaz, ancak yazma erişiminde önemli bir gelişme bekliyoruz.
Sonraki Adımlar Nelerdir?
Şu anda iki ana şey üzerinde çalışıyoruz: geliştirici belgeleri ve Joomla CMS'deki tüm kullanımdan kaldırılmış sınıfların ve işlevlerin değerlendirilmesi. Joomla 4.3'ün piyasaya sürülmesiyle birlikte, Joomla'daki tüm kullanımdan kaldırılmış kodların gözden geçirilmesini istiyoruz. Bu inceleme iki şeyden birine yol açacaktır:
- Ya kullanımdan kaldırma kaldırılır ya da
- Bir açıklama ve tam kod örnekleri, bu kodun kullanımının nasıl taşınacağına ilişkin bir kod yorumu olarak sağlanır.
Ek olarak, bir Joomla 3 uzantısının nasıl geçirilebileceğini ve daha sonra Joomla 5 ile uyumlu olan Joomla 4 ile nasıl tam uyumlu hale getirilebileceğini açıklayan geliştirici geçiş belgelerinin tamamı hazır olmalıdır.
Joomla 4.4'ün yayınlanması için Joomla CMS'deki kullanımdan kaldırılan tüm kodların kullanımını kaldırmayı planlıyoruz. Böylece Joomla CMS, kodun nasıl yazılması gerektiğine dair en iyi uygulama olarak görülebilir.
Son olarak, Joomla 5.0 RC1 sürümü için, kullanımdan kaldırılan kodun otomatik olarak yeniden yazılmasını desteklemek üzere tam bir düzenleyici kurallar seti oluşturmayı planlıyoruz. Bunu başarmak için, CMS'de kullanımdan kaldırılmış kodun hala kullanıldığı yerleri manuel olarak ayarlamayacağız, ancak değişiklikleri yapmak için ilgili Rektör kurallarını yazacağız. Bu kurallar daha sonra uzantı geliştiricilerinin bileşenlerini, modüllerini ve eklentilerini Joomla\Cms\Factory kullanımdan kaldırmaları için otomatik yeniden düzenleme de dahil olmak üzere tek bir komut satırı çağrısıyla Joomla 5'e uyarlamaları için kullanılabilir. JED denetleyicisini, üçüncü taraf uzantılardaki kullanımdan kaldırılmış kod hakkında geri bildirim verebilecek şekilde geliştirmeyi umuyoruz.
Bu arada, çoklu alan adı gibi yeni özellikler için tam geliştirme modundayız. Değerli bir özelliğe katkıda bulunabileceğinizi düşünüyorsanız, normal kanallardan bize ulaşmaktan çekinmeyin ve herkesin yararına entegre etmenin mümkün olup olmadığını göreceğiz.
Başlangıçta sorulan soruyu yanıtlamak için: Joomla'nın geleceği için birçok önemli değişiklikle 5.0'ı zamanında hazırlama konusunda çok olumluyuz, ancak SİZE bağımlıyız. Kodlama gücünüze, test becerilerinize, yazma ve grafik sanatınıza ve sunabileceğiniz tüm yardıma ihtiyacımız var.
Kaynak: Joomla.org