3. Sono previste 2 fasi di transizione:
1) la versione 3.8 di Joomla!
presenta già alcune caratteristiche di
Joomla! 4, ma richiede lo sviluppo
"vecchia maniera"
2) la versione 3.9 di Joomla!
supporterà sia le estensioni valide
per Joomla! 3 che quelle per
Joomla! 4
4. Il doppio supporto nella
s e c o n d a f a s e n o n
s i g n i fi c a c h e l e
e s t e n s i o n i c h e n o n
hanno alcun problema su
Joomla! 3 funzioneranno
anche su Joomla! 4
5. Le fasi di passaggio
c o n s e n t o n o d i
familiarizzare con le
novità in modo da
essere pronti per il
nuovo Joomla!
11. Le domande principali da porsi sono:
- quanto è complessa l'estensione?
- q u a n t o è a p p ro f o n d i t a l a m i a
conoscenza del suo codice?
- per funzionare necessita la presenza di
un'altra estensione?
- sono l'autore?
- esistono alternative valide già pronte per
Joomla! 4?
12. Ovviamente se esistono
alter native valide NON
conviene effettuare modifiche:
è s e m p r e v a l i d o i n
programmazione il criterio
della "massima resa con la
minima spesa" (di tempo ed
energie)
13. Se si tratta di un'estensione
molto complessa, di cui
conosco solo il codice relativo
alle viste e poco altro (e
quindi non ne sono l'autore),
sicuramente NON conviene
14. Se l'estensione è semplice, ad
esempio un plugin, o un
modulo composto da pochi file
e n o n l e g a t o a u n
componente, vale la pena
modificarla. Se non ne
conosco bene il codice potrò
studiarlo in poco tempo
15. Se sono l'autore
dovrò chiedermi se
sia più conveniente
(=veloce, =semplice)
rifarla o adattarla
17. È una delle modifiche più evidenti,
riscontrabile in ogni cambiamento avvenuto
in Joomla! 4.
Joomla! 3.8 ha introdotto i namespace in
vista delle prossime versioni e chi è
abituato a programmare con php 7 avrà già
una certa dimestichezza con il loro utilizzo.
Qualsiasi modifica va quindi effettuata
tenendo conto di questa nuova
caratteristica
Joomla! 4 utilizza i namespace
18. Ogni estensione che
utilizza funzioni di una
versione precedente di
p h p d o v r à e s s e r e
modificata in modo da
essere compatibile con
php 7
Joomla! 4 richiede php 7
19. in php 7 substr($string,$start[,
$length]) restituisce una stringa
vuota se la lunghezza di $string è
pari a $start.
Se l'estensione da modificare
utilizza questa funzione potrebbe
essere necessario considerare il
caso specifico indicato e apportare
le dovute integrazioni
Esempio:
20. Tramite la pagina http://php.net/
manual/en/appendices.php è
possibile reperire tutte le info sui
cambiamenti avvenuti nelle varie
versioni di php.
Per sapere da quale versione iniziare
le modifiche verifichiamo quale php
è installato su un server sul quale
l'estensione funziona correttamente
21. Se non l'abbiamo già fatto
dovremo necessariamente
passare a ext/mysqli,
anche in considerazione
del fatto che ext/mysql su
php7 non esiste
Joomla! 4 non supporta ext/mysql
22. … del CMS (quelle in
libraries/cms di
Joomla! 3)
Modifiche alle librerie…
23. Esempio 1:
J I n s t a l l e r T e m p l a t e o r a è
JInstallerAdapterTemplate
Esempio 2:
JSubMenuHelper ora è JHtmlSidebar,
e a differenza della classe precedente
richiede un placeholder nel template
Esempio:
28. Joomla! 4 utilizza le nuove
versioni di molte librerie
esterne, ad esempio:
- PhpMailer 6 (pienamente
compatibile con php 7)
- JQuery 3
- Bootstrap 4
29. Di conseguenza tutte le
estensioni che utilizzano
queste librerie dovranno
adeguarsi alle nuove
versioni…
30. … in particolare i
template dovranno
tenere conto degli
aggiornamenti
32. Non bisogna dimenticare
i n o l t re c h e l ' a t t u a l e
versione di Joomla! 4 è
u n a A l p h a , p e r c u i
potrebbero esserci ulteriori
cambiamenti di cui tener
conto