La nuova sprint release: TYPO3 CMS 8.4
Le principali innovazioni:
- revisione del backend per un utilizzo da tablet e da smartphone
- prosegue la migrazione ad un totale utilizzo di Doctrine per le chiamate al database, manuale compreso
- wizard per semplificare e monitorare gli upgrade di release
- e molte altri miglioramenti descritti in questo documento
1 of 45
Download to read offline
More Related Content
TYPO3 CMS 8.4 - Le novità
1. TYPO3 CMS 8.4 - Le novità
Riepilogo delle funzionalità, modi che e aggiornamenti
Creato da:
Patrick Lobacher e Michael Schams
Traduzione italiana di:
Roberto Torresani (roberto.torresani (at) typo3.org)
13/January/2017
Creative Commons BY-NC-SA 3.0
2. TYPO3 CMS 8.4 - Le novità
Indice delle sezioni
Introduzione
Interfaccia utente Backend
TSconfig & TypoScript
Modifiche rilevanti
Extbase & Fluid
Funzionalità deprecate/rimosse
Fonti e autori
TYPO3 CMS 8.4 - Le novità
4. Introduzione
TYPO3 CMS 8.4 - I fatti in breve
Data di rilascio: 18 Ottobre 2016
Tipo di rilascio: Sprint Release
Slogan: Fueling
TYPO3 CMS 8.4 - Le novità
5. Introduzione
Requisiti di sistema
PHP: versione 7
MySQL: versione da 5.5 a 5.7
Spazio disco: min 200 MB
Impostazioni PHP:
memory_limit >= 128M
max_execution_time >= 240s
max_input_vars >= 1500
l'opzione di compilazione --disable-ipv6 non deve essere usata
Il Backend richiede Microsoft Internet Explorer 11 o superiore,
Microsoft Edge, Google Chrome, Firefox, Safari o altro browser recente
e compatibile
TYPO3 CMS 8.4 - Le novità
7. Introduzione
TYPO3 CMS Roadmap
Date di rilascio stimate e loro obiettivo principale:
v8.0 22/Mar/2016 Aggiunta di parti dell'ultimo momento
v8.1 03/Mag/2016 Integrazione cloud
v8.2 05/Lug/2016 Prerequisiti Doctrine
v8.3 30/Ago/2016 Rich Text Editor
v8.4 18/Ott/2016 Migrazione Doctrine + Aggiornamenti
v8.5 20/Dic/2016 Nuovo RTE + Supporto Integrazione
v8.6 14/Feb/2017 da determinare
v8.7 04/Apr/2017 Preparazione LTS
https://typo3.org/typo3-cms/roadmap/
https://typo3.org/news/article/kicking-off-typo3-v8-development/
TYPO3 CMS 8.4 - Le novità
8. Introduzione
Installazione
Procedura uf ciale di installazione su Linux/Mac OS X
(Directory Root ad esempio /var/www/site/htdocs):
$ cd /var/www/site
$ wget --content-disposition get.typo3.org/8.4
$ tar xzf typo3_src-8.4.1.tar.gz
$ cd htdocs
$ ln -s ../typo3_src-8.4.1 typo3_src
$ ln -s typo3_src/index.php
$ ln -s typo3_src/typo3
$ touch FIRST_INSTALL
Link simbolici in Microsoft Windows:
Usa junction in Windows XP/2000
Usa mklink in Windows Vista e Windows 7
TYPO3 CMS 8.4 - Le novità
9. Introduzione
Aggiornamento a TYPO3 CMS 8.x
Aggiornamenti possibili solo da TYPO3 CMS 7.6 LTS
TYPO3 CMS < 7.6 LTS deve essere prima aggiornato a TYPO3 CMS 7.6 LTS
Istruzioni per l'aggiornamento:
http://wiki.typo3.org/Upgrade#Upgrading_to_8.3
Guida uf ciale TYPO3 "TYPO3 Installation and Upgrading":
http://docs.typo3.org/typo3cms/InstallationGuide
Approcio generale:
Veri ca i requisiti minimi di sistema (PHP, MySQL, etc.)
Veri ca deprecation_*.log nella vecchia istanza TYPO3
Aggiorna tutte le estensioni all'ultima versione
Imposta il nuovo sorgente ed esegui Install Tool -> Upgrade Wizard
Veri ca il modulo di startup per gli utenti di backend (opzionale)
TYPO3 CMS 8.4 - Le novità
10. Introduzione
PHP Version 7
PHP 7.0 è un requisito minimo per TYPO3 CMS 8.x
TYPO3 supporterà i successivi rilasci di PHP 7 mano a mano che
saranno pubblicati
Questa versione fornisce un signi cativo incremento delle prestazioni
del sistema
Non solo gli editori di backend noteranno un interfaccia più veloce, ma
il tempo di caricamento di un intera pagina di frontend in cache è
inferiore a 7 millisecondi, che è circa il 40% più veloce paragonandolo
allo stesso sito web con PHP versione 5.5
Si sono iniziate ad utilizzare anche le nuove funzioni di questa versione
di PHP, per esempio i generatori crittogra ci pseudo-casuali sono già
in uso.
TYPO3 CMS 8.4 - Le novità
12. Interfaccia utente Backend
Backend TYPO3 responsivo
Ora il backend di TYPO3 Backend è completamente responsivo per mobile.
TYPO3 CMS 8.4 - Le novità
13. Interfaccia utente Backend
Install Tool: analisi upgrade
L'upgrade di versione TYPO3 risulta più facile con il nuovo tool di Upgrade
Analysis nell'Install Tool (cerca/ ltra tutte le modi che documentate tra le
due versioni).
TYPO3 CMS 8.4 - Le novità
14. Interfaccia utente Backend
Install Tool: Dump Autoload Information
Per rigenerare le informazioni caricate automaticamente dalle classi, è stata
aggiunta una nuova azione nell'Install Tool per fare il dump di esse.
TYPO3 CMS 8.4 - Le novità
15. Interfaccia utente Backend
Install Tool: TCA Migration Messages
I messaggi di migrazione del TCA possono essere selezionati/elencati
nell'Install Tool.
TYPO3 CMS 8.4 - Le novità
16. Interfaccia utente Backend
Record sys_language
Per migliorare l'usabilità, ora è possibile ordinare i record sys_language.
TYPO3 CMS 8.4 - Le novità
17. Interfaccia utente Backend
Table Listing Below Group Element
L'opzione di con gurazione del TCA disable_controls del tipo
"group" ha la nuova impostazione allowedTables. Essa permette di
nascondere i suggerimenti delle tabelle autorizzate ad essere
referenziate nelle selezioni del campo.
TYPO3 CMS 8.4 - Le novità
18. TScon g & TypoScript
Capitolo 2:
TScon g & TypoScript
TYPO3 CMS 8.4 - Le novità
19. TScon g & TypoScript
Opzione TCA showIfRTE
L'opzione TCA showIfRTE per type=check è stata rimossa dal TCA di
tutti i campi
La disponibilità dell'Element Browser può essere con gurata sulla base
del singolo utente
Per disabilitare il bottone puoi usare le impostazioni TCA:
[table_name][’columns’][field_name][’config’][’appearance’][’elementBrowserEnabled’] = false;
Per disabilitare il bottone puoi usare le impostazioni pageTs:
TCEFORM.table_name.field_name.config.appearance.elementBrowserEnabled = 0
Per disabilitare il bottone puoi usare le impostazioni userTs:
page.TCEFORM.table_name.field_name.config.appearance.elementBrowserEnabled = 0
TYPO3 CMS 8.4 - Le novità
20. TScon g & TypoScript
Accesso variabili FlexForm
Adesso è possibile accedere alle variabili dei campi di un FlexForm:
lib.flexformContent = CONTENT
lib.flexformContent {
table = tt_content
select {
pidInList = this
}
renderObj = COA
renderObj {
10 = TEXT
10 {
data = flexform: pi_flexform:settings.categories
}
}
}
TYPO3 CMS 8.4 - Le novità
22. Modi che rilevanti
Rimosso ExtJS
Il componente ExtJS TYPO3.Viewport è stato rimosso
Ext.layout e Ext.Viewport non sono più utilizzati nelle
visualizzazioni di backend
Le funzionalità sono state reimplementate con codice JavaScript
nativo, jQuery e soluzioni CSS
I componenti di noti ca ExtJS TYPO3.Window e TYPO3.Dialog sono
stati rimossi
Parti ancora rimaste per la completa rimozione di ExtJS:
albero delle pagine
funzionalità drag'n drop nell'estenzione form
funzionalità ExtDirect
TYPO3 CMS 8.4 - Le novità
23. Modi che rilevanti
Doctrine DBAL
Ulteriori progressi sono stati fatti nella migrazione di tutte le chiamate
del database dal core di TYPO3 attraverso Doctrine DBAL
La persistenza Extbase è ora basata completamente su QueryBuilder di
Doctrine DBAL
EXT:dbal e EXT:adodb sono state rimosse dal core di TYPO3
Se un estensione terza utilizza le vecchie API TYPO3_DB per interagire con tabelle di
database non-MySQL, queste due estensioni devono essere installate dal TER.
Le funzionalità shorthand di TYPO3_DB sono state rimosse per la
maggior parte delle classi PHP di base in TYPO3
(l'uso di $GLOBALS[TYPO3_DB] è ancora possibile, ma sconsigliato)
TYPO3 CMS 8.4 - Le novità
24. Modi che rilevanti
Supporto TypeScript (1)
TypeScript è stato introdotto nel core di TYPO3 core per la gestione
interna di Javascript
TypeScript è un linguaggio di programmazione libero e open source
sviluppato e mantenuto da Microsoft
Si tratta di un rigoroso superset di JavaScript, che può compilare
JavaScript
Maggiori dettagli: https://www.typescriptlang.org
Un processo grunt compila ogni le TypeScript (.ts) in un le Javascript
(.js) e produce un modulo AMD
Nota: tutti i moduli AMD attualmente in TYPO3 CMS dovranno essere migrati a
TypeScript per garantire una futura gestione avanzata di JavaScript. L'obbiettivo è
migrare tutti i moduli AMD a TypeScript prima del rilascio della versione CMS 8 LTS.
TYPO3 CMS 8.4 - Le novità
25. Modi che rilevanti
Supporto TypeScript (2)
Le regole più importanti per TypeScript sono de nite in un rulesets che
è gestito da TypeScript Linter:
De nire e restituire sempre un tipo, anche se TypeScript de nisce un tipo
di default
Variabili di scoping: preferire let invece di var
Le proprietà opzionali nelle interfacce non sono permesse per il core
Un interfaccia non può mai estendere una classe
Iterazioni: usare for (i of list) invece di for (i in list)
Usare sempre implements, anche se TypeScript non lo richiede
Ogni classe o interfaccia devono essere dichiarati con "export" per
permettere il riuso o l'esportazione di un istanza dell'oggetto per il
codice esistente e che non può essere aggiornato al momento.
(non tutte le regole sono ancora veri cate da Linter)
TYPO3 CMS 8.4 - Le novità
26. Modi che rilevanti
Parametri URL nei Shortcuts
Gli Shortcuts prendono in considerazione tutti i parametri delle URL.
Esempio:
La pagina UID 2 è uno shortcut della pagina UID 1
La con gurazione TypoScript prevede: config.linkVars = L
Comortamento vecchio:
http://example.com?id=2&L=1&customparam=X
redirige a:
http://example.com?id=1&L=1
Comportamento Nuovo:
http://example.com?id=2&L=1&customparam=X
redirige a:
http://example.com?id=1&L=1&customparam=X
TYPO3 CMS 8.4 - Le novità
27. Modi che rilevanti
Fluidi cation
Il codice HTML è stato migrato da codice PHP code a Fluid template
Metodi interessati:
TypoScriptTemplateInformationModuleFunctionController
->tableRow()
TypoScriptTemplateConstantEditorModuleFunctionController
->displayExample()
La chiamata a questi metodi ora restituisce un fatal error
TYPO3 CMS 8.4 - Le novità
28. Modi che rilevanti
PageRenderer e Compressor
Le classi PHP PageRenderer e ResourceCompressor ora supportano la
sintassi EXT: per referenziare le JS e CSS dentro le directory delle
estensioni.
Prima:
$this->pageRenderer->addJsFile(
ExtensionManagementUtility::extRelPath(’myextension’) .
’Resources/Public/JavaScript/example.js’
);
Ora è possibile:
$this->pageRenderer->addJsFile(
’EXT:myextension/Resources/Public/JavaScript/example.js’
);
TYPO3 CMS 8.4 - Le novità
29. Modi che rilevanti
Varie (1)
EXT:indexed_search_mysql è stato fuso con EXT:indexed_search
La funzionalità "subsearch" è stata rimossa da
EXT:indexed_search_mysql
(L'opzione TypoScript plugin.tx_indexedsearch.clearSearchBox è stata
rimossa)
Il tipo restituito da ContentObjectRenderer::exec_Query() è
cambiato
(Il valore restituito è ora DoctrineDBALDriverStatement )
Per rendere intuitivo che le informazioni autoload non sono in cache, i
le sono stati spostati da typo3temp/ a typo3conf/
Nota: Le implementazioni TYPO3, che non utilizzano composer, probabilmente avranno
bisogno di alcuni aggiustamenti per gestire la nuova posizione.
TYPO3 CMS 8.4 - Le novità
31. Extbase & Fluid
Doctrine DBAL
La persistenza di Extbase utilizza ora Doctrine DBAL's QueryBuilder
Questo permette che le prepared statements di tutte le query Extbase
mantengano la compatibilità all'indietro
TYPO3 CMS 8.4 - Le novità
32. Extbase & Fluid
Pulizia ObjectAccess (1)
Vari miglioramenti della classe ObjectAccess, che si traducono in un
incremento delle prestazioni
Sono state implementate le seguenti modi che:
Utilizzo maggiore di metodi nativi PHP dove possibile
Utilizzo minore di chiamate a metodi dove possibile
Rimozione di variabili passate by reference
Più funzioni restituiscono null invece di creare un Exceptions
Decisioni veloci e modalità di accesso messa al primo posto
...
TYPO3 CMS 8.4 - Le novità
33. Extbase & Fluid
Pulizia ObjectAccess (2)
Sono state implementate le seguenti modi che: (continua):
...
Re ection-based access isolated to edge cases and access with the
"force direct access" ag enabled
Sacri cata la possibilità di leggere il tipo di un oggetto persistente
contenuto in un ObjectStorage o in una sottoclasse di ObjectStorage
Cambia il risultato da false a true per determinare se una proprietà
aggiunta dinamicamente esiste su un oggetto.
TYPO3 CMS 8.4 - Le novità
34. Extbase & Fluid
RecordCollectionRepository:: ndByUid()
Il comportamento di
RecordCollectionRepository::findByUid() è cambiato
Quando TYPO3 è in modalità FE, il metodo rispetta la con gurazione
enable elds
Invece di restituire un oggetto che potrebbe essere disabilitato,
restituisce un oggetto null
TYPO3 CMS 8.4 - Le novità
36. Funzionalità deprecate/rimosse
Icone nello Wizard rimosse
Le seguenti icone sono state rimosse dallo FormFieldWizard:
wizard_add.gif
wizard_edit.gif
wizard_link.gif
wizard_list.gif
wizard_rte.gif
wizard_table.gif
TYPO3 CMS 8.4 - Le novità
37. Funzionalità deprecate/rimosse
Icone del EXT:t3skin
Le icone di EXT:t3skin sono state rimosse o spostate
Rimosse:
typo3/sysext/t3skin/icons/gfx/error.png
typo3/sysext/t3skin/icons/gfx/i/_icon_ftp.gif
typo3/sysext/t3skin/icons/gfx/information.png
typo3/sysext/t3skin/icons/gfx/notice.png
typo3/sysext/t3skin/icons/gfx/warning.png
Spostate:
typo3/sysext/t3skin/icons/gfx/icon_fatalerror.gif
typo3/sysext/t3skin/images/icons/status/status-edit-read-only.png
typo3/sysext/t3skin/images/icons/status/warning-in-use.png
typo3/sysext/t3skin/images/icons/status/warning-lock.png
typo3/sysext/t3skin/images/icons/status/status-reference-hard.png
typo3/sysext/t3skin/images/icons/status/status-reference-soft.png
TYPO3 CMS 8.4 - Le novità
38. Funzionalità deprecate/rimosse
Albero delle pagine e funzionalità del "click menu"
Le funzionalità obsolete dell'albero delle pagine e del "click menu"
sono state rimosse
Proprietà:
FileSystemNavigationFrameController->doHighlight
ClickMenu->leftIcons
Impostazioni TypoScript:
options.pageTree.disableTitleHighlight
options.contextMenu.options.leftIcons
TYPO3 CMS 8.4 - Le novità
39. Funzionalità deprecate/rimosse
ExtensionManagementUtility::extRelPath()
Il metodo ExtensionManagementUtility::extRelPath() è stato
impostato come deprecato
Questo metodo era usato per ottenere il path relativo allo script
corrente
Sono disponibili metodi alternativi:
ExtensionManagementUtility::extPath()
(per ottenere il percorso completo di un estensione)
ExtensionManagementUtility::siteRelPath()
(per ottenere il percorso relativo di un estensione rispetto a PATH_site
GeneralUtility::getFileAbsFileName()
(per ottenere il percorso pre ssato di EXT:myextension
PathUtility::getAbsoluteWebPath()
(per ottenere il percorso assoluto pre ssato per una cartella web)
TYPO3 CMS 8.4 - Le novità
40. Funzionalità deprecate/rimosse
Varie (1)
Il metodo FormResultCompiler->JStop() è stato rinominato con
addCssFiles(). Il vecchio metodo è ancora presente come deprecato
e sarà rimosso in TYPO3 v9.
Il metodo ClickMenu::DB_editPageProperties() è stato marcato
come deprecato
I seguenti argomenti del metodo
RecyclerUtility::getRecordPath() sono stati marcati come
deprecati:
$clause
$titleLimit
$fullTitleLimit
TYPO3 CMS 8.4 - Le novità
41. Funzionalità deprecate/rimosse
Varie (2)
Le seguenti librerie ExtJS JavaScript non utilizzate sono state rimosse:
app.SearchField
grid.RowExpander
ux.FitToParent
Il RTEHtmlArea eID (rtehtmlarea_spellchecker), per l'utilizzo del
correttore automatico, è stato rimosso e l'entry point per le richieste
HTTP di SpellCheckingController->main è stato marcato come
deprecato
Il formato DateTime::ISO8601 è incompatibile con ISO-8601, ma è
stato lasciato per ragioni di compatibilità all'indietro. Le costanti
DateTime::ATOM o DATE_ATOM vanno usate invece.
TYPO3 CMS 8.4 - Le novità
42. Funzionalità deprecate/rimosse
Varie (3)
Il modulo AMD TYPO3/CMS/Core/QueryGenerator è stato spostato
in EXT:lowlevel
(e rinominato in TYPO3/CMS/Lowlevel/QueryGenerator)
Il metodo PageLayoutView::getResult() è stato marcato come
deprecato nell'uso dell'oggetto mysqli_result come primo
parametro
Se TYPO3 non è in modalità composer, veniva utilizzato
automaticamente il dump delle classi delle estensioni nel caricamento
delle informazioni nella fase di bootstrap. Questo comportamento è
ora deprecato.
TYPO3 CMS 8.4 - Le novità
44. Fonti e autori
Fonti
TYPO3 News:
http://typo3.org/news
Note sulla release:
http://wiki.typo3.org/TYPO3_CMS_8.4.0
INSTALL.md e ChangeLog
typo3/sysext/core/Documentation/Changelog/8.4/*
TYPO3 Bug-/Segnalazioni:
https://forge.typo3.org/projects/typo3cms-core
Repositori Git di TYPO3 e Fluid:
https://git.typo3.org/Packages/TYPO3.CMS.git
https://github.com/TYPO3Fluid/Fluid
TYPO3 CMS 8.4 - Le novità
45. Fonti e autori
Team TYPO3 CMS What's New:
Pierrick Caillon, Sergio Catala, Richard Haeser, Jigal van Hemert,
Patrick Lobacher, Michel Mix, Sinisa Mitrovic,
Nena Jelena Radovic, Michael Schams e Roberto Torresani
http://typo3.org/download/release-notes/whats-new
Licensed under Creative Commons BY-NC-SA 3.0
TYPO3 CMS 8.4 - Le novità