Haberler

Joomla 5 Planlama Aşamasında

Joomla 5 Planlama Aşamasında

Harald Leithner ve Niels Braczek , şu anda planlama aşamasında olan Joomla 5 için ortak sürüm liderleridir. Bir üretim toplantısının sonunda onlara hem fikir hem de proje hakkındaki görüşlerini sormayı başardım (Philip Walton). Bu ortak girişim çok deneyimli iki geliştirici tarafından yürütülmektedir.

Harald: Joomla'ya katkıda bulunan diğer birçok kişi gibi Joomla'yı Mambo ile başlattım. Ancak uzun bir süre sadece bir kullanıcı olarak. Birkaç yıl önce bir Joomladay'e gittim ve topluluğa katıldım. Bu etkinlikten sonra, JSST'ye katılarak ve daha sonra 3.9.3 için sürüm lideri ve Üretim Departmanı Koordinatörü olarak çok hızlı bir şekilde çekirdeğe dahil oldum.

Niels: Joomla dünyasına girişim, Joomla 1.0'ın hemen önceki sürümü olan Mambo 4.6 ile oldu. Bu noktada, 25 yılı aşkın bir süredir çok çeşitli ortamlarda yazılım geliştiriyordum. Mambo, istendiğinde genişletilebilecek web sitelerini hızlı ve kolay bir şekilde oluşturmak için harika bir araçtı. Ancak, bazı şeyler oldukça olgunlaşmamış görünüyordu (bazıları $mainframe canavarını hatırlayabilir).

Geliştiriciler isyan edip Joomla'yı başlattığında Mambo uzantılarını kullanabilmesi gereken kendi CMS'imi yazmaya yeni başlamıştım. Joomla için planlar ve fikirler hakkında duyduklarım hedeflerimle örtüştü, bu yüzden kendi işimi yapmak yerine Joomla'ya katılmaya karar verdim.

Harald ve Niels, bana Joomla ile olan ilişkinizi anlatabilir misiniz, daha önce yayınlar üzerinde çalıştınız mı veya Joomla'nın yapısını planladınız mı? 

Harald: 3.9.3+ serisini 2 yıl boyunca sürdürmenin yanı sıra, şu anda olduğu gibi İş Akışı'na ve J4'ün diğer birçok yönüne dahil oldum. Ancak asıl çalışma alanım, CMS ve çerçevenin istikrarını korumaktır. Geriye dönük uyumluluk kesintilerini önlemek, performans ve güvenliğe bakmak, test altyapısı üzerinde çalışmak gibi şeyler.

Niels: Joomla 4'ün Atina'daki başlangıç etkinliğinde Joomla hakkındaki fikirlerimi olması gerektiği gibi sunma fırsatı buldum. Çekirdek, girdi ve çıktının işlemeden ayrılmasıydı, böylece "içerik" web ile sınırlı kalmayacaktı, ancak tüm olası kanallara sunulabilecekti. Ek olarak, erişim kontrolü, etiketler, iş akışı vb. gibi belirli hizmetlerin ek kod olmadan tüm bileşenler için kullanılabilir olmasını sağlaması beklenen "ortogonal mimari" vardı.

Bazı insanlar bunun açtığı olasılıklar konusunda heyecanlandılar, bazıları ise bu tür köklü değişikliklere şiddetle direndi. Sonunda, Joomla 4'ün küçük adımlarla geliştirilmesine ve yeni konseptin yol gösterici bir deniz feneri projesi olan "Joomla X" olarak değerlendirilmesine karar verildi.

Joomla X için tasarladığımız şeylerin çoğu sonunda Joomla 4'e girdi. Ancak, yeni mimariye karşı devam eden direnç nedeniyle Joomla X Ekibi, Yazılım Mimarisi ve Strateji Ekibi (SA&S) haline geldi ve odağı kavramsal sağlamaktan değiştirdi. Geliştiricilere mimari kod konusunda tavsiyelerde bulunmak için. Joomla X gibi SA&S benim liderliğim altında.

J5 için vizyonlarınızı, neyi içermesi gerektiğini, neyi içermemesi gerektiğini, hangi yöne gittiğini gerçekten bilmek isterim.

Harald: Joomla 5.0 sürümü için, kullanımdan kaldırılmış olarak işaretlenmiş tüm işlev ve davranışların eksiksiz bir şekilde temizlenmesini istiyorum. Joomla gibi bir yazılım projesinin ömrü boyunca! Özellikler eklenir ve kod tabanı daha karmaşık ve sürdürülemez hale gelir. Joomla 4.0 ile, geleceğe daha dayanıklı bir mimari güncellememiz var. Ayrıca Joomla için ab/c katmanı da tanıtıldı. 5.0 ile kaldırılması planlanan 3 uzantı. Ayrıca, yeni olay sistemi, doğrulama da dahil olmak üzere iyi tanımlanmış olaylarla eskisini tamamen değiştirmelidir.

CMS'nin geliştirilmesi için CMS tarafından PHP 8.1 fiber desteğini söylemek istiyorum, bu nedenle Revolt veya daha derin React PHP desteği Joomla 5.0'da görmek istediğim özelliklerden biri olurdu!

Öte yandan, kağıt üzerinde kulağa hoş gelen ancak Joomla b/c için, iyi bir neden veya çoklu dolgu bulunamazsa, onu kaldırmaktan daha önemlidir.

Niels: Şu anda sadece kişisel fikirlerimden bahsedebilirim çünkü Joomla 5'in kapsamı hakkında nihai bir karar verilmedi.

Eski yüklerden kurtulmanın gerekli olduğuna şüphe yok - yeni bir ana sürümün gerçek amacı budur. Tam geriye dönük uyumluluk olsaydı 5.0'a gerek kalmazdı, o zaman 4.x yeterli olurdu. Bu nedenle, PHP 8.1'in sunduğu büyüleyici olanaklardan da tam olarak yararlanabiliriz.

Yazılım geliştirmede, SOLID ilkeleri olarak adlandırılan, yazılımın sürdürülebilirliğini, genişletilebilirliğini ve sağlamlığını artırmayı amaçlayan bir dizi genel kabul görmüş ilke vardır. Bu ilkeler, farklı endişelerin mümkün olan en katı şekilde ayrılmasını ve arayüzlere bağımlılıkların kısıtlanmasını önerir. Teknik olmayan terimlerle, bu, herhangi bir işlevin, bir bütün olarak sistem için sorun yaratmadan benzer veya farklı bir işlevle eklenebileceği veya değiştirilebileceği anlamına gelir. Joomla'nın geleceğe uygun olması için bu ilkelere bağlılığın vazgeçilmez olduğunu düşünüyorum.

Eklentiler, Joomla'ya yeni işlevler eklemenin basit ve önemli bir yoludur. Ancak, eklentileri ele almak için kullanılan her olay, sistemin geri kalanıyla iletişim kurmak için kendi yöntemlerini kullanır. Geliştiricilerin yeni olaylarla ne yapacaklarını hemen bilmeleri ve bu alanda otomasyonu etkinleştirmeleri için bunu standart hale getirmek istiyorum. Örneğin standardizasyon ile, son kullanıcıların düşük kodlu bir düzenleyicide kendi eklentilerini bir araya getirebilecekleri bir uzantı düşünülebilir.

Joomla ve uzantıların komut satırı üzerinden kolayca kurulabilmesi ve güncellenebilmesi için yükleme işleminin revize edilmesi gerekir. İdeal olarak, bunun için bağımlılıkları çözebilen ve doğru paketleri sağlayabilen bir araç olan Composer kullanıyoruz. Bu, uzantı geliştiricilerine, çakışmaları tetiklemeden üçüncü taraf kitaplıkları dahil etmenin kolay bir yolunu sunar. Ayrıca barındırma sağlayıcılarının Joomla'yı kontrol panellerinden yüklemelerine izin verir. Site oluşturucular, eksiksiz bir kurulumu tek bir JSON dosyasında tanımlayabilir ve bunu tek bir CLI komutuyla kurabilir.

Joomla'nın başsız bir CMS'ye yönelik gelişimi ilerletilmelidir. Web API'sini geliştirerek ve CMS ile çıktı kanallarını ayırarak, site oluşturucular için tamamen yeni olanaklar açılıyor. API uç noktaları ve CLI komutları, mümkün olduğunca otomatik olarak oluşturulmalıdır. Bunun en büyük avantajlarından biri, bir sayfa önbelleği oluşturma, yani doğrudan web sunucusu tarafından sunulabilen önceden oluşturulmuş sayfaları depolama ve istek üzerine dinamik içeriklerini API çağrısı yoluyla yükleme olasılığıdır.

Başta da belirtildiği gibi, Joomla 5 doğal olarak Joomla 4 ile tam olarak geriye dönük uyumlu olmayacaktır. Mümkün olduğunda, ileriye uyumlu hale getirmek için öncekine alternatif olarak Joomla 4'te zaten bulunan mimaride değişiklikler sunacağız. Bu nedenle, uzantı geliştiricileri için Joomla 5'te gerekli ayarlamalar erken bir aşamada mümkün olmalıdır. Ayrıca, geliştiricilerin uzantılarını Joomla 5'i mümkün olduğunca erken uyumlu hale getirmelerini desteklemek için program kodunu kural odaklı bir şekilde yeniden oluşturabilen bir araç olan Rector'u kullanmak istiyorum.

Bunlar Joomla 5'te görmek istediğim en önemli şeyler. Ayrıca iyileştirilebilecek yığınla küçük şey veya onu gerçekten harika bir özellik haline getirmek için yalnızca küçük bir şeyin eksik olduğu yerler var. Ancak, hepsini burada listelemek bu makalenin kapsamını aşacaktır.

Birlikte nasıl çalışmayı planlıyorsunuz, ikiniz de aynı alanlarda mı çalışıyorsunuz yoksa görevleri mi böleceksiniz ve öyleyse kim hangi görevlerden sorumlu olacak? 

Harald: Bunun nasıl işleyeceği hakkında konuşmadık ama bence biz tamamen farklı karakterlere ve farklı odaklara sahibiz. Bu yüzden Niels'in geliştirme döngüsüne ve koda yapı getirmeye çalışacağını düşünüyorum ve ben de bunu sona erdirmeye çalışacağım. Niels, mimarlık ve mükemmel bir dünyada her şeyin nasıl olabileceği konusunda derin bilgiye sahip ve bu gerçekten harika. Elimden geldiğince ona bu konuda destek olmaya çalışacağım ve temizlik koordinasyonu gibi sıkıcı işleri yapacağım.

Bu sürüm için 2 yayın liderimizin olmasının nedenlerinden biri, bir sonraki ana sürüm için 5 yıl daha harcamak istemememizdir. Joomla 4.0 ve Joomla 5.0'ın zaman çizelgesini yakalayabileceğime eminim.

Öte yandan, Joomla'dan yalnızca biz sorumlu değiliz! 5.0 sürümünde, arkamızda CMS Sürüm Ekibi ve CMS Bakım Ekibi var, bu nedenle diğer tüm bakımcılarla koordineli olarak çalışıyoruz ve Sürüm Ekibiyle konuşmaya devam ediyoruz.

Niels: Bu iyi bir soru! Henüz bunun hakkında gerçekten konuşmadık.

Harald'ı kendisine yöneltilen sorunları basitçe çözen pragmatik bir kişi olarak tanıdım. Tahminime göre, merkezi şimdi ve burada, mevcut sorunlara odaklanıyor, ancak olasılıklar ufkunu gözden kaçırmıyor. Benim doğam biraz farklıdır (gündelik yaşamda kendimi pragmatik olmaya mecbur bıraksam ve zorlasam bile). Her şeyden önce olasılıkları görüyorum ve onları gerçekleştirmenin yollarını arıyorum. Eğer buna sahip olsaydık, mevcut problemler ortadan kalkardı.

Bu nedenle Harald ve benim iyi bir takım olacağımıza inanıyorum. Elbette her birimizin öncelik vermek istediği veya vereceği bir odak noktası vardır. Sonunda, tekrar havalandığımda Harald'ın beni her zaman dünyaya geri getireceğini düşünüyorum. Öte yandan, uzun vadede faydalı olacağı için gereğinden fazla bir adım daha ileri gitmesi için onu teşvik edeceğim.

Ayrıca CMS Release Team ile geçmişte olduğundan daha yakın çalışmak istiyoruz.

Topluluktaki herkesten, J5 için fikir ve düşüncelerini duymakla ilgilendiğinizi anlıyorum. Sizinle iletişim kurmamızın en iyi yolu nedir ve herhangi bir fikrin dikkate alınması için zaman çerçevesi ne olurdu? 

Harald: Topluluk bizim için en önemli bilgi kaynağıdır, bu nedenle her türlü geri bildirimi, fikri ve dilekleri gerçekten takdir ediyoruz. Niels tarafından daha sonra açıklanacak bir RFC sürecimiz var ve elbette doğrudan VP veya Glip veya başka bir kanal üzerinden bizimle iletişime geçebilirsiniz. Fikrin kaynağına bağlı olarak, faydalar, sebepler, zorluklar, etki vb. gibi gerekli tüm bilgileri içermelidir. Zaman çizelgemiz gerçekten kısa, bu yüzden mümkün olan en kısa sürede bize geri dönmeniz memnuniyetle karşılanacaktır. 

Sadece geri bildirim memnuniyetle karşılanmakla kalmaz, aynı zamanda kod katkılarına da ihtiyaç vardır. Fikir sahibi olmak iyidir, ancak bunu uygulayabilecek birini getirmek gerçekten yardımcı olacaktır.

Niels: Ah evet, bu da bizim için çok önemli. Ürüne o kadar yakınız ki, gerçekte nerede eksik olduğunu her zaman göremiyoruz. Joomla, mümkün olduğu kadar çok uygulama senaryosunun ihtiyaçlarını karşılamak için tasarlanmış çok amaçlı bir CMS'dir. Bu nedenle modülerlik, esneklik ve genişletilebilirliğe çok önem veriyoruz. Yalnızca belirli endüstriler tarafından yapılan özel gereksinimler, uzantılar için ayrılmalıdır. Ancak bence tüm CMS kullanıcılarına yardımcı olan her şey öze aittir. İşte tam da bu noktada girdinize ihtiyacımız var.

Neyin öze ait olduğunu, nelerin eksik olduğunu veya nelerin değiştirilmesi gerektiğini düşündüğünüzü bize bildirin.

Bu amaçlar için bir RFC süreci oluşturduk. GitHub üzerinde işlemin nasıl kullanılacağına dair talimatlar var. Merak etmeyin, bu ilk bakışta olduğundan daha karmaşık görünüyor! Süreci başlatmak için sadece iki şeye ihtiyaç vardır: Neyle ilgili olduğunu açıklayan bir özet ve bunun neden bu kadar harika olduğuna ve kesinlikle entegre edilmesi gerektiğine dair bir gerekçe. Teklifiniz için GitHub yerine posta listesini kullanmak istiyorsanız, lütfen tekliflerinizi konu satırında [Joomla 5] ile işaretleyin.

Şubat 2023'ten önce bize ulaşan her şeyi düşünebiliriz. Ancak, uygulama için de belirli bir süre gerektiğinden, ne kadar erken olursa o kadar iyi.

Çekirdek ve uzantı geliştiricileri arasında yakın bir sinerji var.

Uzantı geliştiricilerine yardımcı olacak herhangi bir fikir ve öneri var mı? 

Harald: Uzantı geliştiricileri, CMS ekosisteminin önemli bir parçasıdır. Bu yüzden onlara mümkün olan en kısa sürede J5'teki değişiklikler için yönergeler vermek istiyoruz. Ayrıca, 4 ile 5 arasındaki bir uzantı için yükseltmenin de bu kadar kolay olduğundan emin olmak istiyoruz, örneğin, bir j4 uzantısının pek çok değişiklik yapılmadan j5 üzerinde çalıştırılması mümkün olmalıdır.

Niels: Esasen iki şey var: Birincisi, alfa sürümüyle birlikte, zaten tüm son değişiklikleri içeren bir sürümü erken kullanıma sunuyoruz. Geliştiriciler bu sürümü bize sorunları belirtmek için kullanırlarsa, yine de önlem alma olanağımız var. Bunu sadece serbest bırakma adayı ile yaparlarsa, gemi çoktan yola çıkmıştır. İkinci olarak, PHP'nin duyurularında yaptığına benzer şekilde, değişiklikleri eski ve yeni arasında bir karşılaştırma yaparak belgelemek istiyoruz.

Rektörü istediğim gibi kullanıp kullanamayacağımız maalesef henüz kesin değil.

Uzantı geliştiricilerinin yapabileceği, çekirdeğe yardımcı olacak herhangi bir şey var mı? Alfa ve beta sürümlerinde daha fazla test, geri bildirim sorunlarına ve sorunlara temelden yardımcı olur mu? 

Harald: Evet! Uzantı geliştiricileri genellikle CMS'yi bizden daha iyi bilir. Bu yüzden her şekilde yardım gerçekten takdir edilecektir. Örneğin, mümkün olan en kısa sürede test etmeye başlayın veya geliştirme süresine katkıda bulunun çok güzel olur. 

Niels: Kesinlikle! Geliştiricilerden ne kadar erken geri bildirim alırsak, ihtiyaçlarını o kadar iyi dikkate alabiliriz. Tabii ki, uzatma geliştiricileri geliştirme için insan gücü sağlayabilseydi, çok mutlu olurduk. Her zaman yapacak çok şey ve çok az el vardır.

Joomla 4, yaratılışında bir süreydi. Joomla 5 için umudunuz nedir ve gerçekçi ve ulaşılabilir olduğunu düşündüğünüz zaman ölçeği nedir? Görüyorum ki J4.1 şimdiye kadar zaman açısından sıkı bir şekilde kontrol edildi, J4.0'dan 6 ay sonra çıkması planlandı, sizce büyük bir sürüm için bu kadar katı ve güvenilir bir sürüm planı mümkün mü? 

Harald: Daha önce de belirtildiği gibi, bu benim hedeflerimden biri. J4'ün uzun geliştirme süresi topluluk için büyük bir sorundu ve sonunda Joomla'nın doğum gününde yayınladığımız için mutluyum. Joomla için 4 - 6 aylık bir sürüm döngüsüne geçtik, yani her 6 ayda bir küçük sürüm yayınlıyoruz. Buna dayanarak Joomla 5.0, 17 Ağustos 2023. Joomla 5'in geliştirilmesine başlar başlamaz, tüm kilometre taşlarının yayın yol haritasını oluşturacağız!

Niels: Temelde iki tür sürüm planı vardır: özellik tabanlı veya zaman sınırlamalı. Zaman sınırlamalı yayınları dayatan bir politika kararımız var. Bu nedenle, oyunun kuralları daha önce değişmedikçe, Joomla 5 17 Ağustos 2023'te piyasaya sürülecek. Sürüm liderleri olarak bizim için bu, tüm mimari değişiklikleri ilk alfa sürümüne kadar tamamlamamız gerektiği anlamına geliyor. Bundan sonra, mimaride daha fazla değişiklik yapılamaz. Buna paralel olarak, beta aşaması başladığında tamamlanması gereken özellikler geliştirilecektir. O andan itibaren, yalnızca hatalar giderilecektir. O zamana kadar tamamlanmayan her şey bir sonraki sürüm için beklemek zorunda kalacak. Alfa ve beta aşamaları için burada süreler verilemez, henüz kesinleşmemiştir. Ayrıntılar için yol haritasına dikkat edin.

Size J5'te ne görmek istediğimizi söylemekten başka, nasıl yardımcı olabiliriz? 

Harald: Alabileceğimiz her türlü yardımı alıyoruz. Joomla %100 topluluk odaklı bir CMS'dir ve her bir topluluk üyesinin katılımına ihtiyaç duyar. Bu nedenle, kodlama yapmaktan, belge yazmaktan, altyapımızı desteklemekten, cms'yi test etmekten, “gerçek dünyaya” dayalı geri bildirim sağlamaktan hoşlanıyorsanız veya sadece herkese hoş geldiniz demek için teşekkür etmek istiyorsanız.

Niels: Her zaman eksik olan üç şey vardır: Giriş, geri bildirim ve eller. Joomla'ya yardım etmek istiyorsanız ve programlayabiliyorsanız, uygulamada bize yardımcı olun. Joomla'ya yardım etmek istiyorsanız ve yazabiliyorsanız, belgelerle bize yardımcı olun. Joomla'ya yardım etmek istiyorsanız ve iletişim kurabiliyorsanız, mesajı vermemize yardımcı olun. Joomla'ya yardım etmek istiyorsanız ve yukarıdakiler size uygun değilse, Gönüllü Katılım Ekibi ile iletişime geçin - onlar sizin için bir yer bulacaktır!

Teşekkürler, Harald ve Niels.

Lütfen topluluk e-postaları aracılığıyla onlarla iletişime geçin veya fikirlerinizi ve yorumlarınızı GitHub tartışmalarına ekleyin. Bu, aktif bir topluluk tarafından daha da güçlendirilen bir topluluk projesidir. 

Kaynak: Joomla.org - Philip Walton

Önerilen Makaleler

Her hafta ilham alın

En son Joomla haberleri hakkında hiçbir bilgiyi kaçırmamak için bültenimize abone olun.