Guida allo sviluppo di plugin per wordpress: condividere il plugin

In questo articolo vedremo come caricare il plugin che abbiamo sviluppato sul repository di WordPress in modo da renderlo disponibile alla community, in questo modo.Ovviamente é leggermente diverso da quello che abbiamo sviluppato insieme; ho aggiunto il color-picker, utilizzato un’immagine per la chiusura e l’ho tradotto in inglese.

Ora, prima di passare alla pubblicazione inizieremo con una serie di controlli.

Come eseguire il Debug?

Non vorrai pubblicare un plugin buggato? No di certo.
Anche se hai attivato la visualizzazione degli errori di php, WordPress può fare di più, come?
Nel file wp-config.php troverai la costante WP_DEBUG impostata di default su false; impostiamola su true.

define('WP_DEBUG', true);

In questo modo, oltre ad eventuali errori di php, verranno visualizzati anche gli errori di WordPress, come ad esempio l’utilizzo di funzioni deprecate. Bene, il nostro plugin non deve contenere errori.
Ricordo che anche un errore di livello notice é da considerarsi un bug.

Anche il codice javascript non deve provocare errori. Per questo possiamo attivare Firebug e verificare.

Le verifiche vanno fatte sia sul lato utente che sul lato amministrativo.

Codice valido

Il plugin dovrà avere codice valido (XHTML e CSS) o se non lo é, dobbiamo avere una buona scusa. Nel nostro caso abbiamo utilizzato delle proprietà CSS 3 per arrotondare gli angoli del box; possiamo ritenerlo accettabile.

Best practices

Verifichiamo l’attuazione delle best practices che abbiamo visto negli articoli precedenti; controlliamo soprattutto che:

  • nomi di funzioni;
  • nomi di opzioni;
  • nomi di id e classi;

devono essere complessi in modo da limitare al minimo il rischio di collisioni con altri plugin.

Commentare e tradurre

Nel corso del tutorial ci siamo concentrati sulle procedure ma non abbiamo considerato un aspetto molto importante, ovvero i commenti. Il codice va ordinato e commentato.
Inoltre, se vogliamo distribuire il plugin a livello globale, abbiamo due possibilità:

  1. lo traduciamo in inglese;
  2. aggiungiamo un sistema di localizzazione con traduzione in italiano e inglese e magari anche qualche altra lingua (un giorno forse ci scriveremo un articolo).

Effettuare la richiesta

A partire da questo punto devi disporre di un account su WordPress ed essere loggato.
Ora, nella “Plugin Directory” (extend -> Plugins) clicca su Developer Center ed in seguito su Add Your Plugin.
Ti apparirà questo form:

Dovrai inserire il nome del plugin ed una breve descrizione.
Questa procedura avrà due effetti, il primo é immediato ed é la creazione della pagina del plugin (che per il momento sarà vuota e non indicizzata)

In secondo luogo verrà inviata la richiesta per creare una nuova directory sul repository SVN di WordPress; ci torneremo più tardi anche perché ci vorrà da qualche ora a qualche giorno prima che la richiesta venga accolta. Nel frattempo ci aspetta ancora un po’ di lavoro.

Come scrivere il file readme.txt?

É inutile che sbuffi e alzi gli occhi al cielo. É indispensabile! Infatti tutte le informazioni per “popolare” la pagina del plugin su wordpress.org vengono prese proprio da questo file, che ovviamente ha una sua struttura ben definita.

Puoi vedere un esempio di come deve essere strutturato il readme.txt qui. Non é obbligatorio mettere tutta quella quantità di informazioni.

Se scarichi il plugin che ho pubblicato ed osservi il file readme.txt, ti risulterà chiaro in che modo la pagina del plugin viene popolata con le informazioni in esso contenute. Tranne per una cosa: gli screenshot.

Come aggiungere gli screenshot del plugin?

Nella sezione screenshot infatti troviamo solo questo:

1. Admin configuration
2. Front end

Queste sono in pratica le didascalie delle immagini. Semplicemente per aggiungere gli screenshot é sufficiente salvare le immagini con il seguente formato:

screenshot-x.png

Dove x é il numero che abbineremo alla didascalia.

Ma attenzione, é appena arrivata una e-mail che annuncia che la nostra richiesta é stata approvata e che abbiamo accesso al repository SVN. SVN, ma cos’é?

Subversion: il salvagente degli sviluppatori

Subversion é uno dei sistemi disponibili per tenere traccia dello sviluppo di software. E’ molto utile se lavoriamo da soli, assolutamente indispensabile se stiamo sviluppando un progetto in collaborazione con altre persone.
Grazie a questo sistema possiamo tenere sempre aggiornati sul repository i vari file che compongono il nostro porgetto. Ma non solo. Possiamo anche riportare il progetto o il singolo file ad uno stato precedente. Ogni modifica viene registrata e può essere recuperata in qualsiasi momento.

Non posso starci sopra troppo in quanto é un argomento vastissimo; se vuoi approfondire ti consiglio questa guida.

Di base subversion si gestisce da riga di comando anche se sono disponibili dei software che facilitano notevolmente l’interazione. Io prenderò in considerazione il client Tortoise.

Una volta installato non succede nulla… apparentemente.

Posizionati in qualsiasi cartella del tuo computer e clicca sul tasto destro del mouse e quindi sulla voce SVN Checkout. Viene mostrata una finestra nella quale, alla voce URL of repository, dovremo inserire l’url che ci é stato inviato da WordPress per e-mail.

Alla richiesta dei dati di autenticazione, inserisci quelli del tuo account WordPress.

Ora subversion creerà la struttra standard delle cartelle:

  • trunk: che conterrà la versione corrente del progetto sulla quale si sta lavorando;
  • tags: che contiene i vari rilasci del software nelle sottocartelle (1.0, 1.1, ecc…)
  • branches: che contiene eventuali ramificazioni del progetto di base.

A questo punto copia i files contenuti nella cartella del plugin all’interno della cartella trunk.
Ora clicca con il tasto destro del mouse sulla cartella creata dal Checkout e scegli SVN Commit, si aprirà questa finestra nella quale dovrai selezionare tutti i file in modo che vengano caricati sul repository:

Ora, ogni volta che modificheremo un file, subversion lo rileverà. Proviamo ad apportare una piccola modifica a qualsiasi file.

Aggiungiamo un a capo (interruzione di riga) nel file del plugin. Ed ecco che subito questa modifica verrà rilevata, in questo modo:

Adesso non dobbiamo far altro che cliccare sul file (o sulla cartella, se i file modificati sono molti) con il tasto destro del mouse e scegliere la voce SVN Commit dal menù contestuale. Ed ecco chi i file modificati vengono aggiornati anche sul repository.

Quando il nostro software sarà pronto per il rilascio, dobbiamo copiare il contenuto della cartella trunk nella cartella tags/[numero di versione].

Clicchiamo con il tasto destro sulla cartella e scegliamo la voce Tortise SVN -> Repo-browser.
Clicchiamo con il tasto destro su trunk e scegliamo copy to ed inseriamo la directory tags/1.0.

Ora il contenuto di trunk é stato copiato in tags/1.0, ma sul repository. Se vuoi aggiornare la situazione anche in locale dovrai cliccare sulla cartella con il tasto destro e scegliere SVN Update. Da questo momento ricomincerai a sviluppare il nuovo rilascio del tuo plugin nella cartella trunk ed una volta completato creerai una nuova cartella in tags.

E se avrai qualche minuto di pazienza potrai osservare che la pagina del plugin sarà completa ed indicizzata.

Come pure sarà disponibile nella ricerca ed installazione di plugin del pannello amministrativo di WordPress.

Conclusione

In questa lunga serie di tutorial abbiamo visto il processo completo di sviluppo di un plugin, dalla sua idea alla realizzazione, al debug ed infine alla condivisione con la community.
Spero che l’intero corso ti sia stato di ispirazione e naturalmente, se hai delle proposte o dei dubbi, questo é il momento di farsi avanti.

Capitoli di questa guida

  1. Introduzione
  2. Gli strumenti di base
  3. La gestione degli script
  4. Il pannello di amministrazione (1/3)
  5. Il pannello di amministrazione (2/3)
  6. Il pannello di amministrazione (3/3)
  7. Condividere il plugin
Tag: ,

L'autore

Maurizio è sposato con la triade PHP - MySql - Apache e, non pago, ha un'amante chiamata jQuery. Ha un blog dove cerca di descrivere nei minimi particolari sia la moglie che l'amante. La sua vera specialità è la realizzazione di gestionali complessi anche se non rifiuta mai un sito web. +

Sito web dell'autore | Altri articoli scritti da

Articoli correlati

10 commenti

Trackback e pingback

  1. Articoli della settimana 20/11/2011 | Saverio Gravagnola
    [...] allo sviluppo di plugin per wordpress: condividere il plugin (Your Inspiration [...]