Akeeba od kilku dziesięciu lat rozwija swoje frameworki i biblioteki na potrzeby swoich produktów oraz Joomla. Problem w tym, że na przestrzeni lat zrobił się niemały bałagan. I można mieć 6 bibliotek w systemie, z czego może być używana jedna. Developerzy akeeba stworzyli artykuł opisujący jaka biblioteka i kiedy przestała być wspierana. Więc tym samym ułatwili zdecydowanie utrzymanie porządku na naszych witrynach opartych na cms Joomla.

Artykuł jest tłumaczeniem wpisu, który został zamieszony na stronie Akeeby. Naniosłem pewne poprawki, aby artykuł dał Ci jak najwięcej wartości. Źródło znajduje się na dole strony.

Można użyć stwierdzenia, że większa część stron używa Akeeba backup - rozszerzenia do tworzenia kopii bezpieczeństwa. Więc ten artykuł powinni tak naprawdę przeczytać wszyscy co mają zainstalowane cokolwiek od firmy Akeeba.

  • Akeeba Backup
  • Admin Tools
  • Ticket System
  • Akeeba Engage

Wszystkie te rozszerzenia zawierają FOF i FEF w odmianach, a jeśli używałeś tych produktów na przestrzeni lat to masz ich tam sporo. Decyzji o de instalacji nie ułatwia przypis "DONT REMOVE" który jest złowieszczy.

FOF (Framework-On-Framework) - od zaplecza  wszystkie przypisane do Akeeba Ltd. Jednak nie wszystkie wersje FOF są częścią oprogramowania Akeeba. FOF to ogólna struktura zaplecza, która jest używana przez zewnętrznych programistów, w tym samą Joomla.

FEF (Akeeba Front-End Framework) - To jest wspólny kod CSS i JavaScript dla wszystkich  rozszerzeń Akeeba. Poniżej znajdziesz wszystkie różne wersje FOF i FEF, które możesz zobaczyć na swojej stronie, a także informacje o ich aktualizacjach.

FOF 2.x

Nazwa: FOF (F "o" duże F)

Typ: Biblioteka

Folder w Twojej witrynie: libraries/fof (f o f)

Jest to bardzo stara wersja FOF, którą przestaliśmy rozwijać w maju 2015 r., A od czerwca 2016 r. Została wycofana. Zobaczysz, że jest to chronione rozszerzenie. Jest częścią Joomla 3 i jest używany do uwierzytelniania dwuskładnikowego i przesyłania

  • Aktualizacje funkcje Wiadomości. Nie usuwaj go!

FOF 2.x - wersja alternatywna

Nazwa: F0F (NEW) NIE USUWAJ (uwaga:  f zero f)

Typ: Biblioteka

Folder w Twojej witrynie: libraries/f0f (f zero f)

Jest to również bardzo stara wersja FOF, którą przestaliśmy rozwijać w maju 2015 r., A od czerwca 2016 r. Jest ona wycofana. Nie używamy go w naszym oprogramowaniu od połowy 2015 roku. Jednak oprogramowanie innych firm może go nadal używać! Wiemy, że co najmniej dwa komercyjne rozszerzenia nadal używają tego nieaktualnego frameworka.

Przed deinstalacją zrób kopię libraries/f0f 

W przypadku błędów w działaniu rozszerzeń trzecich przywróć ten folder.

FOF 3.x - starsza wersja

Nazwa: FOF30

Typ: Biblioteka

Folder na Twojej stronie: libraries/fof30

To jest starsza wersja FOF w wersji 3. Została ostatecznie zastąpiona rozszerzeniem pliku, które instaluje się w tym samym folderze.

Możesz go odinstalować, ale jest zastrzeżenie. Jeśli masz zainstalowane rozszerzenie file_fof30, będziesz musiał wykonać kilka dodatkowych czynności przed i po odinstalowaniu. Najpierw utwórz kopię folderu libraries/fof30. Następnie odinstaluj rozszerzenie biblioteki FOF30. Na koniec przywróć folder libraries/fof30 z utworzonej kopii.

FOF 3.x - Nowsza wersja

Nazwa: file_fof30

Typ: Plik

Folder na Twojej stronie: libraries/fof30

To jest poprzednia wersja FOF w wersji 3. Jest przestarzała od 2 marca 2021 r. I przestanie być używana 31 grudnia 2021 r. Przestaliśmy jej używać w naszym oprogramowaniu opublikowanym od 2 marca 2021 r. Mimo że już go nie używamy, możliwe, że używają go rozszerzenia innych firm. Przed próbą odinstalowania należy wykonać kopię folderu libraries/fof30. Jeśli witryna zepsuje się po odinstalowaniu, przywróć folder libraries/fof30 z kopii.

Należy pamiętać, że może odmówić odinstalowania się, jeśli rozszerzenia są nadal oznaczone jako zależne od niego - może to lub nie zostanie poprawnie wykryte. W takim przypadku nie próbuj odinstalowywać go ręcznie i nie usuwaj jego folderu. Po 31 grudnia 2021 opublikujemy ostateczną aktualizację, która automatycznie usunie FOF 3.x. Jeśli masz jakieś stare rozszerzenia Akeeba, zaktualizuj je. Jeśli masz jakieś rozszerzenia innych firm korzystające z FOF 3, poproś ich programistów o zaktualizowanie ich przed 31 grudnia 2021 r.

FOF 4

Nazwa: file_fof40

Typ: Plik

Folder w Twojej witrynie: libraries/fof40

To jest aktualna wersja FOF, wersja 4. Jego pierwsza wersja została wydana 2 marca 2021 roku i jest używana przez nasze rozszerzenia opublikowane w tej dacie lub później.

Nie próbuj go odinstalować ani usunąć jego folderu. Zostanie automatycznie odinstalowany, gdy nie będzie już potrzebny.

FEF

Nazwa: file_fef

Typ: Plik

Folder w Twojej witrynie: media/fef

To jest front-end (CSS i JavaScript), którego używamy w naszych rozszerzeniach. Nie pozwalamy nikomu go używać i nie spodziewamy się, że będzie go używać jakikolwiek inny programista.

Nie próbuj go odinstalować ani usunąć jego folderu. Zostanie automatycznie odinstalowany, gdy nie będzie już potrzebny.

Aktualizacje FOF i FEF

W przeszłości dodawaliśmy tylko FOF i FEF do naszych rozszerzeń, co oznacza, że ​​jedynym sposobem ich aktualizacji była instalacja naszego oprogramowania. Stworzyło to jednak oczywisty problem. Gdybyśmy odkryli problem, który został rozwiązany w całym naszym oprogramowaniu poprzez wprowadzenie zmian w jednym z frameworków (FOF lub FEF), musielibyśmy wydać nową wersję wszystkich naszych rozszerzeń. Aby rozwiązać ten problem, publikujemy teraz aktualizacje dla samych FOF i FEF.

Jeśli widzisz, że jest dostępna aktualizacja FOF lub FEF, zainstaluj ją. Prawdopodobnie aktualizacja rozwiązuje problem z poprzedniej wersji. 

Przyszłe wersje i Joomla 4

FOF i FEF powstały z konieczności. W Joomla 1.5, 1.6, 1.7, 2.5 i 3.x brakowało wielu funkcji, których potrzebowaliśmy do publikowania oprogramowania kompatybilnego z szeroką gamą wersji Joomla i PHP, a nawet podstawowych funkcji, które ułatwiłyby zarządzanie złożonym oprogramowaniem. Było to szczególnie prawdziwe w 2011 roku - dziesięć lat temu! - kiedy została opublikowana pierwsza wersja FOF. Pojawiła się również chybiona nadzieja, że ​​społeczność Joomla doceni szybkie rozwiązanie do tworzenia aplikacji, coś, co początkowo zostało przyjęte i natychmiast podkopane przez sam projekt Joomla w ciągu krótkich sześciu miesięcy. Ten ostatni punkt oznaczał, że jakikolwiek dalszy rozwój FOF był traktowany przez kierownictwo Joomla jako próba autonomii i rewolty co jest zakazane. 

W każdym razie kilka rzeczy zmieniło się w ciągu ostatniej dekady, kiedy publikowaliśmy FOF.

Po pierwsze, zdecydowaliśmy, że obsługa bardzo szerokiej gamy wersji PHP i Joomla była głupim podejściem. Potwierdzają to statystyki użytkowania, które zbieramy od 2014 roku, które wskazują, że 95% naszych klientów korzysta z najnowszej wersji Joomla, a 90% z wersji PHP, która jest obecnie obsługiwana przez projekt PHP lub ma był pod koniec życia krócej niż 6 miesięcy. Oznacza to, że każdy dodatkowy wysiłek poświęcony na obsługę długiego ogona od 5% do 10% użytkowników, którzy nigdy nie dokonają aktualizacji - którzy również wydają się w przeważającej mierze używać starszych wersji naszego oprogramowania - nie ma sensu.

Po drugie, wiele innowacji wprowadzonych w różnych wersjach FOF zostało włączonych do samej Joomla w takiej czy innej formie, z wyjątkiem modelu bazy danych, który obsługuje relacje między obiektami (tj. nie ma niczego, co wygląda jak ORM). Z naszego doświadczenia wynika, że ​​funkcje, które zostały wprowadzone, mają kluczowe znaczenie dla utrzymania złożonego oprogramowania i chociaż brak ORM jest kłopotem, nie można tego obejść. Z pewnością udało nam się opublikować własne oprogramowanie bez ORM przed 2015 rokiem i nie było ono dużo mniej skomplikowane niż obecnie.

Po trzecie, rdzeń MVC, JavaScript i CSS w Joomla 4 już nie jest do niczego. Możemy rozwiązać kilka drobnych pozostałych problemów z bardzo małą ilością kodu przy użyciu cech PHP - coś, co było niemożliwe, gdy wydano FOF 1, 2 i 3, ponieważ wciąż próbowaliśmy obsługiwać wersje PHP starsze niż 5.4, które nie obsługiwały funkcji. To był jeden główny powód, dla którego FOF był na pierwszym miejscu i główna siła napędowa, która spowodowała, że ​​porzuciliśmy wsparcie dla starszych wersji PHP. Mówiąc prościej, nowsze wersje PHP pozwalają nam obejść ułomności Joomla lub lekko problematyczne wybory projektowe, pisząc kilkaset wierszy kodu zamiast utrzymywania całego frameworka, który ma kilkadziesiąt tysięcy wierszy. Mniej kodu oznacza mniej konserwacji, mniej błędów i szybsze odpowiedzi.

Ostatecznie przeniesiemy wszystkie nasze pozostałe rozszerzenia do podstawowego kodu Joomla i zaprzestaniemy FOF i FEF. Spodziewamy się, że będzie to długi proces, który zapewni nam zajęcie przez następne dwa do trzech lat - mamy sporo rozszerzeń! Dlatego udostępniamy Ci tę wiadomość. FEF 2 i FOF 4 to ostatnie rodziny wersji tych frameworków, a naszym zamiarem jest zaprzestanie ich używania w ciągu najbliższych kilku lat na rzecz kodu core. Dobrze nam służyły przez ostatnią dekadę, ale czas pozwolić im odejść.

Podsumowanie

Już za kilka lat będzie mniej bałaganu w naszych instalacjach Joomla. Prawdopodobnie wszystko się wyklaruje już po wydaniu Joomla 4. Jak można zauważyć jest lekko poruszana tematyka zarządzania całościowego projektu Joomla i pewnych niezgód, których do końca developerzy Akeeba jeszcze nie ujawnili. Można zauważyć pewną tendencję, ponieważ Akeeba wspomniała o pierwszej wersji, która została zakopana, ale można też przytoczyć przypadek nowego szablonu administracyjnego od JoomShaper. O tym szablonie wspominałem tutaj https://joomlaguru.pl/joomla/szablony/507/szok-tak-moze-wygladac-zaplecze-administracyjne-w-joomla-4 Ewidentnie jest coś na rzeczy i gdzieś jest kość niezgody między developerami zarządzającymi projektem Joomla, a developerami tworzącymi rozszerzenia. Naturalnie nie trzeba tego traktować jako regułę, ponieważ mnie osobiście udało się przeforsować po dwóch latach wsparcie dla formatu webp w Joomla 4. 

Źródło: https://www.akeeba.com/news/1745-about-our-fof-and-fef-frameworks-and-their-future.html