Pubblicata la prima versione dell’Asset Lending Manager (ALM)

L’associazione di astrofili di cui faccio parte ha bisogno di un programma per tenere traccia di tutti i dispositivi di proprietà dell’associazione, dati temporaneamente in prestito ai soci.

Si tratta soprattutto di telescopi, montature, binocoli e componenti di attrezzature per l’osservazione e l’astrofotografia..

Fino ad oggi è sempre stato tutto gestito con dei fogli Excel, ma con il crescere del numero dei soci e dei dispositivi da assegnare abbiamo pensato di semplificare la gestione e le procedure di prestito con un programma apposito.

Prima di tutto abbiamo fatto una ricerca su Internet per vedere se ci fossero soluzioni Open Source già disponibili, ma abbiamo trovato solo programmi complessi o progetti abbandonati, così abbiamo deciso di sviluppare una soluzione in proprio; poiché abbiamo già un sito in WordPress ho proposto di realizzare un plugin per questo CMS che svolgesse le funzionalità richieste e la proposta è stata accettata.

E’ così che è nato Asset Lending Manager (ALM), di cui questa mattina ho pubblicato la prima versione su GitHub.

Descrizione del plugin

ALM è un plugin open source che si può installare su un qualsiasi sito WordPress e che ha l’ambizione di essere così generico da poter essere utilizzato da associazioni, scuole, laboratori e da qualsiasi organizzazione abbia la necessità di tenere traccia del prestito di oggetti, dispositivi e risorse di vario tipo.

Certo quella pubblicata questa mattina è soltanto la prima versione ed ha un numero limitato di funzionalità, ma già abbiamo un sacco di idee su come potenziarla e renderla ancora più utile.

Nei prossimi giorni inizieremo una fase di test più approfondita per verificarne il funzionamento, poi la metteremo in produzione e cominceremo ad usarla.

Da un punto di vista delle funzionalità è molto semplice da spiegare; intanto definisce alcune nuove entità, che si vanno ad aggiungere a quelli predefiniti di WordPress:

  • Il ruolo Operatore e il ruolo Socio,
  • un tipo di contenuto personalizzato: la Risorsa,
  • tutta una serie di tassonomie personalizzate: tipo risorsa, stato risorsa, categoria risorsa, ecc.
  • la vista elenco delle risorse,
  • la vista dettaglio della risorsa,
  • un menu chiamato ALM nel backoffice del CMS con varie sezioni.

L’idea è quella di provare a chiedere la pubblicazione del plugin sul catalogo ufficiale di WordPress.

Funzionalità del plugin

L’elenco delle risorse è visibile a tutti, anche agli utenti anonimi, e offre la possibilità di cercare all’interno dell’archivio utilizzanso un filtro di testo a campo libero o anche una maschera di ricerca avanzata con vari altri filtri.

Quando si clicca su uno dei risultati di ricerca si apre la vista di dettaglio del dispositivo che contiene varie sezioni che servono sia a descrivere meglio le sue caratteristiche che ad effettuare delle operazioni su di esso.

Il numero delle sezioni dipende dai permessi di ciascun utente, così un utente anonimo vede solo alcuni campi della sezione informativa mentre il socio e l’operatore ne vedono alcune in più in base ai permessi assegnati al loro ruolo.

In particolare un socio può:

  • effettuare una ricerca avanzata all’interno del catalogo,
  • vedere la scheda completa di una risorsa,
  • richiedere il prestito di un dispositvo,
  • accettare o rifiutare la richiesta di prestito di una risorsa in proprio possesso.

Un operatore invece, oltre alle funzionalità di un socio, può:

  • gestire i dispositivi: inserirli, modificarli e cancellarli,
  • gestire le tassonomie,
  • gestire le configurazioni del plugin,
  • visualizzare lo storico degli assegnamenti,
  • può ricevere le notifiche di tutti i prestiti che avvengono all’interno della piattaforma,
  • fare una assegnazione diretta di una risora.

Per quanto riguarda le risorse, al momento possono essere di due tipi: componente o kit. Dove un componente è un oggetto semplice (es: binocolo, libro, quadro, montatura, telescopio semplice, ecc.), mentre un kit è un insieme di componenti (tipicamente i telescopi più grandi sono composti di treppiede, vari oculari, batteria, ecc.). Il programma prevede la possibilità di gestire il fatto che oltre a prestare un intero Kit si possa anche cedere un solo componente  senza che si perda la sua appartenenza a un kit.

Il sistema invia delle notifiche via e-mail in seguito ad alcune azioni compiute dagli utenti: richiesta di prestito, approvazione del prestito, assegnazione diretta, ecc.

Possibili estensioni

Non abbiamo ancora iniziato a provarlo e ad utilizzarlo ma sono già sorte nuove esigenze e nuove idee per le prossime funzionalità da sviluppare, tra queste:

  • la possibilità di associare a una risorsa un QR Code e un barcode,
  • la possibilità di fare il “carico” e lo “scarico” delle risorse assegnate a un socio tramite scansione del QR Code o del barcode,
  • una REST API per permettere l’interoperabilità con altri programmi,
  • una interfaccia di configurazione di vari parametri da inserire nel backoffice,
  • la possibilità di gestire anche il collocamento delle risorse all’interno di un magazzino,
  • la possibilità di gestire anche altri stati: in riparazione, dismesso, ecc.
  • gestire all’interno della piattaforma le comunicazioni tra gli utenti che si devono accordare sulla presa in consegna di una risorsa.

Dipendenze e metododologia di sviluppo

Attualmente ALM dipende solo da ACF (Advanced Custom Fields) un noto plugin per la creazione e la gestione di campi personalizzati all’interno dei tipi di contenuto di WordPress.

PEr quanto riguarda la metodologia di sviluppo, c’è una cosa interessante, perché ho voluto provare a usare come aiutanti o copiloti due AI: ChatGPT Codex e Claude Code, devo ammettere che non solo è stata un’ esperienza molto interessante e istruttiva, ma è stata anche sorprendente ed è per questo che molto probabilmente ne parlerò in un post dedicato.

Considerazioni

Come già detto, questa è solo la prima versione del plugin e soltanto nei prossimi giorni inizieremo a testarlo seriamente, però speriamo di metterlo presto in produzione e a disposizione di chiunque voglia utilizzarlo.

Trattandosi di un progetto Open Source chiunque può collaborare al suo sviluppo, magari anche solo inviando commenti, segnalazioni di bug o richieste di nuove funzionalità.

Il codice sorgente è disponibile ed è pubblicato su GitHub.com.

 

Fonti e riferimenti

  1. Associazione Astrofili Pisani Galileo Galilei (AAGG), sito ufficiale.
  2. Asset Lending Manager, progetto su GitHub.
  3. ALM Demo online, sito provvisorio con una demo del sistema.
  4. Documentazione ALM: Readme (descrizione del progetto), Schema delle notifiche e-mail e Schema dei permessi per ruolo.

 

 

2 ore ago

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirà immediatamente.