xr:d:DAFZ08eXPuc:7,j:46536872311,t:23020620
Aspetti tecnici da valutare quando si progettano plugin
Aspetti tecnici da valutare quando si progettano plugin

Sicurezza

E’ importante tenere presente che WordPress non è stato fatto per contenere dati personali delicati come nel caso (ad esempio) di un plugin per gestire il workflow di acquisto di un immobile. Quindi quando si decide di estendere una funzionalità che raccoglie dati personali o che riguarda informazioni strategiche che di solito vengono gestite in software gestionali dedicati, bisogna:

  • mantenere WordPress sempre aggiornato alle ultime versioni;
  • evitare di installare plugin commerciali per i quali non viene fornita alcuna garanzia;
  • attivare un procedimento che crei backup continui;
  • utilizzare soluzioni per la cifratura dei dati più sensibili:

Velocità/Ottimizzazione

  • utilizzare la classe $wpdb per le tabelle su misura e i database aggiunti;
  • seguire best-practices di ottimizzazione nella fase di progettazione dei dati e nella scrittura delle query;
  • il numero delle righe del database non è importante (WordPress utilizza MySql che è in grado di gestire milioni di righe in una tabella) ma quando il numero dei dati aumenta, bisogna evitare di utilizzare le funzioni relative ai post_meta (add_post_meta()/update_post_meta()/get_post_meta()) perchè in questo caso WordPress utilizzerà una singola tabella per inserire tutti i dati, e diventerà complicato sia scrivere query per tirare fuori informazioni, sia per il server quando gli chiediamo di eseguirle; piuttosto è sensato progettare tabelle su misura per realizzare la struttura dati adeguata al nuovo compito che WordPress dovrà fare;

Disaccoppiamento/Interoperabilità

Una tipica tecnica di progettazione utilizzata nello sviluppo di software gestionali per aumentare la portabilità e la possibilità di estensione su più server, è quella del disaccoppiamento delle parti server e client, e delle parti di amministrazione/backup e frontend, che purtroppo in WordPress non sono affatto distinte. E’ comunque possibile fare qualcosa per migliorare il grado di stabilità del sistema, ad esempio portando le funzionalità server su dei Webservice; a questo proposito, WordPress offre un’interfaccia JSON per gestire le REST API, descritta benissimo nella documentazione ufficiale https://developer.wordpress.org/rest-api.

Autorizzazioni a profili utenti specifici

Alcune funzioni sviluppate nel nuovo plugin, potrebbero essere progettate per l'utilizzo da parte di utenti con profili specifici: ad esempio, una fuzione di export del'anagrafica dei clienti di un WooCommerce, potrebbe essere progettata per essere a disposizione soltanto degli utenti con profilo Amministratore e Editore, mentre dovrebbe esserne impedito l'utilizzo da parte dei Sottoscrittori.


Progettare un plugin è di fatto come progettare un nuovo software e questi, e tanti altri aspetti, devono essere tenuti in considerazione per realizzare ciò che davvero fa la differenza nel lavoro finale.

Lascia un commento