Premessa importante: WordPress non è un framework, ma è piuttosto un’applicazione ben strutturata. Cosa vuol dire questo? Utilizzando WordPress come “fondamenta” è possibile costruire web application in grado di svolgere compiti diversi dal puro CMS. Le caratteristiche principali che lo rendono tale sono:

  •  Gestione utenti
  • Possibilità di utilizzare template
  • Localizzazione
  • Validazione di form e dati
  • Upload di file e gestione dei media in generale
  • Possibilità di manipolazione immagini
  • Possibilità di estendere le funzionalità utilizzando hook, filters, plugin e snippet di codice
  • Possibilità di creare nuovi tipi di dati grazie ai custom post, alle custom taxonomy e ai custom field.

 

Un esempio pratico: Un gestionale web sviluppato per un nostro cliente.

L’esigenza principale era quella di velocizzare le operazioni di compravendita di metalli.

In particolare la richieste erano:

  •  Accedere all’applicazione dalle diverse postazioni presenti all’interno della struttura del cliente.
  • Inserire rapidamente, all’arrivo del cliente, sia i dati anagrafici che i dettagli sull’operazione in corso.
  • Caricare foto e immagini che documentino l’aspetto dei beni.
  • Produrre una ricevuta da rilasciare al cliente

 

Oltre a queste esigenze ci è stata richiesta la possibilità di effettuare variazioni, verifiche e stampe in modalità singola o aggregata dei dettagli di transazioni e lavorazioni.

Il cliente aveva scartato un’offerta di un software client-server a causa dei costi molto elevati e delle limitazioni di aggiornamento e modifiche successive allo sviluppo iniziale.

La nostra proposta è stata invece di utilizzare WordPress. Lo abbiamo installato su server interno, già presente nell’infrastruttura IT del cliente, rendendolo accessibile da qualsiasi postazione intranet.

Mediante l’utilizzo di gravityforms abbiamo reso disponibile l’inserimento di un’anagrafica. Grazie ai numerosi hook e filter messi a disposizione dal plugin abbiamo effettuato la validazione sui dati immessi e, come azione associata all’invio della form, abbiamo creato un custom post “anagrafica” che con il supporto di custom field è in grado di archiviare tutti i dati dell’utente.

In maniera del tutto similare abbiamo creato un custom post “lavorazione” che, grazie all’utilizzo di una form dedicata, permette l’inserimento di tutti i dettagli relativi ad una determinata consegna.

Abbiamo poi personalizzato il tema twentythirteen aggiungendo diversi template di pagina che permettano la ricerca sui dati inseriti e la creazione di pdf contenenti dettagli sull’anagrafica o sulle operazioni effettuate.

Per la generazione di pdf abbiamo utilizzato la libreria PHP gratuita FPDF. Utilizzando le API interne a WordPress abbiamo poi inserito il file nella media library e associandolo successivamente ai diversi custom post tramite un custom field. In questo modo è possibile andare a recuperare con facilità i file generati per una determinata anagrafica o lavorazione.

La conclusione? La potenza di WordPress, assieme ad un’iniziale attenta analisi dei requisiti e un’approfondita conoscenza della piattaforma, permette di utilizzarlo con soddisfazione anche per progetti diversi e ben più complessi di un semplice sito web.