Joomla 5 - Panta Rhei
Joomla Üretim Departmanı, son Joomla 5 makalesinin oluşturduğu tartışmaların sonucunu paylaşıyor.
Özet
Topluluktan gelen geri bildirimleri duyduk, Joomla 5 sürümü ve genel olarak sürüm döngüsü ile ilgili bazı kararlar aldık.
Başka bir şey okumadıysanız, işte bilmeniz gerekenler:
- Joomla 5, şablonlar ve üçüncü taraf uzantılar için son değişiklikleri içermeyecektir
- Joomla 4'te kullanımdan kaldırılmış olarak işaretlenmiş hiçbir kodu kaldırmaz
- Joomla 5, PHP 8.1'in minimum PHP sürümüne sahip olacaktır
- Joomla 4'te çalışan bileşenler, PHP 8.1'i destekledikleri sürece Joomla 5'te de çalışmalıdır
- Joomla 5, Ekim 2023'te piyasaya sürülecek. Yukarıdaki hususlar nedeniyle, önceki sürümler gibi büyük, sancılı bir güncelleme olmayacak
- Küçük sürümler 6 aylık bir programda kalacak, ancak tüm sürümler, Nisan 2023'teki 4.3 sürümünden başlayarak Nisan ve Ekim aylarına kaydırılacak
Bu kararların gerekçesi ve detayları hakkında daha fazla bilgi edinmek istiyorsanız okumaya devam edin.
Giriş
Joomla 5.0 Bir Yıl İçinde Hazır duyurusunun ardından geçen birkaç hafta içinde çok fazla tartışma oldu.
Joomla 5'i bir yıl içinde piyasaya sürmenin mümkün olup olmadığını soruluyor. Makale ilgiyi ve geri bildirimi teşvik etmek için tasarlandı ve Üretim Departmanı bu canlı fikir, istek ve geri bildirim alışverişini takdir ediyor. Üretim Departmanı üyeleri, kişisel görüşler almak ve insanların Joomla 5'in dünyalarını nasıl etkilediğini daha iyi anlamak için çeşitli kanallar aracılığıyla tartışmaya katıldı.
Bu geri bildirime dayanarak, son birkaç gün içinde Joomla 5'in geleceği ile ilgili birçok öneride bulunduk ve birçok karar aldık.
Hem zaman hem de paraya mal olan, üstesinden gelinmesi gereken en büyük iki sorunu belirledik:
- Joomla 5'e yapılan bir güncelleme yine sancılı bir geçiş olacaktır (ve sonra tekrar 6'ya vb.)
- Joomla 4'te çalışan uzantılar yine Joomla 5 ile uyumlu değil
Ayrıca aşağıdakiler gibi başka endişeler de vardı:
- Kullanımdan kaldırıldı olarak işaretlenen kod, geliştiricilerin bunun yerine ne yapacaklarını gösteren belgelere sahip değildi
- Mevcut sürüm programı, gönüllülerimiz ve topluluğumuz için özellikle yaz aylarında her iki yarıküre için de rahatsız edici
- Büyük bir sürümün, yükseltmeyi "buna değer" hale getirecek bir şeye sahip olması gerekir
- Çekirdeğin kullanılması (örn. şablon geçersiz kılmaları), geliştiricileri yeni sürümlere geçerken cezalandırmamalı ve onları yeniden oluşturmaya zorlamamalıdır
- Zaman çerçeveleri çok sıkı
Bu tartışmalar sonucunda Üretim Departmanı çeşitli kararlar almıştır.
Serbest Bırakma Döngüleri
- Küçük sürümler için 6 aylık bir sürüm döngüsünde kalacağız. Bunun nedeni, Sürüm Yöneticilerini tükenmişlikten korumaktır, çünkü bir sürüm çok iş yapar, sürümden 6 ay önce başlarlar ve sürüm bittiğinde 6 ay daha çalışırlar. Güvenilir olan sabit aylara sahip olmak herkesin plan yapmasına yardımcı olur.
- Ayrıca ana sürümler için iki yıllık sürümlerde kalacağız. Yani Joomla 5 2023'te, Joomla 6 2025'te vb. çıkacak. Bunun nedeni, geçmişte olduğu gibi sancılı, büyük güncellemelerden kaçınmak için adımları mümkün olduğunca küçük tutmaktır.
Yeni ana sürümler, kullanımdan kaldırmaları temizlemeye, bağımlılıkları korumaya ve yükseltme adımlarını olabildiğince sorunsuz hale getirmeye odaklanacak.
Her yaşam döngüsünün dördüncü küçük versiyonu (örn. 4.4, 5.4, 6.4), Güncelleme Denetleyicisini iyileştirmeye, arta kalan hataları gidermeye ve bir sonraki büyük sürüm için bir temel olarak kararlı bir ürün üretmeye odaklanan bir “bekçi sürümüdür”.
Sorunsuz bir yükseltme yolu için çalışıyoruz. Karar verme sürecine dahil olan birçok kişi, web sitesi geliştiricilerinin kendileridir, bu nedenle ilgili acıyı anlayın. Daha uzun zaman dilimleri daha büyük adımlar anlamına gelir ve daha kısa zaman dilimleri daha yumuşak adımlara yol açar. Üretim Departmanının amacı, sorunsuz bir süreç oluşturmak ve geliştiricilere ve web ajanslarına değişiklikleri ne zaman yapacakları konusunda daha fazla kontrol sağlamaktır.
Yeni Sürüm Ayları
- Ana sürümler iki yıllık bir döngüde yayınlanacak - 2023'te Joomla 5, 2025'te Joomla 6 vb. Bu, yeni bir ana sürüme yükseltme yaparken gereken adımları azaltacaktır.
- Küçük sürümler altı aylık bir döngüde yayınlanmaya devam edecek. Bu, sürüm yöneticisinin "tükenmesini" önler ve güvenilir bir çıkış tarihi sağlar.
- Her iki yarım kürede de yaz tatillerinden kaçınmak için yayın ayları Nisan ve Ekim'e kaydırılacak. (alınan geri bildirimin doğrudan bir sonucu)
Kullanımdan Kaldırmalar
Kısa yapmak için:
“Eski MVC çerçevesi”, “eski eklenti çerçevesi”, “eski modül çerçevesi” ve “Factory” sınıfını kaldırmayacağız. Bu, Joomla 4'te çalışan bileşenlerin Joomla 5 ile de çalışması gerektiği anlamına gelir (PHP 8.1'i desteklemeleri şartıyla).
Uzun hikaye şu:
Üretim, tüm kullanımdan kaldırmaların, kullanımdan kaldırıldığı ilan edildikten sonra en erken +2 ana sürümün kaldırılabileceği yönünde bir önerge verdi. Bu, kod 4.x sürümünde kullanımdan kaldırılmış olarak bildirilirse, kaldırılabileceği en erken Joomla 6'dır. Bu hareket şunları kapsar (diğerlerinin yanı sıra):
- Eski MVC Çerçevesi
- Eski Eklenti Çerçevesi
- Eski Modül Çerçevesi
- Factory
ve 2025 yılında kullanımdan kaldırılan kodun en erken kaldırılmasına izin verir.
Joomla 5 için sürüm döngüsünü 3 yıla uzatmak yerine, 3. taraf geliştiricilere uzantılarını yükseltmeleri için en az toplam 4 yıl veriyoruz. Bu ayrıca, uzantının üç sürümünü destekleme ihtiyacını da azaltır.
Unutmayın, “en erken”, kullanımdan kaldırılan kodun o zaman kaldırılacağı anlamına gelmez, sadece olasılığı açar. Önümüzdeki birkaç gün içinde güncellenecek olan bu çekme isteğiyle, kullanımdan kaldırmaları yorumlamaya ve netleştirmeye başladık.
PHP Sürümü
Joomla 5, minimum PHP 8.1 sürümü gerektirecektir. Joomla 5 piyasaya sürüldüğünde, PHP 7.4, güvenlik güncellemeleri veya hata düzeltmeleri olmaksızın kullanım ömrünün sonuna (EOL) sahip olacaktır ( bkz. PHP sürümleri ).
Joomla 5, PHP 8.1 gerektirir. Sunucunuz Joomla 5 zamanında 8.1'i desteklemiyorsa, ana bilgisayarları değiştirebilir veya iki yıl daha Joomla 4 ile devam edebilirsiniz.
PHP 8.1, diğer yeni özelliklerin yanı sıra, performansta büyük bir artışa neden olabilecek, kodun bölümlerinin "paralel" yürütülmesi olasılığını da getiriyor. Joomla 5 için PHP 8.1'e geçmek, bu özelliği kullanan kod yazmamıza izin veriyor ve bunu 5.0'da kullanmak için zamanımız olmasa bile, bu gereksinim, onu daha küçük bir sürümde kullanmamız için kapıyı açık bırakıyor. CMS'yi hızlandıran ve uzantı geliştiricilerinin de avantajlardan yararlanmasına izin veren çizginin aşağısında.
SQL Sürümleri
Joomla 5, MySQL 8.0.11+, MariaDB 10.4+ ve PostgreSQL 12+'ı destekleyecektir. MySQL ve MariaDB için veritabanı sürücülerini ayıracağız, çünkü iki sistem birbirinden gittikçe uzaklaşıyor. Ayrı sürücüler, ilgili veritabanı yönetim sistemlerini (DBMS) mümkün olan en iyi şekilde desteklememizi sağlar.
Geliştiriciler olarak, yalnızca her iki sürücü tarafından desteklenen işlevleri kullandığınız sürece bir MySQL dosyasını göndermeye devam edebilirsiniz. MariaDB'ye özgü işlevlere ihtiyacınız varsa, bir MariaDB dosyası sağlayabilirsiniz.
Optimizasyonlar
PHP 8.1, G/Ç (okuma ve yazma) işlemlerini asenkron, yani arka planda çalıştırmamızı sağlar. Bu olasılık Joomla 5 uzantıları için kullanıma sunulacaktır.
Modern veritabanı sistemleri özyinelemeli sorgular sağlar. Bu, iç içe kümeleri değiştirmeyi mümkün kılacaktır. Yuvalanmış kümeler erişim kontrolü, kategoriler vb. için kullanılır, ancak okuma sırasında çok hızlı olmalarına rağmen yazmaları çok zaman alır. Kategori veya kullanıcı ve kullanıcı gruplarında binlerce makale bulunan siteler için bu bazen performans sorunlarına yol açmaktadır. Bu nedenle, Joomla 5'te iç içe kümeler özyinelemeli sorgularla değiştirilecektir.
Uyumluluk Eklentisi
Kullanımdan kaldırılan kod bir nedenden dolayı kullanımdan kaldırılmıştır; çoğu zaman web sitenizi hızlandıran daha iyi, daha hızlı ve daha kullanışlı kodlar bulunur. Kullanımdan kaldırılan kodun uzun süre desteklenmesi, yalnızca son teknoloji ürünü (veya yalnızca çekirdek) kullanmak isteyen web sitesi sahipleri için olumsuz bir şeydir. Onlar için, kullanımdan kaldırılmış kod bir yüktür. Onlara nasıl yardım edebiliriz?
Amaç, kullanımdan kaldırılan kodun mümkün olduğunca çoğunu yükseltme sırasında varsayılan olarak etkinleştirilen bir sistem eklentisine taşımaktır. Bu fikir ilk olarak Joomla 1.0'a kadar kullanıldı ve işe yaradı. Ad alanı gibi gelişmelerle, sitenin sahibine gücü geri vermeye yardımcı olmak için fikir daha da güçlü hale getirilebilir. Bu koda güvenmediklerini bilen site sahipleri, eklentiyi kapatabilir ve geliştirilmiş performans ve daha temiz koddan yararlanabilir. Örneğin, (yalnızca sanal olarak var olan) JDatabase gibi sınıf takma adlarını bu sistem eklentisine taşıyacağız.
Bu eklentinin ne zaman değiştirilebileceğine dair bazı kuralları vardır:
- Eklenti, yalnızca önceki ana sürümdeki kullanımdan kaldırılmış kodu tutar
- Yalnızca yeni bir ana sürüm yayınlandığında güncellenebilir
Bu nedenle, Joomla 5 ile eklenti, Joomla 4'teki tüm (olası) kullanımdan kaldırmaları içerecek, ancak Joomla 5'ten herhangi bir kullanımdan kaldırmayı içermeyecektir.
Joomla 6'yı piyasaya sürdüğümüzde, Joomla 4'ten gelen tüm kullanımdan kaldırmaları eklentiden (ve artık varsa) çekirdekten kaldıracağız. Daha sonra tüm olası kullanımdan kaldırmaları Joomla 5 çekirdeğinden eklentiye taşıyabiliriz. Joomla 6'ya güncelleme yaparken, sorunsuz bir yükseltme sağlamak için eklenti tekrar etkinleştirilecektir.
Yeni kurulumlar, eklenti devre dışı bırakılmış olarak gönderilir ve uzantı geliştiricileri, gerekirse uzantılarının kurulumunda eklentiyi etkinleştirebilir. Eklenti etkinleştirildiğinde, kullanıcıyı bilgilendirmek için arka uç kontrol panelinde bir mesaj görüntülenecektir.
Güncellemelerin Joomla'nın alımını etkilediği ve web ajansları ile geliştiricilerin hayatını zorlaştırdığına dair birçok kişinin korkularını dinledik ve başkalarının hız ve güvenlik eğrisinde kalmamız gerektiğini söylediklerini duyduk. Bu çözümün daha sorunsuz bir yükseltme yolu, gerektiğinde daha fazla zaman sağlayacağını ve buna ihtiyaç duyanlar için en yeni, en hızlı ve en güvenli yapı paketini sunmamıza olanak sağlayacağını umuyoruz.
Belgeler
Joomla için önemli bir konu belgelerdir. Sağlam belgelere ihtiyacımız var. Üretim bunu tek başına yönetemez. Burada öncülük edebilir ve kaynak sağlayabiliriz, ancak bunu görmek için kesinlikle topluluğun yardımına ihtiyacımız var.
Uzantıları geliştirmek için ayrıntılı uygulamalı geliştirici belgeleriyle doldurmayı planladığımız manual.joomla.org adlı yeni bir projeye başladık. Bu yıl, yeni belgeler hakkında bilgi edinmek ve onu içerikle doldurmaya yardımcı olmak için herkesin katılabileceği topluluk sprintleri düzenlemeyi planlıyoruz. Sizi haberdar edeceğiz.
Üretim, bundan böyle yeni özelliklerin ancak geliştiriciler ( manuel.joomla.org ) ve son kullanıcılar ( docs.joomla.org ) için yazılı belgeler olduğunda birleştirilebileceği bir harekete geçti.
Kod yalnızca manual.joomla.org için bir geçiş kılavuzu yazıldığında kullanımdan kaldırılabilir. Bu, ilgilenen herkesin belge deposuna abone olarak bu kullanımdan kaldırmaları izlemesine olanak tanır. Amortisman nihayet gerçekleştirilmeden önce geri bildirim sağlanabilir.
Yeni özellikler eklendiğinde belgelerin gerekli olduğu ve geçiş kılavuzlarıyla kod kullanımdan kaldırıldığı bu yeni hareketlerle birlikte, geliştiricilerin belgelerini yazmalarına yardımcı olmak için destek de veriliyor. İngilizce ana diliniz olmasa bile veya yazmak sizin için güçlü bir yön değilse, yine de bir “Documentation Buddy” den koda katkıda bulunabilir ve doküman yazma konusunda yardım alabilirsiniz. Bir Belgeleme Arkadaşı, belgelerinizi yazmanız için kaynaklara veya belgelerinizi yazmanıza yardımcı olmak için elde tutun.
Bir Dokümantasyon Arkadaşı bulmak için sosyal yardım ile iletişime geçin. Bir kelime ustası mısınız, ancak kodlayıcı değil misiniz ve Dokümantasyon Arkadaşı olabilir misiniz? Sosyal yardım ile iletişime geçin ve sizi başlatalım.
Hem geliştirici, hem dokümantasyon arkadaşı hem de topluluk, geliştirme süreci boyunca daha fazla ve daha iyi dokümantasyondan faydalanacaktır. Herkesin yeni özellikleri anlamasına, takdir etmesine ve kullanmasına ve kullanımdan kaldırılmış kodu kullanmaktan uzaklaşmasına yardımcı olacaktır.
Şablonlar ve Kullanıcı Arayüzü
Aşağıdakiler daha teknik hale geliyor ve geliştirici olmayanlar için özet şu ki, temel değişikliklerin şablon geliştiricileri üzerinde daha az etkisi olacak şekilde işleri düzenliyoruz.
Yeni sürümle ilgili tartışmalarda, tüm şablonların geliştiricilere büyük masraflarla uyarlanması gerekebileceğine dair korkular dile getirildi. Bu, iç yapıyı iyileştirmek için şablonları kırmak zorunda kalan önceki ana sürümlerle ilgili deneyimden kaynaklanmaktadır.
Neyse ki Joomla 4'te WebAsset Manager, bu tür araları gelecek sürümlerde küçük tutmamıza izin veriyor. Ayrıca, acıyı daha da azaltmak için yeni Joomla 4 özelliği “Alt şablonlar ”dan büyük ölçüde yararlanmayı planlıyoruz.
Uzun vadeli hedef, çekirdek yerleşimlerin ve Cassiopeia'nın ayrıştırılmasıdır (kendi kendine yeten ve artık birbirine bağımlı değildir).
Ayrıştırma, tüm önyükleme bağımlı kodun bir geçersiz kılma olarak dahil edildiği bir temel olarak bir "önyükleme şablonu" na sahip olmayı planlamamıza izin verir. Herhangi bir şekilde şablona özgü olan her şey, temel yerleşimlerden Cassiopeia'ya taşınır. Cassiopeia daha sonra ya bu yeni "bootstrap 5" şablonunun alt şablonu olur ya da dahil edilen tüm geçersiz kılmalar ile bağımsız olarak kalır. Bu, Tailwind veya UIKit gibi diğer çerçevelere dayalı ek üst şablonlar oluşturmayı mümkün kılar.
Şablon tasarımcıları için bu, yerleşim özelleştirmelerinin ve geçersiz kılma işlemlerinin CMS'deki değişikliklere karşı daha az duyarlı hale geldiği ve geçersiz kılmaların her yeni ana sürümde yeniden oluşturulması gerekmediği anlamına gelir.
Arka uç şablonu, bootstrap 5'te kalacak ve kullanılabilirliği iyileştirmek için yalnızca küçük değişiklikler almalıdır.
UX İçin Yenilenmiş Bir Taahhüt
Her iki temel şablonun da hala kusurları olduğunun ve iyileştirme için çok fazla alana sahip olduğunun hepimiz farkındayız. Bu nedenle, yeni bir ekibin oluşmakta olduğunu duyurmaktan çok mutluyuz: Joomla Deneyim Ekibi (JXT).
Ekibin amacı, Joomla'daki şablonları ve çok daha fazlasını içeren genel kullanıcı deneyimini artırmaktır. Joomla Deneyim Ekibi (JAT) ile işbirliği içinde bu ekibin bize doğru yönde büyük bir adım atacağı konusunda hepimizin büyük umutları var.
Yardımına ihtiyacımız var! Çok yakında bazı Pizza, Böcekler ve Eğlence etkinlikleri oluşturmayı planlıyoruz, ancak lütfen ekiplere ulaşın ve şimdi katılın! Daha iyi olmak için birlikte çalışan birçok akla ve parmaklara ihtiyacımız var.
Yeni Özellikler
Büyük bir sürümün temel görevi, mevcut kod tabanı ile mümkün olmayan yeni özellikler sağlamaktır. Joomla 5'i kapıdan çıkarmamız gereken kısa sürede, muhtemelen dahil etmek istediğimiz tüm güzel yeni özellikleri (çoklu alan) tamamlamayacağız. Ancak, Joomla 5, istenirse daha sonraki bir sürümde bunları uygulamak için gereken her şeyi getirecektir.
Bu, sizi yeni özelliklere katkıda bulunmaktan alıkoymamalıdır. Ayrıca, Google Summer of Code sırasında geliştirilen ve geliştirilmiş Arama Motoru Optimizasyonu (SEO) gibi neredeyse hazır olan özelliklerden bir kez daha yararlanacağız.
Kim bilir, belki de daha fazla özellik yaptırırız… bu size kalmış, Joomla topluluğu.
Uzantı Geliştiricileri İçin Destek
Kullanımdan kaldırılan kodun otomatik olarak yeniden yazılmasını desteklemek için Joomla 5'in ilk sürüm adayı için zamanında (tam) bir Rektör kuralları seti sağlayacağız. ( Rektör , kural setlerine göre kodu yeniden yazabilen nispeten yeni bir geliştirme aracıdır). Bu kurallar, bileşenlerini, modüllerini ve eklentilerini bir komut satırı çağrısı ile Joomla 5'e uyarlamak için uzantı geliştiricilerine sunulacaktır. Tüm manuel değişiklikleri ortadan kaldırmak muhtemelen mümkün olmayacak, ancak Rektör ile minimumda tutulabilecek.
Sadece Senin Yardımınla Olabilir
Biz büyük bir topluluğuz. Bu projenin başarılarını, desteklediği işletmeleri ve sağladığı istihdamı hatırlamakta fayda var. Ekipteki pek çok kişi için projeye hafta içi ve her hafta ayırdıkları akşamları ve boş zamanlarıdır. Herkes kadar onlar da doğru yapmak istiyorlar.
Gönderdiğimiz makaleler geri bildirim istedi ve ardından olası bir yolu vurguladı. Bazen çelişkili ve birden fazla platformda çok sayıda geri bildirim vardı, bu nedenle daha fazla gerçek bilgi toplamak için damıtmak, rafine etmek ve daha fazla araştırma yapmak, ardından ortaya konan fikirlere yönelik çözümler üzerinden konuşmak için zaman ayırmamız gerekti.
Bu gerçekten değerli bir süreç, herkes özellikle istediğini elde etmeyecek, ancak Üretim, sıkı çalışma ve topluluğun bir araya gelmesiyle, bu açık ve değerli diyalogdan hepimizin yararlanabileceğini, devrettiğimiz ürünün bir ürün haline dönüşeceğini umuyor. gelecek nesil web sitelerini ve web sitesi oluşturucularını destekleyebilen daha iyi, daha hazırlanmış ürün.
Joomla tamamen gönüllü ve topluluk temellidir. Fikirleri koda dönüştürmek için çeşitli fikirler konusunda bu kadar tutkulu olan insanlar olmadan, bu gerçekleşmeyecek. Birçoğu şimdiden harekete geçti ve ekipler oluşturmayı ve birlikte çalışmayı kabul etti, bu da harika ve ilham verici, ancak her zaman daha fazlası için yer var.
Lütfen, kodlayıcı, belge yazarı, pazarlamacı veya bulduklarınızı test etmek ve rapor etmek isteyen bir kullanıcıysanız, gönüllüler portalı ve joomla'ya katkıda bulunun sayfası aracılığıyla ulaşın, dahil olun ve Joomla'yı bir sonraki seviyeye taşıyın.
Kaynak: Joomla.org