Nadszedł czas: Nowa duża wersja Contao jest już tutaj! Po siedmiu dobrych latach od wielkiego kroku, jakim było wprowadzenie Contao 4, Contao kontynuuje swoją drogę z nową wersją 5.0.
Zawsze są dwa obozy, jeśli chodzi o taki krok. Ludzie, którzy nie mogą doczekać się nowych funkcji wystarczająco szybko i ludzie, którzy wolą mieć wszystko "tak jak było kiedyś". W tym newsie odniosę się do obu stron.
Punkt startowy: Contao 4.13
W każdej nowej wersji serii Contao 4 (od 4.1 do 4.13) do naszego ulubionego systemu CMS dodawane są nowe, wspaniałe funkcje. Ponieważ główny zespół dba o to, aby funkcje w każdej nowej wersji były kompatybilne ze wszystkimi wersjami od 4.0, z każdym wydaniem gromadzą się nowe warstwy tzw. wstecznej kompatybilności – warstwy kodu, które utrzymują stare interfejsy kompatybilne z nowymi interfejsami, tak aby stary kod nadal działał.
Te warstwy wstecznej kompatybilności sprawiają, że statek Contao jest cięższy.
Aby statek był gotowy na wiele nowych ładunków (czyli funkcji), zespół główny i wszyscy inni wolontariusze wykonali bezprecedensową ilość pracy i usunęli z Contao 5.0 wiele rzeczy, które zostały oznaczone jako przestarzałe w Contao 4.
Ponad 3 500 zmodyfikowanych plików i prawie 400 000 zmodyfikowanych linii kodu mówi samo za siebie. Contao zostało uwolnione od około 70 000 linii starego kodu.
Nowości dla użytkowników
Chociaż skupiono się na porządkowaniu starego kodu, w Contao 5 są również nowe funkcje i ulepszenia. Oto niektóre z nich:
Ujednolicona obsługa rekordów-dzieci
Starzy użytkownicy Contao na pewno na początku się potkną, ale w miejscach, gdzie wcześniej tego nie było, ołówek prowadzi teraz do edycji elementu, a już nie o jeden poziom niżej. Dla tego wprowadzono nową ikonę "rekordy-dzieci". Przykładem mogą być elementy artykułu.
Strony i pliki przenoszą się pod "Zawartość" - "Content"
Linki do struktury strony i zarządzania plikami można znaleźć w grupie menu "Zawartość" w Contao 5.
Koniec z zapisywaniem wadliwych formularzy
Jeśli Contao 5 wykryje błąd podczas przesyłania formularza w backendzie, np. że nie wszystkie obowiązkowe pola zostały wypełnione, to dane nie są zapisywane. Formularz nie zostanie zapisany nawet częściowo, jak to miało miejsce w Contao 4.
Niezapisane elementy
Nowe elementy, które nie zostały jeszcze zapisane, będą w backendzie widoczne, ale będą wyszarzone.
Nowy element "Niefiltrowany HTML"
Ten element pozwala na szybkie wstawianie elementów takich jak znaczniki skryptów lub np. wbudowany kod SVG, bez włączania tych elementów w ustawieniach bezpieczeństwa. Pamiętaj jednak: zachowaj ostrożność przy wstawianiu rzeczy, których nie rozumiesz! Może to pozwolić napastnikom na kradzież Twojej tożsamości lub przejęcie kontroli nad całym systemem. Jest to również zaznaczone tuż pod elementem.
Elementy treści są teraz oparte na szablonach Twig
Wszystkie elementy treści zostały przepisane i są teraz oparte na szablonach Twig. Więcej szczegółów na temat nowych możliwości z szablonami Twig przedstawimy w przyszłym wpisie informacyjnym. W dokumentacji jest już osobny rozdział na ten temat.
Narzędzie instalacyjne Contao zostało usunięte
Większość funkcji można znaleźć w Contao Manager (patrz poniżej). Zrzuty SQL motywów mogą być teraz importowane bezpośrednio w backendzie.
Zmiany w Contao Manager
Jak wspomniano powyżej, stare narzędzie do instalacji Contao nie jest już dostępne. Wybieranie bazy danych podczas instalacji zostało przeniesione do Contao Managera. Tam również można utworzyć konto administratora.
Czy muszę już używać Contao 5.0?
Nie! Obecna wersja Contao LTS 4.13 została wydana w lutym 2022 roku i będzie aktualizowana do lutego 2025 roku. Nie musisz się jednak obawiać, że w Contao 5 wszystko będzie inne. Zmiany są logiczne i sprawią, że będzie jeszcze łatwiej dla nowych użytkowników.
Nowości dla programistów
- Contao 5 używa komponentu bezpieczeństwa z Symfony 6. Rozszerzenia, które zmieniają uwierzytelnianie prawdopodobnie będą musiały zostać dostosowane.
- Dodane zostały votery bezpieczeństwa (security voters) dla operacji DCA, które w dłuższej perspektywie zastąpią istniejące callbacki
checkPermission()
. Poprzedni system nadal działa w Contao 5, ale nie zaszkodzi wcześniej zapoznać się z nowym systemem.
- Modele zwracają teraz prawdziwe typy PHP, takie jak
integer
lub boolean
, jeśli pole w bazie danych jest odpowiednio zdefiniowane.
- Kody krajów są teraz pisane dużymi literami.
Deprecjacje zostały wbudowane w Contao 4.13 dla wszystkich zmian, więc jeśli rozszerzenie nie wywołuje już deprecjacji pod Contao 4.13, powinno działać pod Contao 5.
Zasadniczo wszyscy deweloperzy mogą przeszukiwać swoje rozszerzenia pod kątem używanych warstw wstecznej kompatybilności. Najważniejsze informacje znajdują się w pliku DEPRECATED.md
w danym branchu na Githubie i są również wyświetlane w profilerze Symfony w zakładce "Logs" w sekcji "Deprecations".
Dostosowania niezbędne dla Contao 5 są udokumentowane w pliku UPGRADE.md
, który znajduje się w branchu Contao 5.
Co jest jeszcze ważne
W każdym przypadku polecamy relację Yanicka ze spotkania deweloperów w lutym 2022.
Proszę pamiętać, że jest wiele opcji wsparcia Contao. Każde wsparcie jest ważne. Tylko w ten sposób Contao może być dalej rozwijane w dłuższej perspektywie. Liczne rozszerzenia również nie powinny być brane za pewnik. Wszyscy cieszą się z małych prezentów i nowych miejsc pracy.
Wielkie podziękowania dla wszystkich core developerów. Chcielibyśmy podziękować Leo, Yanickowi, Andy'emu, Franko i Christianowi za ich wsparcie przy pisaniu tego newsa.
Contao rządzi!
Oryginalny news: Marcus Lelle