18 marca 2020

Natywna obsługa szablonów XSLT i Smarty oraz nowe narzędzie do zarządzania nimi

Chcemy być maksymalnie otwarci na customizację sklepów internetowych i szablonów, wprowadzając obok własnej, pełnej obsługi zmian, także możliwość wprowadzania ich przez dowolnego dewelopera. Po wielu miesiącach prac, udostępniamy Ci zupełnie nowy system zarządzania i publikowania szablonów własnych. Bazuje on na udostępnieniu możliwości customizacji i publikacji szablonów sklepów w języku XSLT, którego sami używamy, oraz natywne wsparcie (bez konwersji) szablonów w języku Smarty.

Czym jest XSLT i dlaczego go polecamy?

XSLT to oparty o notację XML język szablonów opracowany przez W3C, tę samą organizację, która standaryzuje język HTML, CSS i inne istotne standardy. W IdoSell Shop od początku wykorzystujemy XSLT do szablonów, które sami budujemy. Język XSLT jest wspieranym i polecanym przez nas sposobem na zmianę wyglądu strony, ponieważ sami z niego korzystamy już niemal od dwudziestu lat, zarówno przy tworzeniu szablonów standardowych, jak i rozwiązaniach indywidualnych tworzonych na zamówienie.

Dzięki udostępnionej funkcji pobrania szablonu w XSLT, pobierasz - bez konwersji - oryginalny kod szablonu do samodzielnej zmiany. Deweloper zachowuje więc pełną kontrolę nad tym, jak szablon będzie działał i wyglądał.

Pobierz SMARTY - Pobierz SMARTY

Nowe natywne wsparcie dla Smarty

Język szablonów Smarty proponowaliśmy klientom, ponieważ wydawało nam się, że deweloperzy nie będą w stanie zrozumieć XSLT, którego my uwielbiamy, ale jest to mało popularny język. A Smarty jest od lat jednym z najpopularniejszych języków szablonów. Gdy ktoś chciał samodzielnie zmienić szablon, najpierw konwertowaliśmy XSLT do Smarty napisanym przez nas konwerterem a po zakończeniu pracy, gdy deweloper wgrywał szablon Smarty - był on ponownie konwertowany ze Smarty do XSLT. Ta dwukrotna konwersja, mimo wielu lat prac, nadal nie przebiega idealnie i zdarza się, że nawet szablon Standard, pobrany w Smarty a następnie wgrany ponownie do sklepu, wyświetlał się błędnie. Wiele osób, nie rozumiało skąd takie błędy, a wynikały one właśnie z dwukrotnej konwersji.

Dużym wyzwaniem było pogodzenie z dotychczas stworzonymi systemami ((/servers/cache/akceleracja-generowania-stron/|akceleracji działania stron) i ogólnie obsługi szablonów oraz osobnego silnika obsługi szablonów. Obecnie, na każdym serwerze działają dwa silniki, które w zależności od przypisanego do danego sklepu i języka szablonu, generują kod strony albo przez silnik XSLT albo Smarty. Dla finalnego użytkownika nie powinna być odczuwalna różnica funkcjonalna lub szybkości.

Smarty - Smarty

Dzięki temu, że teraz szablony Smarty są wyświetlane natywnie przez silnik Smarty i nie są konwertowane do XSLT, masz pewność, że jeżeli szablon Smarty w Twoim środowisku testowym działa w określony sposób, po wgraniu do sklepu zadziała tak samo.

Ponieważ nadal będziemy pracowali w IAI w oparciu o XSLT, zachowaliśmy konwerter XSLT do Smarty. Wprowadziliśmy do niego przy okazji tego projektu kilka udoskonaleń, należy jednak pamiętać, że to nadal jest konwersja i deweloperzy muszą sprawdzić czy przebiegła ona poprawnie. Jeżeli nie - powinni samodzielnie poprawić szablon. Jednak wgrany ponownie, dzięki natywnej obsłudze, nie będzie już konwertowany, dlatego nieobsłużone przypadki konwersji nie będą już problemami krytycznymi.

Zadbaliśmy o bezpieczeństwo i kompatybilność wsteczną

Pracując nad nowymi rozwiązaniami, zadbaliśmy o to, aby wszystkie, dotychczas wgrane szablony działały w niezmieniony sposób. W obu silnikach nadal działają systemy akceleracji, zabezpieczenia, dodatki HTML i JavaScript i wszystko to, z czego IdoSell Shop słynie, czyli Otwartego SaaS™.

Edycja XSLT - Edycja XSLT

Dodatkowo od teraz, własne szablony mają nadawane numery rewizji, a poprzednie wersje są automatycznie archiwizowane. Dzięki temu, w razie jakiegokolwiek problemu napotkanego po publikacji szablonu, można przywrócić poprzednią, działającą wersję. Deweloperzy mają także możliwość przetestowania szablonu pod względem poprawnej budowy i podglądu działania w sklepie, zanim opublikują zmiany w sklepie "na produkcji". Można też testować własne szablony razem z szablonami przygotowywanymi przez Web Developerów IAI, wbudowanym narzędziem do testów A/B.

Co to zmienia dla mnie?

Kilka dni temu informowaliśmy o tym, że nie będziemy już przyjmowali nowych zamówień na zmiany na stronach klientów na pojedyncze godziny. Wydanie tych zmian potwierdza nasze szczere intencje - chcemy, aby klienci mogli nadal pracować z nami nad stałym rozwojem swojego sklepu, ale pojedyncze i drobne zmiany wolimy oddać w ręce samych klientów i ich podwykonawców.

To jeszcze nie koniec zmian - jeszcze w tym roku będziemy chcieli oddać w ręce klientów narzędzie do zmiany grafik i tekstów, bez konieczności tworzenia szablonu indywidualnego. Z kolei w roku 2021 zamierzamy udostępnić narzędzie do "komponowania samodzielnie szablonów" w oparciu o standardowe "klocki". Są to duże wyzwania, ale chcemy w ramach strategii Otwarty SaaS™ udostępniać coraz więcej narzędzi do dowolnej customizacji Tojego sklepu, co według nas jest niezbędne w przypadku profesjonalnych sklepów internetowych.