Skip to content

Richiesta sticker: integrare in ILS Manager (ora sono in Mautic...)

direttivo#1 (comment 1861412835)

Come suggerito qui avere uno storico e una gestione tracciata per la spedizione sticker non sarebbe male e semplificherebbe il controllo.

Problemi attuali

Premettendo che l'attuale richiesta sticker é in Mautic:

https://www.linux.it/stickers/

Mautic non permette una semplice e robusta limitazione dei privilegi, quindi non si può autorizzare Ferdinando (postino) a vedere solo il segmento degli Sticker, ma vedrebbe tutti gli altri 1000+ contatti. Non necessariamente desiderabile (ci fidiamo di Ferdi, ma é chiaramente non desiderato neanche da Ferdi, accedere a tutti quei dati extra).

Inoltre, Mautic non permette facilmente di gestire una coda di richieste. Quindi, per le richieste sticker, é complicato segnare quelle giá fatte. Idealmente dovrebbe bastare un click per segnare quelli giá spediti, non 10, e dovrebbe essere facile continuare a filtrare e segnare (non che fai un click e perdi la lista fin dov'eri arrivato).

Dovrebbe anche essere facile e veloce selezionare X persone ed esportarle (in CSV banalmente), con i dati minimi di spedizione, e se é stato spedito o meno. Senza esportare quindi tutti i campi vuoti di tutti gli altri segmenti.

In breve, Mautic ha i suoi vantaggi, ma ora ha piú limiti che vantaggi, per le richieste sticker.

Magari alcune di queste cose sarebbero giá fattibili in Mautic, conoscendo meglio Mautic. Siamo aperti a suggerimenti. Ma siamo anche inclini a rifare queste 4 cose in Laravel che facciamo molto prima.

Soluzione proposta

Integrare la cosa in ILS Manager. Specifiche:

  • creare una nuova entità GadgetRequest (o simile) per la richiesta di sticker. Campi minimi per la spedizione:
    • User ID (NULL)
      • popolarlo se l'utente è loggato
    • Email
      • se l'utente è loggato → nascondere il campo e mettere NULL
      • se l'utente è sloggato → nel frontend è obbligatoria
    • Nome
    • Cognome
    • CAP
    • Città
    • Provincia
    • Indirizzo (con numero civico)
    • Dove intendi distribuire gli sticker? (Scuola, lavoro, ecc. Domanda aperta)
    • Vuoi anche adesivo LinuxSi? (Checkbox)
    • Vuoi iscriverti alla newsletter? (Checkbox)
    • Status (campo interno) valori proposti:
      • pending "Richiesta in attesa" (default per chi NON è loggato)
      • valid "Richiesta accolta" (default per chi è loggato)
      • preparing "In preparazione" (questo stato servirà per quando poi stamperemo le etichette, per non stamparle due volte)
      • shipped "Spedito" (questo serve per eventualmente informare l'utenza - potenzialmente non utilizzato)
      • cancelled "Annullato"
    • Data di creazione (campo interno automatico)
  • chiunque deve poter richiedere uno sticker (senza essere socio) (com'era prima)
    • bonus point: se si è registrati, salvare l'utenza, così si possono fare altre cose in futuro.
  • notificare l'utenza della creazione della richiesta con successo (probabilmente da fare con un Observer)
  • gli amministratori (e chi ha il nuovo ruolo "spedizioni") devono poter vedere questo elenco e poter modificare ogni voce, anche il suo stato
    • bonus point: quando lo stato diventa shipped, notificare l'utenza.
  • nell'elenco delle richieste, aggiungere un filtro per Stato.

Punti bonus

Per gli utenti anonimi, si potrebbe generare un token, cosicché possano ri-vedere lo stato della loro richiesta. Cosa che al momento non è stata mai concessa. Quindi non è importante farlo.

Possibili migliorie future (da ignorare ora)

  • singola richiesta di sticker: creare pagina pubblicamente accessibile tramite token. L'indirizzo è trasmesso all'utenza richiedente.
  • singola richiesta di sticker: permettere di annullare la richiesta.
  • chiedere a Ferdinando se gli farebbe comodo un tasto Stampa, e fatto come
  • prevedere per gli utenti non-registrati un sistema di conferma della richiesta, che porti la richiesta da nuova a nuova-valida.
  • chi ha acconsentito all'iscrizione alla newsletter, iscriverla alla newsletter (da poter fare anche dopo; tanto non mandiamo mai newsletter)
  • Ci sarebbe anche la possibilità di tracciare quali iscrizioni alla newsletter sono state già portate su Mautic. Proposte:
    • campo "Mautic ID", NULLable, intero, non mostrato a frontend. Ha la doppia informazione di "ho aggiunto una iscrizione alla newsletter, ed è questa riga qui in Mautic". Utile per lo scheduler, per capire quali dati portare in Mautic (quelli a NULL), e eventualmente utile per mostrare da ILS Manager quella esatta riga in Mautic.
    • ...
Edited by Valerio Bozzolan