Sulla Programmazione

Quattro chiacchere sulla programmazione e sulle bit-tecnologie con Fabrizio Cipriani

JQuery SearchIt, inserire un plugin nel repository pubblico di JQuery

Dopo aver sviluppato un piccolo modulo javascript per una sezione del portale universitario della mia azienda, visto che c'ero ho deciso di farne un plugin JQuery e di postarlo sul loro repository ufficiale per i plugin.

Il plugin si chiama JQuery SearchIt ed è raggiungibile a questo indirizzo.

Lo scopo del plugin è quello di rendere ricercabile qualsiasi listbox (select). Naturalmente esistono già vari plugin che fanno la stessa cosa (tra cui lo spettacolare Select2), ma non mi dispiaceva prendere maggiore confidenza con un paio di conosciuti strumenti per sviluppatori disponibili su internet, a loro volta utilizzati da plugins.jquery.com per il processo di pubblicazione.

GitHub

Primo tra tutti GitHub, oramai il più famoso repository gratuito di sorgenti open source (a pagamento e per i progetti privati). La creazione di un repository su GitHub è relativamente veloce, anche grazie alla sezione di aiuto, semplice ed efficace:

Non dimenticate di includere nella radice del progetto un file README.md: questo file viene automaticamente visualizzato da GitHub all'apertura della pagina del progetto, e di solito  ci si aspetta che fornisca le principali informazioni su obiettivi e funzionalità del progetto, e le prime istruzioni per compilare o utilizzare il codice.

Il formato più usato per scrivere il README è il Markdown, un metodo per scrivere velocemente del testo che con piccoli accorgimenti può essere interpretato e trasformato in un documento HTML dall'aspetto semplice ed elegante, particolarmente adatto per file leggimi e la manualistica. 

Creazione del Post-Receive Hook

Torniamo al nostro plugin JQuery: una volta inviato il progetto su GitHub, occorre creare un "post-receive hook", un trigger automatico innescato ad ogni aggiornamento del progetto che punti al repository dei plugin di JQuery.

Questo permette al sito di JQuery di essere costantemente informato di ogni evoluzione del plugin e di tenere aggiornata la sua documentazione.

Anche la creazione dell'hook è questione di pochi minuti. Seguite le istruzioni che trovate nell'aiuto di GitHub. JQuery richiede la creazione di un Post-Receive-Hook che punti al seguente indirizzo:

http://plugins.jquery.com/postreceive-hook

Il file manifesto

Non meno importante è il file manifesto, un file json che contiene tutte le informazioni sul plugin e che fa in modo che queste possano essere indicizzate e archiviate nel repository JQuery. Il nome del file deve essere .jquery.json, ed anche lui deve essere posizionato nella radice del progetto.

Il formato del file è descritto dettagliatamente nella relativa pagina di aiuto di JQuery, ma se volete sbrigarvela velocemente, in fondo alla pagina è riportato un esempio di manifesto che è possibile riutilizzare sostituendo i propri dati a quelli presenti.

Una volta aggiunto l'hook ed il file di manifesto, l'inserimento nel repository dei plugin avviene in modo automatico al successivo aggiornamento del codice nel repository. Normalmente è questione di minuti, quindi se dopo un pò non trovate il vostro plugin date un'occhiata all'error log e cercate il nome del vostro progetto, probabilmente avete sbagliato qualcosa nel file manifesto json.

jsFiddle

Quando vago nei meandri di Google alla ricerca di moduli e plugin da riutilizzare nel mio codice, se trovo qualcosa di interessante la prima cosa che cerco è sempre una pagina demo, dove possa rendermi conto velocemente se è il caso di approfondire o se è meglio cercare altrove.

Se volete anche voi includere una demo nel vostro codice, avete a disposizione l'utilissimo jsFiddle, un sito online in cui è possibile provare in modo interattivo il proprio codice javascript. 

Un paio di copia e incolla, ed ecco la demo del plugin, accessibile a chiunque online:


Riferimenti:

http://plugins.jquery.com/docs/publish/  - come pubblicare un plugin per JQuery
https://github.com/ - home page di GitHub 
http://jsfiddle.net/ - home page di jsFiddle 
http://plugins.jquery.com/searchit/ - pagina del plugin

Comments