Torneremo presto online

Ogni volta che Steve Jobs sta per proferire verbo riguardo alle imminenti novità Mac, il sito di commercio elettronico di Apple viene messo offline.

“We are busy updating the store for you and will be back shortly”, cioè “Siamo impegnati a aggiornare il negozio e torneremo presto”.

Interessante, ma sarà vero? Ne dubito.

Ho cominciato ad avere a che fare con siti di grosse dimensioni qualche anno fa, quando né a me né alla mia azienda erano chiari quali fossero l’impegno e le competenze necessarie per garantire alti livelli di servizio. Ricordo che sfortuna ne abbiamo avuta tanta: prestazioni deludenti, memory leak, aumenti di traffico senza apparente logica. Di tutto, ma non è mai successo che per caricare alcune foto e alcune righe in una tabella, cioè per presentare 4 nuovi prodotti, abbiamo scelto di mettere offline il sito di commercio elettronico per ore.

Esistono molte strategie a disposizione per evitarlo, software e hardware, anche per realtà di piccole dimensioni: bilanciatori, ambienti di stage, repliche di base dati. Quella del sito Apple in aggiornamento è quasi sicuramente una strategia di marketing, e anche piuttosto ben riuscita, considerando che da anni le sezioni “in lavorazione” dei siti sono considerate pessime soluzioni.

L’altro giorno, leggendo i diversi interventi dopo l’ennesimo offline, c’era chi sospettava il rilascio di numerosi nuovi prodotti da parte di Apple, perché “il negozio era irraggiungibile per più tempo rispetto al solito”. Io, invece, sono più propenso a credere a un ritardo dei tecnici web Apple di ritorno dal bar dove hanno passato gran parte della mattinata, in attesa di premere il bottone che fa tornare il negozio online…

Aggiornare a WordPress 2.3 (e vivere felici)

Giovedì ho aggiornato Fucinaweb all’ultima versione di WordPress, la 2.3. L’operazione mi ha richiesto circa 15 minuti. E’ poco ma, come si suol dire, “mi sono preso in anticipo” e nelle scorse settimane ho provato alcune beta e candidate release prima dell’aggiornamento definitivo.

Riporto qui qualche suggerimento che spero possa tornare utile a chi è indeciso sul da farsi e desideri qualche indicazione per poter pianificare la migrazione con animo sereno. Prima di procedere può essere di aiuto un’introduzione ai cambiamenti introdotti in WordPress 2.3, di cui ho scritto in Uno sguardo a WordPress 2.3.

Un buon backup

Introduzione d’obbligo: il database di WordPress 2.3 non è compatibile con le versioni precedenti. Detto in altre parole, se aggiornate a WordPress 2.3 non potete più tornare indietro: siete su un percorso a senso unico. Questa operazione dovrebbe essere l’ultima cosa che fate prima di sovrascrivere i file della versione precedente.

Uno sguardo ai plugin

La migrazione a WordPress 2.3 procederà con tutta probabilità nel migliore dei modi se la vostra installazione di WordPress non è “farcita” di plugin. In caso contrario, soprattutto se fate uso plugin che cambiano radicalmente il comportamento di WordPress o delle categorie, dovrete come minimo aggiornarli alle versioni più recenti. Come dicevo in Compatibilità plugin e WordPress 2.3 esiste una pagina del codex di WordPress che si preoccupa di elencare le compatibilità dei plugin. Se comunque siete in questa situazione mi permetto di consigliarvi, per evitare brutte sorprese, un’installazione di prova di WordPress 2.3. Non ve ne pentirete. Istruzioni sul come procedere le trovate in testa all’intervento Uno sguardo a WordPress 2.3. Ricordatevi di disabilitare tutti i plugin prima di sovrascrivere la vostra installazione (questa è la penultima operazione da fare, prima del backup del database).

I plugin che uso senza problemi nell’installazione di WordPress 2.3 di Fucinaweb sono:

Il tema WordPress: anticipate i cambiamenti

Quando sono migrato a WordPress 2.3 non ho cambiato di una virgola il tema, neppure dopo aver importato i tag di Ultimate Tag Warrior (UTW) nella nuova tassonomia di WordPress. Eppure l’inclusione dei tag nativi di WordPress richiede nei template una funzione diversa (the_tags), rispetto a quella di UTW (UTW_ShowTagsForCurrentPost).

L’aveto già fatto in precedenza. Ho infatti modificato il template così che venga controllata la presenza della funzione the_tags (indice che è installata la versione 2.3 di WordPress), piuttosto che la presenza della funzione relativa a UTW.

Il codice che ne è uscito è questo:

<div class="tags">

  <?php if (function_exists('the_tags')): ?>

    <?php the_tags('Tag: ', ', ', '');?>

  <?php elseif (function_exists('UTW_ShowTagsForCurrentPost')) : ?>

    <?php echo "Tag: " ; UTW_ShowTagsForCurrentPost("commalist");?>

  <?php endif;?>

</div>

Con questo semplice accorgimento il template di Fucinaweb è in grado di funzionare sia con WordPress 2.2 e UTW, sia con WordPress 2.3. Anche se non usate UTW, vi sarà quasi sicuramente sufficiente apportare una piccola modifica al codice per adattarlo alle vostre esigenze.

Se disponete di una pagina dedicata per i tag (per esempio tag.php), e volete visualizzare in testa all’elenco degli interventi una scritta del tipo “Risultati per tag nome_tag“, il codice sarà simile al precedente:

<div class="archive">Risultati per tag

  <?php if (function_exists('single_tag_title')): ?>

    <?php single_tag_title(); ?>

  <?php elseif (function_exists('UTW_ShowCurrentTagSet')) : ?>

    <?php UTW_ShowCurrentTagSet("tagsetsimplelist");?>

  <?php endif;?>

</div>

Tenete presente che le modifiche hanno senso se UTW non è configurato per inserire automaticamente in fondo ai vostri interventi l’elenco dei tag. Dovete averne la completa gestione.

La maschera dei widget in wordpress 2.3La versione 2.3 di WordPress integra anche una tagcloud – l’elenco dei tag in dimensioni crescenti a seconda della loro frequenza. Se il vostro tema utilizza i widget potete trascinare l’elemento nella spalla del vostro template come se fosse uno qualsiasi degli elementi già previsti da WordPress (testo, elenco delle categorie, commenti, ecc.).

Il codice prodotto da questo elemento, quello su cui con tutta probabilità dovrete intervenire personalizzando i fogli di stile, è simile a:

<li id="tag_cloud" class="widget widget_tag_cloud">

  <h2 class="widgettitle">Tag Cloud</h2>

  <a href='url' class='tag-link-2' title='el1' rel="tag" style='font-size:xxpt;'>Tag1</a>

  <a href='url' class='tag-link-2' title='el2' rel="tag" style='font-size:xxpt;'>Tag2</a>

</li>

Conclusione

Quanto sarà traumatica la vostra migrazione a WordPress 2.3? Dipende da quanto avete portato WordPress a fare quello per cui non è pensato. Se la vostra installazione è standard potete procedere senza grossi problemi, altrimenti il consiglio è quello di provare, prima di procedere, un’installazione parallela su una copia del database.

Stai leggendo uno di una serie di interventi dedicati a WordPress 2.3.