FasterJoomla

Joomla security and optimization

Visita il nuovo sito FasterJoomla che raccoglie i nostri articoli ed estensioni per Joomla!

Si parla di sicurezza, velocità, sviluppo di estensioni per Joomla.

Trovate pubblicate anche le nostre guide pratiche.

Joomla! 1.6/1.7 sono arrivati.

Dalla versione di Joomla! 1.5 alla 1.7 molte sono le novità, sia per quanto riguarda gli sviluppatori che per gli utenti.Pannello Amministrativo Joomla! 1.7

La prima considerazione da fare prima di affrontare il tema della migrazione è:

Possiamo migrare?

I requisiti di sistema sono grossomodo gli stessi di Joomla! 1.5 quindi da questo punto di vista cambia poco (a meno che non abbiate installato su windows!)

Dovrete invece valutare con somma attenzione tutti i componenti che usate.  Per prima cosa stabilite se vi servono ancora (Joomla! 1.7 supporta la localizzazione e SEO molto meglio dei predecessori, quindi alcuni componenti dedicati a queste funzionalità potrebbero rendersi inutili).  Una volta realizzato l'elenco dei componenti indispensabili per il vostro sito, verificate se esiste una versione per Joomla! 1.7; spesso la versione per Joomla! 1.6 funziona anche su Joomla! 1.7, anche se non sempre è vero; il nuovo sistema di logging ed altre modifiche potrebbero renderli inutilizzabili.

Cosa succede durante la migrazione?

Il metodo più semplice è quello di utilizzare il potente componente jUpgrade, che supporta diversi componenti di terza parte.

Questo creerà le tabelle della nuova versione di Joomla nello stesso database, ma con un altro prefisso (jos_ diventa - per esempio - j17_).  Inoltre copierà i dati significativi - o almeno quelli che ritiene tali - nelle sottocartelle di /jupgrade.

Quanto costa migrare?

La migrazione in sé è un processo estremamente semplice e veloce. Installate il plugin jUpgrade, due click e qualche minuto e avrete una nuova copia del vostro sistema, in una sottocartella /jupgrade, con i contenuti del sito migrati nella nuova struttura all'interno dello stesso database.  L'amministrazione è accessibile da /jupgrade/administrator. 

A questo punto, a seconda della complessità del vostro sito e dei vostri templates, il tempo potrebbe essere di qualche ora per verificare che tutto funzioni, o di qualche giorno per spostare a mano i dati da un componente ad un altro e litigare con le nuove funzioni che - benché più comode e complete - non sono esattamente allo stesso posto delle precedenti.

Differenze principali tra Joomla! 1.5 e 1.7

  1. Installazione "vergine": il prefisso delle tabelle è casuale.

  2. Template manager / new styles window; Stili permette di impostare i parametri dei templates; templates permette la modifica di php e css

  3. Language management: è possibile impostare una lingua per ciascun contenuto, rende di fatto l'uso di JoomFish! non indispensabile.

  4. Le voci di menù sono accessibili dalla gestione menù (un po' più intuitivo)

  5. Dai menù di gestione si aprono sottomenù veloci per le scelte principali (ad es. per gestione articoli si apre Nuovo articolo)

  6. Il menù sistema è stato inglobato nel menù Sito

  7. Dopo il logout, si viene reindirizzati alla pagina di login in administrator quindi si torna alla pagina precedentemente aperta automaticamente.

  8. Nuova opzione per visualizzare un modulo su tutte le pagine eccetto quelle selezionate

  9. Sono disponibili layout alternativi automatici per la homepage

  10. Molti nuovi template di fabbrica

  11. Frontpage rinominata “in evidenza"

  12. Trash warning: il cestino/ recycle bin funziona così: per vuotarlo selezionare nella sezione opportuna (quindi articoli, menù ecc.) il filtro sugli elementi cestinati; a questo punto l'icona cestino diventa “elimina permanentemente”.

  13. Le sezioni non esistono più, e le categorie sono diventate multilivello

Procedura di aggiornamento

  1. Per prima cosa aggiornate all'ultima versione di Joomla! 1.5, al momento di scrivere questo articolo la 1.5.23.
  2. Backup
    1. Se è installato JoomlaPack, fate un backup con questo
    2. Se avete accesso shell, fate un tarball dell'installazione completa:
    3. Se avete accesso phpmyadmin, fate un backup completo del database
    4. Se non avete fatto backup integrale in un modo o nell'altro fermatevi e non procedete oltre finché non riuscite a farlo!
  3. Pulite la cache
  4. Logout
  5. Login
  6. Abilitare Extensions → plugins → System - Mootools Upgrade (questo non è visibile finché non vi ri-loggate)
  7. Installate jUpgrade
  8. Specificate nelle opzioni di jUpgrade il vecchio e nuovo prefisso per le tabelle del database (oppure accettate i defaults)
  9. Troubleshooting:
    1. usare un browser diverso da Firefox 5 per osx (solo se non parte jUpgrade, che nella versione 1.2 è incompatibile)
    2. Rendere scrivibile al processo di apache la cartella root del sito
    3. Riordinare i plugins e mettere system/mootools upgrade come primo in lista
    4. rimuovere gli .htaccess se avete “indurito” la configurazione
    5. mettere configuration.php al suo posto standard se è nascosto
  10. Premete il tasto di jUpgrade e aspettate che termini la migrazione automatica. La migrazione automaticamente scarica la versione aggiornata di Joomla e migra i dati. Al termine avrete accesso alla nuova installazione sotto /jupgrade, la vecchia rimarrà disponibile.
  11. Fate una verifica pignola del sito sotto jupgrade e verificate che tutto sia a posto!  In particolare:
    1. Posizioni dei templates (soprattutto se usate templates commerciali)
    2. Componenti mancanti, jUpgrade supporta solo alcuni componenti, gli altri ve li dovrete migrare a mano
    3. Contenuti, ordine delle sezioni / categorie
    4. Voci di menù, assicuratevi di cliccarle tutte!!!
    5. Contatti è molto più evoluto, forse potete fare a meno di componenti specifici
    6. Se avevate JoomFish! con molti contenuti tradotti, seguite le loro indicazioni; se invece avete poche pagine, forse vi bastano le funzionalità di Joomla! 1.7
    7. La funzione SEF Urls in Componenti/Redirect crea molti alias durante la migrazione, verificateli, eliminate quelli che non vi servono, lasciate solo alias utili
    8. Mettendo i due siti (vecchio e nuovo) fianco a fianco, fate un ulteriore controllo...
  12. Puntate il vostro sito alla nuova cartella (oppure spostatela al posto di quella vecchia), non sovrascrivete la vecchia! In questo modo avrete una installazione pulita
  13. Assicuratevi che la sicurezza sia adeguata, permessi dei files, cartelle di log e temporanee, accesso al database, posizione file di configurazione ecc.

Se avrete seguito le istruzioni fin qui non dovreste aver problemi; nel caso il sito si rifiutasse proprio di funzionare, avete sempre il vecchio a disposizione: e forse vale la pena di aspettare Joomla! 1.8 (Aprile 2012), che è una major release e avrà strumenti più maturi e completi per migrare.

Piccole differenze

Joomla! 1.7 offre notevoli migliorie rispetto al suo predecessore 1.5, ma vista l'entità dell'aggiornamento alcune funzionalità hanno dovuto cambiare posto.

Al di là dei menù di sistema già menzionati ecco una breve lista di dritte per svoltare:

Impostazioni utenti

Per gestire le impostazioni di regsitrazione degli utenti (se è possibile registrarsi dal front-end ecc.) aprire la lista degli utenti e selezionare in alto a destra le Opzioni

Impostazione articoli / mostra titolo ecc.

Se usate le breadcrumbs e siete soliti ripetere il titolo all'inziio di un articolo, in configurazione di base vi troverete con 3 titoli uno sotto l'altro, sempreché abbiate la fortuna di non avere il menù di primo livello ancora sopra, per un record di 4 elementi uno sotto l'altro.

Se volete evitare di visualizzare il titolo, la categoria, il nome dell'autore e configurare altre opzioni aprite la lista articoli, il pulsante Opzioni si trova in alto a destra.

Inserisci video Youtube / codice custom

Questa è fastidiosa, spero verrà risolta in futuro. Al momento abbiamo due filtri che vengono messi in atto in Joomla! 1.7 standard. Il primo è fatto direttamente dall'editor TinyMce, installato e caricato di default su tutti gli utenti. Il secondo dai filtri di contenuto di Joomla.

Il primo rimuove il tag <embed di youtube, l'altro la maggior parte dei codici html.

Al momento (Settembre 2011) l'unico modo è eseguire questi due passi:

1. Rimozione dei filtri di contenuto

Dalle opzioni degli articoli (già usate sopra) selezionate "Filtri testuali" e accanto a Super-User selezionate "Nessun filtro"

2. Rimozione dell'editor TinyMce

Dalla configurazione Globale / Sito / Editor predefinito (per tutti gli utenti)

Da Utenti / Gestione Utenti fare click sul nome dell'utente e sulla destra forzare l'editor "Nessuno"

Una valida alternativa è quella di installare un editor WYSYWYG un po' più evoluto, come ad esempio FCK Editor

Errore 404

Può capitare un errore 404 se eliminate tutti gli articoli e ci sono ancora dei menù - o ancora peggio la voce di menù "Home" - collegati a questi articoli. Leggete questo articolo sui modi per gestire efficacemente gli errori 404.

Ma dov'è il cestino? Come si fa a svuotare il cestino?

Questa è una modifica che non ho proprio capito.  Il cestino è stato reso indipendente per ciascuna delle seguenti categorie di oggetti:

  • moduli
  • voci di menù
  • articoli

Come faccio a vuotarlo?

Dopo aver cestinato un elemento, dovremo selezionare il filtro Stato: Cestinato.

Quindi osservate l'icona cestino in alto a destra:

diventa magicamente Svuota Cestino!

Ora non ci resta che selezionare tutti i files e premere il tasto Svuota Cestino.

Intuitivo, vero?