giovedì 6 giugno 2013

Shortcode per siti Drupal e WordPress

Per realizzare una pagina web efficace possono essere necessari degli accorgimenti grafici e tipografici che i semplici editor WYSIWYG non sono in grado di offrire nativamente.

Sono quindi stati inventati gli shortcodes, ovvero degli speciali tag che vengono inseriti negli editor dei CMS come WordPress e Drupal.

Solitamente gli shortcode sono fatti in questo modo:
[nome-shortcode parametro=valore parametro=valore ...]
  Contenuto HTML
[/nome-shortcode]

Il nome dello shortcode indicherà come interpretare il contenuto HTML ed i parametri passati al sistema che ha il compito di elaborare il contenuto della pagina.

Il testo scritto dall'utente è processato e tramite uno speciale interprete che trasforma questi tag in codice HTML reale secondo la programmazione di ogni singolo shortcode.

Per WordPress esiste una API ormai consolidata (usata da diverso tempo) che permette la creazione e l'utilizzo di shortcodes adatti ad ogni esigenza, grazie anche a numerose librerie.

Mentre invece per il CMS Drupal la situazione è un po' meno evoluta, pertanto è necessario programmare a mano buona parte degli shortcode con la creazione un modulo per Drupal con shortcodes personalizzati.

L'utilizzo degli shortcode ha semplificato di molto la gestione e l'impaginazione dei contenuti di un sito web, rendendo più snella la struttura tecnica di un sito anche se però ci sono alcuni aspetti che potrebbero comportare dei problemi a lungo andare.

Uno dei problemi principali è la migrazione dei dati (i testi contenuti nel database del sito) da una piattaforma ad un'altra.

Gli shortcodes non sono uno standard come lo è il linguaggio HTML, pertanto il sistema di destinazione deve essere programmato per trattare in maniera adeguata gli shortcode usati nei testi, oppure in fase di migrazione è necessario elaborare i dati in modo che siano necessari il minor numero di interventi manuali ai testi.

Per un sito con qualche decina di testi che usano gli shortcode il problema non si pone, ma se sono presenti migliaia e migliaia di pagine la questione potrebbe essere un po' più delicata.