ݺߣ

ݺߣShare a Scribd company logo
TYPO3 Version 10.4 - Le novità
Riepilogo delle funzionalità, modi che e aggiornamenti
Creato da: Michael Schams
Traduzione italiana di:
Roberto Torresani (roberto.torresani (at) typo3.org)
23/June/2020
Creative Commons BY-NC-SA 3.0
TYPO3 Version 10.4 - Le novità
Indice delle sezioni
Introduzione
Interfaccia utente di Backend
Modi che per integratori
Modi che per sviluppatori
Funzioni deprecate/rimosse
Fonti e autori
TYPO3 Version 10.4 - Le novità
Introduzione
Introduzione
I fatti in breve
TYPO3 Version 10.4 - Le novità
Introduzione
TYPO3 Versione 10.4 - I fatti in breve
Data di rilascio: 21 Aprile 2020
Tipo di rilascio: LTS (Long-term Support)
TYPO3 Version 10.4 - Le novità
Introduzione
Sintesi
TYPO3 v10.4 (chiamato anche TYPO3 v10 LTS indicando che si tratta di una versione
di supporto a lungo termine) è la nostra nuova ammiraglia e, senza dubbio, uno dei
sistemi di gestione dei contenuti open source basati su PHP più avanzati
attualmente sul mercato.
Dopo aver pubblicato cinque versioni di sprint da luglio 2019, possiamo affermare
con orgoglio che abbiamo dotato TYPO3 delle migliori librerie PHP moderne e che
abbiamo introdotto alcune fantastiche nuove funzionalità aziendali.
Si noti che questo documento riepiloga solo le modi che tra TYPO3 v10.3 e v10.4.
"What's New ݺߣs" di tutte le versioni TYPO3 v10.x sono disponibili all'indirizzo
typo3.org.
TYPO3 Version 10.4 - Le novità
Introduzione
Requisiti di sistema
PHP versione 7.2, 7.3 or 7.4
Impostazioni PHP:
memory_limit >= 256M
max_execution_time >= 240s
max_input_vars >= 1500
l'opzione di compilazione --disable-ipv6 non deve essere usata
La maggior parte dei database supportati da Doctrine DBAL funzionano
anche con TYPO3. I DB veri cati sono ad esempio:
TYPO3 Version 10.4 - Le novità
Introduzione
Sviluppo, tempi di rilascio e mantenimento
TYPO3 v10
Supporto esteso
La TYPO3 GmbH offre ulteriori opzioni di supporto per TYPO3 v10 LTS anche dopo il 30 Aprile
2023, per ulteriori due anni.
TYPO3 Version 10.4 - Le novità
Introduzione
TYPO3 v10 Roadmap
Date di rilascio e loro obiettivi principali:
v10.0 23/Lug/2019 Preparare la strada per nuovi concetti e API
entusiasmanti
v10.1 01/Ott/2019 Miglioramenti nel routing e nel gestore di sito v2
v10.2 03/Dic/2019 Miglioramenti al motore di rendering Fluid
v10.3 25/Feb/2020 Conferma della funzionalità
v10.4 21/Apr/2020 Rilascio LTS (Long-term Support)
https://typo3.org/article/typo3-v10-roadmap
https://typo3.org/article/typo3-v10-lts-safe-and-sound
TYPO3 Version 10.4 - Le novità
Introduzione
Installazione
Procedura uf ciale, classica, di installazione in Linux/Mac OS X
(Directory Root ad esempio /var/www/site/htdocs):
$ cd /var/www/site
$ wget --content-disposition get.typo3.org/10.4
$ tar xzf typo3_src-10.4.0.tar.gz
$ cd htdocs
$ ln -s ../typo3_src-10.4.0 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 e superiori
TYPO3 Version 10.4 - Le novità
Introduzione
Installazione con composer
Installazione con composer in Linux, Mac OS X e Windows 10:
$ cd /var/www/site/
$ composer create-project typo3/cms-base-distribution typo3v10 ^10.4
In alternativa, crea il tuo le composer.json ed esegui:
$ composer install
Maggiori informazioni e un esempio di le composer.json sono
disponibili su:
https://get.typo3.org/misc/composer/repository
TYPO3 Version 10.4 - Le novità
Interfaccia utente di Backend
Capitolo 1:
Interfaccia utente di Backend
TYPO3 Version 10.4 - Le novità
Interfaccia utente di Backend
Miglioramenti UI Backend
Interfaccia utente leggermente modi cata nella colonna dei moduli di
backend.
TYPO3 Version 10.4 - Le novità
Interfaccia utente di Backend
Nuovo elemento di ricerca di contenuto
Gli utenti di backend possono ora cercare tipi di elementi di contenuto nella
procedura guidata "Nuovo elemento di contenuto":
TYPO3 Version 10.4 - Le novità
Interfaccia utente di Backend
Recupero Password
Gli utenti di backend possono ora richiedere un'e-mail per il recupero della
password per ripristinare i dettagli di accesso.
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Capitolo 2:
Modi che per integratori
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Email di recupero password (1)
La reimpostazione della password per gli utenti di backend sono valide
solo per 4 ore.
Questo limite di tempo non è con gurabile.
Per rafforzare la sicurezza, la funzione può essere disabilitata per gli
utenti amministratori o per tutti gli utenti.
Se gli utenti condividono un indirizzo e-mail, viene utilizzato un testo
e-mail alternativo.
Il campo TCA be_users.email non deve essere impostato a
eval=email.
La funzionalità funziona solo per gli utenti che:
hanno impostato un indirizzo email,
hanno impostato una password, e
non sono disabilitati/cancellati.
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Email di recupero password (2)
Le e-mail di recupero della password possono essere attivate anche
dalla riga di comando.
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Motore di template Fluid
Il core TYPO3 è pienamente compatibile con le versioni Fluid 2.6+ e 3.0+
Le nuove installazioni senza set di dipendenze scaricheranno e
installeranno Fluid versione 3.x (typo3fluid/fluid:ˆ3).
Se il tuo progetto contiene template Fluid incompatibili con la versione
3.0+, esegui una delle seguenti azioni:
Limita la versione massima: typo3fluid/fluid:ˆ2
Aggiorna i tuoi template Fluid.
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Gestione del tipo di pagina
La gestione interna dei tipi di pagina di TYPO3 è cambiata.
L'opzione pages.doktype de nisce un valore numerico che
rappresenta il tipo, es. pagina standard, cartella, shortcut, link verso
URL esterno, ecc.
Le pagine di determinati tipi (es. cartella e cestino) sono state escluse
quando il contenuto è stato letto da una pagina speci ca o sono stati
recuperati i record.
Questa limitazione è stata rimossa e sono ora possibili tipi di pagina
personalizzati con un numero> 200.
Agli integratori e sviluppatori che hanno utilizzato i tipi di pagina, ad
es. in TypoScript, si consiglia di veri care se il comportamento
precedente è stato utilizzato in modo improprio e richiede ora un
aggiornamento.
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Modulo utenti di Backend
Gli integratori sono ora in grado di confrontare singoli gruppi di utenti
backend.
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Workspace
Per molti anni, il core di TYPO3 impostava il pid a -1 per i record non
pubblicati.
Ora TYPO3 gestisce i record con versione convalidando i seguenti tre
campi:
t3ver_wsid (l'ID del workspace in cui è stato eseguito il versioning del
record)
t3ver_state (il tipo di record versionato)
t3ver_oid (la versione live del record)
Perciò, pid=-1 non è più richiesto.
La procedura guidata di aggiornamento converte tutti i campi pid dei
record versionati nel reale valore del pid.
Le nuove installazioni non sono interessate da questa modi ca.
TYPO3 Version 10.4 - Le novità
Modi che per integratori
Pacchetti attivati dal runtime
La seguente opzione di con gurazione globale è stata contrassegnata
deprecata:
$GLOBALS[’TYPO3_CONF_VARS’][’EXT’][’runtimeActivatedPackages’]
L'uso di estensioni attivate dal runtime rallenta signi cativamente
un'istanza di TYPO3.
Si consiglia agli integratori di prendere le misure necessarie, se tali
avvisi sono presenti nel log dei deprecati:
Il supporto per i pacchetti attivati dal runtime verrà rimosso in TYPO3
v11.0.
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
Capitolo 3:
Modi che per sviluppatori
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
Widget della Dashboard (1)
Cambiamenti tra TYPO3 v10.3 e v10.4:
Il modo in cui sono registrati i widget di Dashboard è cambiato.
Le classi astratte non vengono più utilizzate poiché i widget sono
registrati (e con gurati) nel le Services.yaml.
Alcuni tipi di widget ora possono essere creati solo dalla
con gurazione.
Inoltre, ora sono disponibili parole chiave valide per altezza e
larghezza "small", "medium", o "large" (invece di valori numerici).
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
Widget della Dashboard (2)
Cambiamenti tra TYPO3 v10.3 e v10.4:
La classe ButtonUtility è stata rimosssa.
Le interfacce sono state spostate e i loro spazi dei nomi probabilmente
devono essere aggiornati nel codice personalizzato.
VECCHIO: TYPO3CMSDashboardWidgetsInterfaces
NUOVO: TYPO3CMSDashboardWidgets
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
Servizi di autenticazione di terze parti
Le estensioni possono utilizzare l'API del servizio di autenticazione di
TYPO3 per autenticare gli utenti dai servizi di autenticazione tramite
"OAuth", "LDAP", "SAML2", ecc.
L'oggetto TYPO3 AbstractUserAuthentication non taglia più le
password da questi servizi di terze parti.
Tuttavia, questo non è correlato al servizio di autenticazione nativo di
TYPO3 che richiede ancora una password senza spazi iniziali/ nali.
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
TCA: Pre sso URL di base
È ora possibile aggiungere un URL di base personalizzato per le
colonne di tipo slug del TCA.
L'URL di base viene visualizzato davanti al campo di input (pre sso).
Esempio (TCA):
...
’config’ => [
’type’ => ’slug’,
’appearance’ => [
’prefix’ => VendorMyExtensionUserFunctionsFormEngineSlugPrefix::class . ’->getPrefix’
]
]
...
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
QueryBuilder
Ora è possibile applicare restrizioni di query per un set speci co di
tabelle (per essere precisi: alias di tabella).
E' possibile utilizzare il seguente contenitore di restrizione:
TYPO3CMSCoreDatabaseQueryRestrictionLimitToTablesRestrictionContainer
Esempio:
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
->getQueryBuilderForTable(’tt_content’);
$queryBuilder->getRestrictions()
->removeByType(HiddenRestriction::class)
->add(
GeneralUtility::makeInstance(LimitToTablesRestrictionContainer::class)
->addForTables(GeneralUtility::makeInstance(HiddenRestriction::class), [’tt’])
);
$queryBuilder->select(’tt.uid’)->from(’tt_content’, ’tt’);
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
TCA Select Items (Raggruppamento)
I tipi di pagina (pages.doktype), i tipi di contenuto
(tt_content.CType), e i plugin (tt_content.list_type) ora
hanno abilitati raggruppamenti nativi.
Questo è stato precedentemente gestito applicando elementi
"--div--".
Si consiglia agli sviluppatori di rimuovere gli elementi "--div--" dalle
select custom e utilizzare itemGroups al loro posto.
Vedi feature 91008 (grouping) per maggiori dettagli.
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
TCA Select Items (Ordinamento)
La nuova opzione sortOrders è stata aggiunta per i campi select del
TCA.
Ciò consente l'ordinamento degli elementi di selezione TCA statici in
base ai loro valori o etichette.
Vedi feature 91008 (sorting) per maggiori dettagli.
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
GeneralUtility
il terzo argomento del metodo callUserFunction() può essere un
oggetto oppure null.
Qualsiasi altro dato passato come argomento $ref ora genera un
E_USER_DEPRECATED warning.
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
TypoScriptFrontendController
Le seguenti proprietà sono contrassegnate come internal:
TypoScriptFrontendController->sPre
TypoScriptFrontendController->pSetup
TypoScriptFrontendController->all
TypoScriptFrontendController->additionalJavaScript
TypoScriptFrontendController->additionalCSS
TypoScriptFrontendController->JSCode
TypoScriptFrontendController->inlineJS
TypoScriptFrontendController->indexedDocTitle
Il seguente metodo è contrassegnato come internal:
TypoScriptFrontendController->setJS()
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
LinkViewHelpers e UriViewHelpers
Il nuovo argomento language è stato aggiunto ai seguenti
ViewHelper:
<f:link.typolink>
<f:link.page>
<f:uri.typolink>
<f:uri.page>
Questo argomento si collega a una lingua speci ca di una pagina.
Esempio (lingua ID 3):
Go to the
<f:link.page pageUid="42" language="3">french version</f:link.page>
of the "Contact Us" page.
TYPO3 Version 10.4 - Le novità
Modi che per sviluppatori
LinkViewHelpers e UriViewHelpers
Quando viene utilizzata l'API AssetCollector, le risorse CSS e JavaScript
possono essere postelaborate, se necessario.
I seguenti due eventi vengono attivati per questo scopo:
TYPO3CMSCorePageEventBeforeStylesheetsRenderingEvent
TYPO3CMSCorePageEventBeforeJavaScriptsRenderingEvent
Vedi il change log per maggiori dettagli, esempi e note aggiuntive.
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
Capitolo 4:
Funzioni deprecate/rimosse
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
GeneralUtility (1)
I seguenti metodi GeneralUtility sono stati contrassegnati deprecati:
GeneralUtility::IPv6Hex2Bin()
GeneralUtility::IPv6Bin2Hex()
GeneralUtility::compressIPv6()
GeneralUtility::milliseconds()
GeneralUtility::linkThisUrl()
GeneralUtility::flushDirectory()
Impostazione di argomenti aggiuntivi oltre all'URL in
GeneralUtility::getUrl() è stato contrassegnato deprecato.
(questo include: $includeHeader, $requestHeaders, e $report)
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
GeneralUtility (2)
Il seguente metodo è stato rimosso dalla classe GeneralUtility:
GeneralUtility::isRunningOnCgiServerApi().
Questa funzione è ora disponibile come
Environment::isRunningOnCgiServer().
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
Funzionalità LanguageService
Modi che del LanguageService (noto anche come $GLOBALS[LANG]).
La visibilità delle seguenti funzioni è cambiata:
LanguageService->LL_files_cache (ora protected)
LanguageService->LL_labels_cache (ora protected)
LanguageService->getLLL() (ora protected)
LanguageService->debugLL() (ora protected)
La seguente funzione è stata contrassegnata deprecata:
LanguageService->getLabelsWithPrefix()
La seguente funzione è stata contrassegnata internal:
LanguageService->loadSingleTableDescription()
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
Librerie e classi internal
Sono state rimosse le seguenti librerie internal:
"bootstrap-slider"
"jQuery.datatables"
La classe internal TYPO3CMSExtbaseDomainModelFileMount
è stata contrassegnata deprecata.
® Promemoria: Gli autori di estensioni non devono mai utilizzare librerie
che non sono contrassegnate come API pubbliche.
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
ContentObjectRenderer
I seguenti hook sono stati contrassegnati deprecati:
$GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’tslib/class.tslib_content.php’]...
[’cObjTypeAndClass’]
[’cObjTypeAndClassDefault’]
[’extLinkATagParamsHandler’]
[’typolinkLinkHandler’]
I seguenti metodi sono stati contrassegnati deprecati:
cImage()
getBorderAttr()
getImageTagTemplate()
getImageSourceCollection()
linkWrap()
getAltParam()
(tutti i metodi sono stati spostati nella classe ImageContentObject)
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
Fluid AutoComplete ViewHelper
Il ViewHelper Fluid <f:widget.autocomplete> e il relativo
controller sono stati contrassegnati deprecati.
Se usi o estendi quanto segue, dovresti intervenire:
TYPO3CMSFluidViewHelpersWidgetAutocompleteViewHelper
TYPO3CMSFluidViewHelpersWidgetControllerAutocompleteController
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
Fluid AutoComplete ViewHelper
I seguenti modelli FileCollection sono stati contrassegnati deprecati:
TYPO3CMSExtbaseDomainModelStaticFileCollection
TYPO3CMSExtbaseDomainModelFolderBasedFileCollection
TYPO3CMSExtbaseDomainModelAbstractFileCollection
TYPO3CMSExtbasePropertyTypeConverterStaticFileCollectionConverter
TYPO3CMSExtbasePropertyTypeConverterFolderBasedFileCollectionConverter
TYPO3CMSExtbasePropertyTypeConverterAbstractFileCollectionConverter
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
Extbase SignalSlot Dispatcher
Durante lo sviluppo di TYPO3 v10 negli ultimi mesi, tutti i signal
Extbase forniti dal core TYPO3 sono stati migrati agli eventi PSR-14.
Il "SignalSlot Dispatcher" di Extbase è stato contrassegnato deprecato.
Si consiglia agli sviluppatori di estensioni di migrare agli eventi PSR-14
e ai listener di eventi.
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
FileNameValidator API
La logica di convalidazione se il nome di un nuovo le (caricato) o
rinominato è valido, è ora disponibile come nuova API
FileNameValidator:
TYPO3CMSCoreResourceSecurityFileNameValidator
Possibilità di migrazione:
// VECCHIO:
GeneralUtility::verifyFilenameAgainstDenyPattern($filename)
// NUOVO:
GeneralUtility::makeInstance(FileNameValidator::class)->isValid($filename)
// VECCHIO:
FILE_DENY_PATTERN_DEFAULT
// NUOVO:
FileNameValidator::DEFAULT_FILE_DENY_PATTERN
TYPO3 Version 10.4 - Le novità
Funzioni deprecate/rimosse
FileNameValidator API
Tutti gli hook legacy di EXT:felogin sono stati disabilitati e saranno
rimossi in TYPO3 v11:
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’beforeRedirect’]
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’postProcContent’]
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’password_changed’]
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’forgotPasswordMail’]
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’login_confirmed’]
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’login_error’]
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’loginFormOnSubmitFuncs’]
$GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’logout_confirmed’]
Vedi il change log per opzioni di migrazione.
TYPO3 Version 10.4 - Le novità
Fonti e autori
Capitolo 6:
Fonti e autori
TYPO3 Version 10.4 - Le novità
Fonti e autori
Fonti
TYPO3 News:
https://typo3.org/project/news/
Note sui rilasci:
https://get.typo3.org/release-notes/10.x/TYPO3_CMS_10.4.0
TYPO3 v10 ChangeLog
typo3/sysext/core/Documentation/Changelog/10.4/*
TYPO3 Bug-/Issuetracker:
https://forge.typo3.org/projects/typo3cms-core
TYPO3 e Fluid Git Repositories:
https://git.typo3.org/Packages/TYPO3.CMS.git
https://github.com/TYPO3/Fluid
TYPO3 Version 10.4 - Le novità
Fonti e autori
TYPO3 CMS What's New Team:
Paul Blondiaux, Pierrick Caillon, Andreas Fieÿer,
Richard Haeser, Jigal van Hemert, Henrietta Kucsovan, Corina Miron,
Sinisa Mitrovic, Michael Schams e Roberto Torresani
https://typo3.org/help/documentation/whats-new/
Licensed under Creative Commons BY-NC-SA 3.0
TYPO3 Version 10.4 - Le novità

More Related Content

TYPO3 Versione 10.4 - Le novità

  • 1. TYPO3 Version 10.4 - Le novità Riepilogo delle funzionalità, modi che e aggiornamenti Creato da: Michael Schams Traduzione italiana di: Roberto Torresani (roberto.torresani (at) typo3.org) 23/June/2020 Creative Commons BY-NC-SA 3.0
  • 2. TYPO3 Version 10.4 - Le novità Indice delle sezioni Introduzione Interfaccia utente di Backend Modi che per integratori Modi che per sviluppatori Funzioni deprecate/rimosse Fonti e autori TYPO3 Version 10.4 - Le novità
  • 3. Introduzione Introduzione I fatti in breve TYPO3 Version 10.4 - Le novità
  • 4. Introduzione TYPO3 Versione 10.4 - I fatti in breve Data di rilascio: 21 Aprile 2020 Tipo di rilascio: LTS (Long-term Support) TYPO3 Version 10.4 - Le novità
  • 5. Introduzione Sintesi TYPO3 v10.4 (chiamato anche TYPO3 v10 LTS indicando che si tratta di una versione di supporto a lungo termine) è la nostra nuova ammiraglia e, senza dubbio, uno dei sistemi di gestione dei contenuti open source basati su PHP più avanzati attualmente sul mercato. Dopo aver pubblicato cinque versioni di sprint da luglio 2019, possiamo affermare con orgoglio che abbiamo dotato TYPO3 delle migliori librerie PHP moderne e che abbiamo introdotto alcune fantastiche nuove funzionalità aziendali. Si noti che questo documento riepiloga solo le modi che tra TYPO3 v10.3 e v10.4. "What's New ݺߣs" di tutte le versioni TYPO3 v10.x sono disponibili all'indirizzo typo3.org. TYPO3 Version 10.4 - Le novità
  • 6. Introduzione Requisiti di sistema PHP versione 7.2, 7.3 or 7.4 Impostazioni PHP: memory_limit >= 256M max_execution_time >= 240s max_input_vars >= 1500 l'opzione di compilazione --disable-ipv6 non deve essere usata La maggior parte dei database supportati da Doctrine DBAL funzionano anche con TYPO3. I DB veri cati sono ad esempio: TYPO3 Version 10.4 - Le novità
  • 7. Introduzione Sviluppo, tempi di rilascio e mantenimento TYPO3 v10 Supporto esteso La TYPO3 GmbH offre ulteriori opzioni di supporto per TYPO3 v10 LTS anche dopo il 30 Aprile 2023, per ulteriori due anni. TYPO3 Version 10.4 - Le novità
  • 8. Introduzione TYPO3 v10 Roadmap Date di rilascio e loro obiettivi principali: v10.0 23/Lug/2019 Preparare la strada per nuovi concetti e API entusiasmanti v10.1 01/Ott/2019 Miglioramenti nel routing e nel gestore di sito v2 v10.2 03/Dic/2019 Miglioramenti al motore di rendering Fluid v10.3 25/Feb/2020 Conferma della funzionalità v10.4 21/Apr/2020 Rilascio LTS (Long-term Support) https://typo3.org/article/typo3-v10-roadmap https://typo3.org/article/typo3-v10-lts-safe-and-sound TYPO3 Version 10.4 - Le novità
  • 9. Introduzione Installazione Procedura uf ciale, classica, di installazione in Linux/Mac OS X (Directory Root ad esempio /var/www/site/htdocs): $ cd /var/www/site $ wget --content-disposition get.typo3.org/10.4 $ tar xzf typo3_src-10.4.0.tar.gz $ cd htdocs $ ln -s ../typo3_src-10.4.0 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 e superiori TYPO3 Version 10.4 - Le novità
  • 10. Introduzione Installazione con composer Installazione con composer in Linux, Mac OS X e Windows 10: $ cd /var/www/site/ $ composer create-project typo3/cms-base-distribution typo3v10 ^10.4 In alternativa, crea il tuo le composer.json ed esegui: $ composer install Maggiori informazioni e un esempio di le composer.json sono disponibili su: https://get.typo3.org/misc/composer/repository TYPO3 Version 10.4 - Le novità
  • 11. Interfaccia utente di Backend Capitolo 1: Interfaccia utente di Backend TYPO3 Version 10.4 - Le novità
  • 12. Interfaccia utente di Backend Miglioramenti UI Backend Interfaccia utente leggermente modi cata nella colonna dei moduli di backend. TYPO3 Version 10.4 - Le novità
  • 13. Interfaccia utente di Backend Nuovo elemento di ricerca di contenuto Gli utenti di backend possono ora cercare tipi di elementi di contenuto nella procedura guidata "Nuovo elemento di contenuto": TYPO3 Version 10.4 - Le novità
  • 14. Interfaccia utente di Backend Recupero Password Gli utenti di backend possono ora richiedere un'e-mail per il recupero della password per ripristinare i dettagli di accesso. TYPO3 Version 10.4 - Le novità
  • 15. Modi che per integratori Capitolo 2: Modi che per integratori TYPO3 Version 10.4 - Le novità
  • 16. Modi che per integratori Email di recupero password (1) La reimpostazione della password per gli utenti di backend sono valide solo per 4 ore. Questo limite di tempo non è con gurabile. Per rafforzare la sicurezza, la funzione può essere disabilitata per gli utenti amministratori o per tutti gli utenti. Se gli utenti condividono un indirizzo e-mail, viene utilizzato un testo e-mail alternativo. Il campo TCA be_users.email non deve essere impostato a eval=email. La funzionalità funziona solo per gli utenti che: hanno impostato un indirizzo email, hanno impostato una password, e non sono disabilitati/cancellati. TYPO3 Version 10.4 - Le novità
  • 17. Modi che per integratori Email di recupero password (2) Le e-mail di recupero della password possono essere attivate anche dalla riga di comando. TYPO3 Version 10.4 - Le novità
  • 18. Modi che per integratori Motore di template Fluid Il core TYPO3 è pienamente compatibile con le versioni Fluid 2.6+ e 3.0+ Le nuove installazioni senza set di dipendenze scaricheranno e installeranno Fluid versione 3.x (typo3fluid/fluid:ˆ3). Se il tuo progetto contiene template Fluid incompatibili con la versione 3.0+, esegui una delle seguenti azioni: Limita la versione massima: typo3fluid/fluid:ˆ2 Aggiorna i tuoi template Fluid. TYPO3 Version 10.4 - Le novità
  • 19. Modi che per integratori Gestione del tipo di pagina La gestione interna dei tipi di pagina di TYPO3 è cambiata. L'opzione pages.doktype de nisce un valore numerico che rappresenta il tipo, es. pagina standard, cartella, shortcut, link verso URL esterno, ecc. Le pagine di determinati tipi (es. cartella e cestino) sono state escluse quando il contenuto è stato letto da una pagina speci ca o sono stati recuperati i record. Questa limitazione è stata rimossa e sono ora possibili tipi di pagina personalizzati con un numero> 200. Agli integratori e sviluppatori che hanno utilizzato i tipi di pagina, ad es. in TypoScript, si consiglia di veri care se il comportamento precedente è stato utilizzato in modo improprio e richiede ora un aggiornamento. TYPO3 Version 10.4 - Le novità
  • 20. Modi che per integratori Modulo utenti di Backend Gli integratori sono ora in grado di confrontare singoli gruppi di utenti backend. TYPO3 Version 10.4 - Le novità
  • 21. Modi che per integratori Workspace Per molti anni, il core di TYPO3 impostava il pid a -1 per i record non pubblicati. Ora TYPO3 gestisce i record con versione convalidando i seguenti tre campi: t3ver_wsid (l'ID del workspace in cui è stato eseguito il versioning del record) t3ver_state (il tipo di record versionato) t3ver_oid (la versione live del record) Perciò, pid=-1 non è più richiesto. La procedura guidata di aggiornamento converte tutti i campi pid dei record versionati nel reale valore del pid. Le nuove installazioni non sono interessate da questa modi ca. TYPO3 Version 10.4 - Le novità
  • 22. Modi che per integratori Pacchetti attivati dal runtime La seguente opzione di con gurazione globale è stata contrassegnata deprecata: $GLOBALS[’TYPO3_CONF_VARS’][’EXT’][’runtimeActivatedPackages’] L'uso di estensioni attivate dal runtime rallenta signi cativamente un'istanza di TYPO3. Si consiglia agli integratori di prendere le misure necessarie, se tali avvisi sono presenti nel log dei deprecati: Il supporto per i pacchetti attivati dal runtime verrà rimosso in TYPO3 v11.0. TYPO3 Version 10.4 - Le novità
  • 23. Modi che per sviluppatori Capitolo 3: Modi che per sviluppatori TYPO3 Version 10.4 - Le novità
  • 24. Modi che per sviluppatori Widget della Dashboard (1) Cambiamenti tra TYPO3 v10.3 e v10.4: Il modo in cui sono registrati i widget di Dashboard è cambiato. Le classi astratte non vengono più utilizzate poiché i widget sono registrati (e con gurati) nel le Services.yaml. Alcuni tipi di widget ora possono essere creati solo dalla con gurazione. Inoltre, ora sono disponibili parole chiave valide per altezza e larghezza "small", "medium", o "large" (invece di valori numerici). TYPO3 Version 10.4 - Le novità
  • 25. Modi che per sviluppatori Widget della Dashboard (2) Cambiamenti tra TYPO3 v10.3 e v10.4: La classe ButtonUtility è stata rimosssa. Le interfacce sono state spostate e i loro spazi dei nomi probabilmente devono essere aggiornati nel codice personalizzato. VECCHIO: TYPO3CMSDashboardWidgetsInterfaces NUOVO: TYPO3CMSDashboardWidgets TYPO3 Version 10.4 - Le novità
  • 26. Modi che per sviluppatori Servizi di autenticazione di terze parti Le estensioni possono utilizzare l'API del servizio di autenticazione di TYPO3 per autenticare gli utenti dai servizi di autenticazione tramite "OAuth", "LDAP", "SAML2", ecc. L'oggetto TYPO3 AbstractUserAuthentication non taglia più le password da questi servizi di terze parti. Tuttavia, questo non è correlato al servizio di autenticazione nativo di TYPO3 che richiede ancora una password senza spazi iniziali/ nali. TYPO3 Version 10.4 - Le novità
  • 27. Modi che per sviluppatori TCA: Pre sso URL di base È ora possibile aggiungere un URL di base personalizzato per le colonne di tipo slug del TCA. L'URL di base viene visualizzato davanti al campo di input (pre sso). Esempio (TCA): ... ’config’ => [ ’type’ => ’slug’, ’appearance’ => [ ’prefix’ => VendorMyExtensionUserFunctionsFormEngineSlugPrefix::class . ’->getPrefix’ ] ] ... TYPO3 Version 10.4 - Le novità
  • 28. Modi che per sviluppatori QueryBuilder Ora è possibile applicare restrizioni di query per un set speci co di tabelle (per essere precisi: alias di tabella). E' possibile utilizzare il seguente contenitore di restrizione: TYPO3CMSCoreDatabaseQueryRestrictionLimitToTablesRestrictionContainer Esempio: $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class) ->getQueryBuilderForTable(’tt_content’); $queryBuilder->getRestrictions() ->removeByType(HiddenRestriction::class) ->add( GeneralUtility::makeInstance(LimitToTablesRestrictionContainer::class) ->addForTables(GeneralUtility::makeInstance(HiddenRestriction::class), [’tt’]) ); $queryBuilder->select(’tt.uid’)->from(’tt_content’, ’tt’); TYPO3 Version 10.4 - Le novità
  • 29. Modi che per sviluppatori TCA Select Items (Raggruppamento) I tipi di pagina (pages.doktype), i tipi di contenuto (tt_content.CType), e i plugin (tt_content.list_type) ora hanno abilitati raggruppamenti nativi. Questo è stato precedentemente gestito applicando elementi "--div--". Si consiglia agli sviluppatori di rimuovere gli elementi "--div--" dalle select custom e utilizzare itemGroups al loro posto. Vedi feature 91008 (grouping) per maggiori dettagli. TYPO3 Version 10.4 - Le novità
  • 30. Modi che per sviluppatori TCA Select Items (Ordinamento) La nuova opzione sortOrders è stata aggiunta per i campi select del TCA. Ciò consente l'ordinamento degli elementi di selezione TCA statici in base ai loro valori o etichette. Vedi feature 91008 (sorting) per maggiori dettagli. TYPO3 Version 10.4 - Le novità
  • 31. Modi che per sviluppatori GeneralUtility il terzo argomento del metodo callUserFunction() può essere un oggetto oppure null. Qualsiasi altro dato passato come argomento $ref ora genera un E_USER_DEPRECATED warning. TYPO3 Version 10.4 - Le novità
  • 32. Modi che per sviluppatori TypoScriptFrontendController Le seguenti proprietà sono contrassegnate come internal: TypoScriptFrontendController->sPre TypoScriptFrontendController->pSetup TypoScriptFrontendController->all TypoScriptFrontendController->additionalJavaScript TypoScriptFrontendController->additionalCSS TypoScriptFrontendController->JSCode TypoScriptFrontendController->inlineJS TypoScriptFrontendController->indexedDocTitle Il seguente metodo è contrassegnato come internal: TypoScriptFrontendController->setJS() TYPO3 Version 10.4 - Le novità
  • 33. Modi che per sviluppatori LinkViewHelpers e UriViewHelpers Il nuovo argomento language è stato aggiunto ai seguenti ViewHelper: <f:link.typolink> <f:link.page> <f:uri.typolink> <f:uri.page> Questo argomento si collega a una lingua speci ca di una pagina. Esempio (lingua ID 3): Go to the <f:link.page pageUid="42" language="3">french version</f:link.page> of the "Contact Us" page. TYPO3 Version 10.4 - Le novità
  • 34. Modi che per sviluppatori LinkViewHelpers e UriViewHelpers Quando viene utilizzata l'API AssetCollector, le risorse CSS e JavaScript possono essere postelaborate, se necessario. I seguenti due eventi vengono attivati per questo scopo: TYPO3CMSCorePageEventBeforeStylesheetsRenderingEvent TYPO3CMSCorePageEventBeforeJavaScriptsRenderingEvent Vedi il change log per maggiori dettagli, esempi e note aggiuntive. TYPO3 Version 10.4 - Le novità
  • 35. Funzioni deprecate/rimosse Capitolo 4: Funzioni deprecate/rimosse TYPO3 Version 10.4 - Le novità
  • 36. Funzioni deprecate/rimosse GeneralUtility (1) I seguenti metodi GeneralUtility sono stati contrassegnati deprecati: GeneralUtility::IPv6Hex2Bin() GeneralUtility::IPv6Bin2Hex() GeneralUtility::compressIPv6() GeneralUtility::milliseconds() GeneralUtility::linkThisUrl() GeneralUtility::flushDirectory() Impostazione di argomenti aggiuntivi oltre all'URL in GeneralUtility::getUrl() è stato contrassegnato deprecato. (questo include: $includeHeader, $requestHeaders, e $report) TYPO3 Version 10.4 - Le novità
  • 37. Funzioni deprecate/rimosse GeneralUtility (2) Il seguente metodo è stato rimosso dalla classe GeneralUtility: GeneralUtility::isRunningOnCgiServerApi(). Questa funzione è ora disponibile come Environment::isRunningOnCgiServer(). TYPO3 Version 10.4 - Le novità
  • 38. Funzioni deprecate/rimosse Funzionalità LanguageService Modi che del LanguageService (noto anche come $GLOBALS[LANG]). La visibilità delle seguenti funzioni è cambiata: LanguageService->LL_files_cache (ora protected) LanguageService->LL_labels_cache (ora protected) LanguageService->getLLL() (ora protected) LanguageService->debugLL() (ora protected) La seguente funzione è stata contrassegnata deprecata: LanguageService->getLabelsWithPrefix() La seguente funzione è stata contrassegnata internal: LanguageService->loadSingleTableDescription() TYPO3 Version 10.4 - Le novità
  • 39. Funzioni deprecate/rimosse Librerie e classi internal Sono state rimosse le seguenti librerie internal: "bootstrap-slider" "jQuery.datatables" La classe internal TYPO3CMSExtbaseDomainModelFileMount è stata contrassegnata deprecata. ® Promemoria: Gli autori di estensioni non devono mai utilizzare librerie che non sono contrassegnate come API pubbliche. TYPO3 Version 10.4 - Le novità
  • 40. Funzioni deprecate/rimosse ContentObjectRenderer I seguenti hook sono stati contrassegnati deprecati: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’tslib/class.tslib_content.php’]... [’cObjTypeAndClass’] [’cObjTypeAndClassDefault’] [’extLinkATagParamsHandler’] [’typolinkLinkHandler’] I seguenti metodi sono stati contrassegnati deprecati: cImage() getBorderAttr() getImageTagTemplate() getImageSourceCollection() linkWrap() getAltParam() (tutti i metodi sono stati spostati nella classe ImageContentObject) TYPO3 Version 10.4 - Le novità
  • 41. Funzioni deprecate/rimosse Fluid AutoComplete ViewHelper Il ViewHelper Fluid <f:widget.autocomplete> e il relativo controller sono stati contrassegnati deprecati. Se usi o estendi quanto segue, dovresti intervenire: TYPO3CMSFluidViewHelpersWidgetAutocompleteViewHelper TYPO3CMSFluidViewHelpersWidgetControllerAutocompleteController TYPO3 Version 10.4 - Le novità
  • 42. Funzioni deprecate/rimosse Fluid AutoComplete ViewHelper I seguenti modelli FileCollection sono stati contrassegnati deprecati: TYPO3CMSExtbaseDomainModelStaticFileCollection TYPO3CMSExtbaseDomainModelFolderBasedFileCollection TYPO3CMSExtbaseDomainModelAbstractFileCollection TYPO3CMSExtbasePropertyTypeConverterStaticFileCollectionConverter TYPO3CMSExtbasePropertyTypeConverterFolderBasedFileCollectionConverter TYPO3CMSExtbasePropertyTypeConverterAbstractFileCollectionConverter TYPO3 Version 10.4 - Le novità
  • 43. Funzioni deprecate/rimosse Extbase SignalSlot Dispatcher Durante lo sviluppo di TYPO3 v10 negli ultimi mesi, tutti i signal Extbase forniti dal core TYPO3 sono stati migrati agli eventi PSR-14. Il "SignalSlot Dispatcher" di Extbase è stato contrassegnato deprecato. Si consiglia agli sviluppatori di estensioni di migrare agli eventi PSR-14 e ai listener di eventi. TYPO3 Version 10.4 - Le novità
  • 44. Funzioni deprecate/rimosse FileNameValidator API La logica di convalidazione se il nome di un nuovo le (caricato) o rinominato è valido, è ora disponibile come nuova API FileNameValidator: TYPO3CMSCoreResourceSecurityFileNameValidator Possibilità di migrazione: // VECCHIO: GeneralUtility::verifyFilenameAgainstDenyPattern($filename) // NUOVO: GeneralUtility::makeInstance(FileNameValidator::class)->isValid($filename) // VECCHIO: FILE_DENY_PATTERN_DEFAULT // NUOVO: FileNameValidator::DEFAULT_FILE_DENY_PATTERN TYPO3 Version 10.4 - Le novità
  • 45. Funzioni deprecate/rimosse FileNameValidator API Tutti gli hook legacy di EXT:felogin sono stati disabilitati e saranno rimossi in TYPO3 v11: $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’beforeRedirect’] $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’postProcContent’] $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’password_changed’] $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’forgotPasswordMail’] $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’login_confirmed’] $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’login_error’] $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’loginFormOnSubmitFuncs’] $GLOBALS[’TYPO3_CONF_VARS’][’EXTCONF’][’felogin’][’logout_confirmed’] Vedi il change log per opzioni di migrazione. TYPO3 Version 10.4 - Le novità
  • 46. Fonti e autori Capitolo 6: Fonti e autori TYPO3 Version 10.4 - Le novità
  • 47. Fonti e autori Fonti TYPO3 News: https://typo3.org/project/news/ Note sui rilasci: https://get.typo3.org/release-notes/10.x/TYPO3_CMS_10.4.0 TYPO3 v10 ChangeLog typo3/sysext/core/Documentation/Changelog/10.4/* TYPO3 Bug-/Issuetracker: https://forge.typo3.org/projects/typo3cms-core TYPO3 e Fluid Git Repositories: https://git.typo3.org/Packages/TYPO3.CMS.git https://github.com/TYPO3/Fluid TYPO3 Version 10.4 - Le novità
  • 48. Fonti e autori TYPO3 CMS What's New Team: Paul Blondiaux, Pierrick Caillon, Andreas Fieÿer, Richard Haeser, Jigal van Hemert, Henrietta Kucsovan, Corina Miron, Sinisa Mitrovic, Michael Schams e Roberto Torresani https://typo3.org/help/documentation/whats-new/ Licensed under Creative Commons BY-NC-SA 3.0 TYPO3 Version 10.4 - Le novità