SlideShare a Scribd company logo
1 of 33
Convertire estensioni
di Joomla! 3 a Joomla! 4
Loredana Fineo
Il passaggio alla
prossima versione di
Joomla! comporterà
un po' di lavoro per
gli sviluppatori
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
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
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!
Se non lo saremo...
Potremmo ottenere questo risultato!
È necessario quindi
sfruttare l'attuale versione
3.8 e la prossima 3.9 per
imparare e adeguarsi agli
standard di Joomla! 4
Conviene modificare
estensioni esistenti?
Ogni caso va
valutato
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?
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)
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
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
Se sono l'autore
dovrò chiedermi se
sia più conveniente
(=veloce, =semplice)
rifarla o adattarla
Quali modifiche
apportare?
È 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
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
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:
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
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
… del CMS (quelle in
libraries/cms di
Joomla! 3)
Modifiche alle librerie…
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:
… della piattaforma
(quelle in libraries/joomla e in
libraries/legacy di Joomla! 3)
Modifiche alle librerie…
Molte classi sono
state modificate,
eliminate o deprecate
JApplicationBase è ora
deprecata e in futuro
verrà rimossa.Al suo
posto è necessario usare
JoomlaApplicationAbstr
actApplication
Esempio:
… esterne
Modifiche alle librerie…
Joomla! 4 utilizza le nuove
versioni di molte librerie
esterne, ad esempio:
- PhpMailer 6 (pienamente
compatibile con php 7)
- JQuery 3
- Bootstrap 4
Di conseguenza tutte le
estensioni che utilizzano
queste librerie dovranno
adeguarsi alle nuove
versioni…
… in particolare i
template dovranno
tenere conto degli
aggiornamenti
Ogni aggiornamento è
documentato nelle
relative pagine, da
studiare e consultare
durante gli interventi di
modifica
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
Loredana
Fineo
JUG Lanciano
Amministratore
Multi Media Hermes Srl
E-mail: info@loredanafineo.it
Facebook
Linkedin

More Related Content

Similar to Convertire estensioni da Joomla! 3 a Joomla! 4

Giornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomlaGiornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomlagianpel
 
Giornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomlaGiornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomlagianpel
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capturefcospito
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capturefcospito
 
Joomla! 2.5 - Presentazione al PUG Friuli
Joomla! 2.5 - Presentazione al PUG FriuliJoomla! 2.5 - Presentazione al PUG Friuli
Joomla! 2.5 - Presentazione al PUG Friuliccaps
 
Html5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fattoHtml5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fattoRocco Passaro
 
Html5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fattoHtml5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fattoRocco Passaro
 
Un Cms Per La Scuola Joomlafap
Un Cms Per La Scuola JoomlafapUn Cms Per La Scuola Joomlafap
Un Cms Per La Scuola JoomlafapLavia Di Sabatino
 
Un Cms Per La Scuola Joomlafap
Un Cms Per La Scuola JoomlafapUn Cms Per La Scuola Joomlafap
Un Cms Per La Scuola JoomlafapLavia Di Sabatino
 
WPext a better and more extended WordPress
WPext a better and more extended WordPressWPext a better and more extended WordPress
WPext a better and more extended WordPressWeb che Funziona
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Giorgio Carpoca
 
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggioPHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggioMassimiliano Arione
 
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...LucaGre
 
Hosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDay
Hosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDayHosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDay
Hosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDayAruba S.p.A.
 
Toscana Joomla Party - Proteggiamo il nostro sito Joomla!
Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!
Toscana Joomla Party - Proteggiamo il nostro sito Joomla!Paolo Nuti
 
TYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novitàTYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novitàRoberto Torresani
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMSRoberto Polillo
 
Ricerca Operativa - AMPL
Ricerca Operativa - AMPLRicerca Operativa - AMPL
Ricerca Operativa - AMPLmacdario
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHPextrategy
 

Similar to Convertire estensioni da Joomla! 3 a Joomla! 4 (20)

Giornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomlaGiornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomla
 
Giornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomlaGiornata aperta sul_web_11-04-2011_joomla
Giornata aperta sul_web_11-04-2011_joomla
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capture
 
Detailed Model Capture
Detailed Model CaptureDetailed Model Capture
Detailed Model Capture
 
Joomla! 2.5 - Presentazione al PUG Friuli
Joomla! 2.5 - Presentazione al PUG FriuliJoomla! 2.5 - Presentazione al PUG Friuli
Joomla! 2.5 - Presentazione al PUG Friuli
 
Html5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fattoHtml5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fatto
 
Html5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fattoHtml5 e css3 nei miei progetti: cosa ho fatto
Html5 e css3 nei miei progetti: cosa ho fatto
 
Un Cms Per La Scuola Joomlafap
Un Cms Per La Scuola JoomlafapUn Cms Per La Scuola Joomlafap
Un Cms Per La Scuola Joomlafap
 
Un Cms Per La Scuola Joomlafap
Un Cms Per La Scuola JoomlafapUn Cms Per La Scuola Joomlafap
Un Cms Per La Scuola Joomlafap
 
WPext a better and more extended WordPress
WPext a better and more extended WordPressWPext a better and more extended WordPress
WPext a better and more extended WordPress
 
Sviluppare moduli per il client web
Sviluppare moduli per il client webSviluppare moduli per il client web
Sviluppare moduli per il client web
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3
 
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggioPHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggio
 
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
 
Hosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDay
Hosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDayHosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDay
Hosting: Joomla e Drupal, confronto e setup - parte1 #TipOfTheDay
 
Toscana Joomla Party - Proteggiamo il nostro sito Joomla!
Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!
Toscana Joomla Party - Proteggiamo il nostro sito Joomla!
 
TYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novitàTYPO3 Versione 10.4 - Le novità
TYPO3 Versione 10.4 - Le novità
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMS
 
Ricerca Operativa - AMPL
Ricerca Operativa - AMPLRicerca Operativa - AMPL
Ricerca Operativa - AMPL
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHP
 

Convertire estensioni da Joomla! 3 a Joomla! 4

  • 1. Convertire estensioni di Joomla! 3 a Joomla! 4 Loredana Fineo
  • 2. Il passaggio alla prossima versione di Joomla! comporterà un po' di lavoro per gli sviluppatori
  • 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!
  • 6. Se non lo saremo...
  • 8. È necessario quindi sfruttare l'attuale versione 3.8 e la prossima 3.9 per imparare e adeguarsi agli standard di Joomla! 4
  • 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:
  • 24. … della piattaforma (quelle in libraries/joomla e in libraries/legacy di Joomla! 3) Modifiche alle librerie…
  • 25. Molte classi sono state modificate, eliminate o deprecate
  • 26. JApplicationBase è ora deprecata e in futuro verrà rimossa.Al suo posto è necessario usare JoomlaApplicationAbstr actApplication 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
  • 31. Ogni aggiornamento è documentato nelle relative pagine, da studiare e consultare durante gli interventi di modifica
  • 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
  • 33. Loredana Fineo JUG Lanciano Amministratore Multi Media Hermes Srl E-mail: info@loredanafineo.it Facebook Linkedin