Najnowsza wersja PIMCORE 11 już dostępna
Wtorek, 30 maja 2023
Pimcore 11 to najnowsza wersja popularnej platformy zarządzania danymi. Ta aktualizacja przynosi szereg istotnych ulepszeń i zmian, które mają na celu zwiększenie wydajności, niezawodności i elastyczności platformy.
Zaawansowanie jakości kodu i struktury
- Distinct Bundles: Mniej często używane funkcje zostały wydzielone do oddzielnych pakietów, co skutkuje bardziej zwartym rdzeniem i zwiększa elastyczność oraz efektywność całego procesu rozwoju.
- Native PHP Types: Pimcore teraz stosuje natywne typy PHP do wszystkich parametrów i typów zwracanych, co prowadzi do ścisłego typowania rdzenia Pimcore i poprawia jakość kodu oraz stabilność.
- Test Coverage and Static Analysis: Zwiększono pokrycie testami i dodano statyczne analizy dla wszystkich pakietów, co znacznie zwiększa jakość.
- Webpack został zaimplementowany do pakowania i instalowania niezbędnych zależności front-endowych, takich jak pliki JavaScript i CSS dla interfejsu użytkownika Pimcore Backend.
- Content Security Policy (CSP): Pimcore aktywowało CSP jako domyślne ustawienie dla interfejsu Backend, co pomaga zapobiegać określonym typom ataków.
Aktualizacja wersji zewnętrznych narzędzi
- Pimcore 11 jest kompatybilny z najnowszą wersją PHP 8.2, wymagając PHP wersji 8.1 jako minimum. Ta aktualizacja pozwala na wykorzystanie nowych funkcji języka i poprawia jakość kodu, bezpieczeństwo i wydajność.
- Wykonano znaczącą pracę konserwacyjną, aby zaktualizować wszystkie zależności od stron trzecich do ich najnowszych wersji.
- Jedno z najważniejszych zależności, Symfony, zostało zaktualizowane do najnowszej wersji 6.2.
Uproszczenie i poprawa kodu (refaktoryzacja)
- Usunięto przestarzałe funkcje, implementacje i stare warstwy kompatybilności wstecznej, aby oczyścić bazę kodu.
- Struktura kodu podstawowych pakietów została zaktualizowana, aby była zgodna z najnowszymi konwencjami i najlepszymi praktykami.
- Wykorzystano standardowe implementacje dostarczane przez nowe wersje frameworków stron trzecich, takie jak Symfony, i usunięto niestandardowe implementacje (np. obsługa sesji, uwierzytelnianie, komponent runtime Symfony), aby zmniejszyć złożoność bazy kodu Pimcore i oczyścić kod.
Kluczowe zmiany w strukturze kodu
- Została stworzona warstwa abstrakcji dla edytora WYSIWYG, a jako domyślną implementację przyjęto TinyMCE. Dzięki warstwie abstrakcji możliwe jest teraz bezproblemowe integrowanie innych edytorów WYSIWYG za pomocą rozszerzeń.
- Implementacja Gotenberg, wszechstronnego generatora PDF. Gotenberg generuje podglądy dokumentów, takich jak Word, Excel i PowerPoint, a także tworzy pliki PDF w module web2print. Najważniejszą zaletą Gotenberg jest łatwa integracja z infrastrukturą systemu jako mikrousługa (np. za pomocą kontenera Docker), co minimalizuje wymagania infrastrukturalne i upraszcza ogólną złożoność systemu.
- Zwiększono możliwości rozszerzania platformy poprzez dodanie wsparcia dla niestandardowych typów dokumentów i zasobów. Programiści mogą teraz bez wysiłku implementować własne typy za pomocą rozszerzeń, dostosowując Pimcore do swoich unikalnych wymagań. Ta nowa funkcjonalność pozwala również na tworzenie rozszerzeń obsługujących formaty plików 3D.
- Udoskonalono możliwości modelowania danych obiektów, dodając nowe typy zakresów dla obiektów danych (zakres liczb, zakres wartości ilościowych, zakres dat).
Koncentracja na ekosystemie Pimcore
- Zaktualizowano wszystkie rozszerzenia Pimcore, aby zapewnić bezproblemową kompatybilność z Pimcore 11.
- Zintegrowano wszystkie rozszerzenia Pimcore z przepływem tłumaczeń POEditor: Użytkownicy mogą teraz tłumaczyć etykiety dla wszystkich rozszerzeń Pimcore na swoje preferowane języki.
- Nowa dokumentacja: Pimcore planuje wydać obszerną dokumentację, konsolidującą wszystkie rozszerzenia Pimcore w jednym miejscu z unifikowanym wyszukiwaniem i najnowszą technologią.
Pimcore 11 to duży krok naprzód dla platformy, wprowadzający wiele istotnych ulepszeń i zmian. Te zmiany mają na celu zapewnienie, że platforma będzie nadal odpowiadać na przyszłe wyzwania i będzie regularnie aktualizowana zgodnie z najnowszymi standardami branżowymi i najlepszymi praktykami.
Materiały źródłowe: