Ver 2025.04
Rimani allineato sulla evoluzione di WiseTown. Scopri velocemente cosa c'è di nuovo, cosa è cambiato, su cosa stiamo lavorando.
App Mobile
- Aggiunto onboarding per utenti non loggati.


- Scegliere il workspace pubblico per proseguire o saltare la scelta per effettuare il login
- Schermata di selezione delle funzionalità

L'utente che non ha effettuato accesso è in grado di vedere le funzionalità che può visualizzare il ruolo cittadino.
Se seleziona una funzionalità che necessita login appare la seguente schermata, viene renderizzato alla schermata di login e poi alla funzionalità selezionata in precedenza.

Se nel passaggio precedente l'utente non seleziona alcuna funzionalità e accede direttamente, viene reindirizzato alla pagina di selezione, dove potrà visualizzare nuove funzionalità in base al proprio profilo operatore.

Modulo Main:
Spostamento LiveAgent e Gestione Permessi
Il LiveAgent è stato spostato da basso a destra a un'icona sotto le impostazioni nel menu laterale. È stata rinnovata la gestione dei permessi per la visibilità con support.cansee.
Creazione Selettore Icone
È stato implementato un selettore di icone attualmente utilizzato per la creazione di una nuova categoria nel crowdplanning. Il selettore utilizza un menu a discesa (drop-down) per la scelta dell'icona. Il salvataggio della selezione avviene immediatamente dopo il click sull'icona, senza ulteriori conferme da parte dell'utente.
Il pulsante di cancellazione dell'IconSelector è posizionato a sinistra della freccia del menu a discesa (visibile solo se un icona è già selezionata).
Il modulo Main è stato scelto per garantire un utilizzo esteso in diverse parti del progetto.
Modulo Dashboards:
Nuovo widget per la creazione di grafici (linea o a barre):

Questo è configurabile in modo da prendere le informazioni dalle sorgenti dati disponibili nella dashboard. Permette la configurazione di entrambi gli assi e il colore delle varie serie di dati.
Nella sezione principale della maschera di configurazione è possibile impostare un titolo e se mostrare la legenda del grafico:

Subito sotto abbiamo la configurazione degli assi X. Questi necessitano di una fonte dati per essere popolati, e verranno utilizzati poi nella serie collegata per abbinarne i dati:

Il primo campo rappresenta la fonte dei dati, va scelto in questo caso un metodo che restituisca un array di oggetti. Il secondo campo è il nome della proprietà del singolo oggetto da utilizzare come valori per l'asse. L'ultimo campo indica come quel dato va interpretato dal grafico. I valori disponibili sono:
- Data/Ora: Il valore rappresenta un dato temporale, il grafico sarà in grado di gestire la scala in base al numero dei dati presenti e al livello di zoom.
- Categorie: I valori verranno interpretati come delle categorie finite "ad es. Rosso, Verde, Bianco, ecc.". Utile nella rappresentazione di dati per grafici a Barre.
- Dati continui: I valori rappresentano una variabile numerica continua. L'interpretazione è simile a quella di dati temporali ma per una grandezza continua di qualsiasi tipo (ad es. una coordinata spaziale per mostrare l'andamento della temperatura in base alla longitudine o latitudine).
Sotto alla configurazione degli assi X abbiamo quela degli assi Y:

Per ogni asse è possibile configurarne:
- Nome: mostrato a lato, sopra alla relativa scala
- Unità di misura: mostrata a fianco dei valori della scala
- Tipo di allineamento dei valori della scala:
- Acceso => Suddivisione fissa costante
- Spento => Suddivisione in base ai valori della/e serie collegata/e
- Visualizzazione o meno della scala verticale
- Colore delle serie collegate (ed eventualmente della scala verticale se visibile)
- Valori minimo e massimo della scala: utile a mantenere il grafico immediatamente leggibile nel caso di variabili comuni e note (es. percentuali)
Infine andranno configurate le serie di dati da mostrare nel grafico:

I campi di configurazione, nel rispettivo ordine, sono:
- Nome visualizzato in legenda (e nel popup)
- Tipologia di grafico da mostrare (linea o barre)
- Sorgente dati per i valori della serie
- Campo della sorgente dati da utilizzare per i valori della serie
- Indice dell'asse X abbinato alla serie
- Nome dell'asse Y abbinato alla serie
- Lo stile della linea (in caso di grafico a linea)
- Flag per mostrare, fissi nel grafico tramite un pushpin, il minimo e il massimo locali, nonché una linea punteggiata che rappresenta la media locale dei valori.
Modulo Chat:

- È stata aggiunta la possibilità di eliminare il proprio commento. Se si dispone del permesso "candelete.others", è possibile eliminare anche i commenti degli altri.


- È stata aggiunta la possibilità di aggiornare il proprio commento
Modulo Crowdplanning
Implementazione Ordinamento Alphabetico PlanCard
È stato aggiunto un pulsante di ordinamento per la visualizzazione alfabetica delle planCard. Il pulsante consente di alternare l'ordinamento A-Z e Z-A.
Il componente utilizza un dropdown selector per la selezione del criterio di ordinamento. Di default l'ordinamento è A-Z.
Preselezione Categoria nella Creazione di un Progetto
Se l'utente si trova all'interno di una categoria specifica, la select della categoria viene precompilata con quella selezionata. Se l'utente si trova nella categoria radice ("Tutte le categorie"), la select della categoria rimane vuota.
Icone delle Sottocategorie nelle Card dei Progetti
Disabilitata la possibilità di scegliere un'icona per le sottocategorie; l'icona ora viene ereditata dalla categoria padre.
Se la categoria principale non ha un'icona, la card del progetto rimarrà senza icona.

Modulo regole dinamiche:
È stata aggiunta la possibilità di impostare l'assegnatario del task collegato alla segnalazione, e la possibilità di copiarne anche gli allegati:

- È stato aggiunto un evento per i task collegati alle segnalazioni:

- È stata aggiunta una condizione specifica per questo evento in modo da controllare lo stato di tutti i task collegati alla stessa segnalazione:

- È stata aggiunta una condizione, per le sole segnalazioni, che verifica il valore di un campo custom:

È stata aggiunta un'azione per poter inviare i dati di una segnalazione o di un task ad un indirizzo email specifico:

Modulo login:
È stata aggiunta la possibilità di configurare il componente per la ricerca degli utenti in modo da essere più restrittivo in base al contesto in cui viene utilizzato.

Il tasto di editing in alto a destra permette di scegliere su quali ruoli la ricerca deve avvenire, in modo da rendere più coerente l'elenco degli utenti con il contesto in cui la selezione degli utenti si trova.

Una modale con la configurazione dei ruoli permetterà, ad un utente con privilegi elevati, di scegliere quali ruoli dovranno essere visibili in ogni lista. La configurazione viene applicata a tutti gli altri utenti del workspace.
Gli scope previsti, e per i quali si può quindi configurare una lista di ruoli differente sono:
filtro delle issue, filtro dei tasks, dettaglio issue, dettaglio tasks, chatroom
Il claim necessario per applicare la configurazione è: GROUPS.canlimitscope
Attenzione: il filtro configurato è un filtro ulteriore sulla configurazione utente, è quindi possibile che ad alcune utenze non venga mostrato nessun risultato.
Il filtro tiene anche conto della presenza del claim USERS.canseeonlyfrommyteams che limita la lista di risultati agli utenti che appartengono a TEAMS in cui l'utente che sta facendo la ricerca appartiene. Quindi è plausibile che vengano esclusi utenti che non appartengono a teams condivisi anche se l'utente ha diritto sul ruolo a cui quella utenza è associata.
Breacking-change: Non vengono più mostrati nella lista utenze che non appartengono a nessun ruolo oppure utenze che appartengono soltanto a ruoli interni di gestione.
La modale di assegnazione utenti a ruoli non ha subito modifiche.
Modulo files:
È stata aggiunta la possibilità di decidere tramite delle proprietà la grandezza (x-small, small, medium, large) e lo stile (board, list) delle preview dei documenti o delle immagini.
es. list, x-small:

es. board, small:

Gestione degli allegati troppo grandi
Ora, quando un file supera il limite di dimensione consentito, viene mostrato un messaggio di errore chiaro invece di far scomparire l'allegato senza avviso.

È stato aggiunto un loader per migliorare l’esperienza utente e l’usabilità della UI durante il caricamento degli allegati. L’utente riceve un feedback immediato in caso di errore, evitando confusione e garantendo un processo di caricamento più fluido.

Modulo Tasks:
Sono state implementate liste cercabili per categorie e "condiviso con" sia nei task che nelle issue. Gli utenti possono cercare rapidamente tra le opzioni disponibili per selezionare quella desiderata. È ora possibile svuotare facilmente i campi che supportano valori nulli.
Per i campi select/input/testo, è stata aggiunta un'icona "X" a destra per eliminare il valore inserito.

Aggiunta la funzione di "incolla dagli appunti" per gli allegati (ad es. screenshot), incollando (CTRL+V) all'interno dell'editor della descrizione.
Modulo Comunicazioni:
- È stata aggiunta la possibilità di inviare degli allegati nelle e-mail di risposta al cittadino:

Gli allegati posono essere inseriti anche dagli appunti di sistema (ad es. uno screenshot) incollandolo (CTRL+V) all'interno dell'editor.
Questi sono visibili anche nel dettaglio dellemPDULO comunicazioni inviate:

- È stata aggiunta la funzione di "Esito lavorazione" per le attività:

Nel caso in cui l'attività sia collegata ad un'altra o ad una segnalazione, l'esito verrà reso visibile all'interno della lista dei collegamenti tramite un'apposita icona:

Cliccando sull'icona, verrà mostrato il contenuto dell'esito, con allegati annessi:

Modulo Datasource
- Possibile creare un datasource utilizzando le tabelle del CityDb (es. Strade, Popolazione, etc...)

Bug fixes:
#527: Bloccare eliminazione gruppo padre.
#2288: Una volta caricate più immagini se clicco su l'apertura dell'anteprima viene visualizzata sempre la prima.
#2587: I task archiviati possono essere modificati dalla taskcard.
#2588: Lista dropdown selettore user troppo spostata rispetto al button.
#2589: Rendere completamente non editabili i task archiviati.
#2744: Problema overflow e scroll sulla dropdown della card per assegnazione utente
#2750: Una issue può essere figlia di se stessa.
#2752: Se vengono scollegate tutte le issue da un gruppo la issue padre ha "0 segnalazioni collegate".
#3202: Fix popup tag.
#3362: Creazione di una sottocategoria - nascondere la possibilità di aggiungere un'icona.
#3364: Creazione di un progetto - se non scrivo il contenuto, salvo, e modifico si rompe.
#3451: Le comunicazioni inviate tramite e-mail, al primo click non la manda, la seconda volta la manda ma poi appare doppia nella maschera di dettaglio della issue.
#3482: Quando si cancella un canale questo non si cancella subito.
#3489: Sistemare popup task modal.
#3494: Il cittadino vede anche il menu a sinistra dell'account amministratore quello della gestione.
#3533: Media gallery su task modal - aggiungendo più file compare un errore riguardante la key.
#3539: Preview-agid: quando si apre il dettaglio di una issue, è possibile spostare il punto in mappa.
#3563: Quando clicco i pulsanti di formattazione sulla comunicazione all'interno della issue viene inviata.
#3641: Se creo un task descrizione e titolo sono obbligatori, ma diventano cancellabili in fase di aggiornamento.
#3637: Label Issue collegata a un task - fix. Nel modulo Issue ora la label non esplicita più task e sottotask come nel modulo Tasks, ma piuttosto si riferisce a segnalazioni.
#3567: Corretti i filtri di ricerca ruoli in Issues Manager e filtro di ricerca in Teams. Filtro è ora case-unsensitive e scarta caratteri speciali.
#3558: Label IconSelector (crowdplanning) correttamente aggiornata alla creazione di una categoria; corretta la validazione sul titolo di una categoria; prevenuta la creazione duplicata della categoria in caso di click rapidi sul pulsante di conferma.
#3490: Corretto il comportamento errato per cui, tornando alla categoria radice e creando un nuovo progetto, veniva automaticamente preselezionata l'ultima categoria visitata. "Tutte le categorie" ha preselezione vuota essendo la radice.
#3524: Nella creazione di una nuova comunicazione è stata corretta la validazione del messaggio se non ho scritto niente nel testo del messaggio e/o non ho inserito nemmeno un allegato.
#3528: Corretta la gestione del tipo di invio nelle comunicazioni dirette. Ora, quando si torna indietro e si modifica il canale di invio, il riepilogo mostra solo il metodo di invio effettivamente selezionato, evitando che rimangano opzioni precedentemente compilate; le bozze vuote non vengono più salvate in elenco.
#3561: Risolto un bug che impediva la corretta visualizzazione di tutte le issue assegnate durante la creazione di un piano.
App Mobile
- L'utente ora puo' tornare indietro e selezionare una nuova funzionalità quando entra nell'issue manager
- Nel menù funzionalità ora "segnalazioni e attività" renderizzano l'utente nella schermata corretta
- Nell'issue manager le segnalazioni e attività si aggiornano in tempo reale quando l'app è aperta grazie alla gestione differente delle notifiche push.
Quando saranno visibili le nuove funzioni ?
Le nostre pubblicazioni sono schedulate, tranne eccezioni, il primo martedì di ogni mese sul sito ufficiale di produzione.
Il roll-out sui siti custom e nelle installazioni on-premise verrà programmata nei giorni successivi alla pubblicazione ufficiale.
Leggi il documento sulle "finestre temporali di sviluppo" per capire meglio come effettuiamo i rilasci
Posso provare in preview le nuove funzionalità?
La preview è resa disponibile ed è visibile esternamente dal momento della pubblicazione del documento di rilascio che avviene il martedì successivo al 15 del mese, sul sito ufficiale di preview.
What next ?
La pubblicazione del modulo "Channels" è stata rimandata alla prossima iterazione... stay tuned!
Modulo Tasks
- Ora i campi custom esistono di tipo "External", permettono di utilizzare datasource come componenti durante la creazione del task/issue. Può essere selezionato il datasource desiderato e aggiunte delle regole per la visualizzazione del campo.



Modulo regole dinamiche
- Aggiunta la possibilità di verificare valori annidati nei custom fields tramite un helper function apposita.
- Nuova visualizzazione per campi personalizzati "External"

Modulo Chat
Abbiamo aggiunto la funzione di aggiornamento dei propri commenti o di eliminazione, sono stati aggiunti dei messaggi signalR dal backend verso il frontend.
Modulo SecurityManagement/Login
Abbiamo aggiunto la possibilità di inserire più di un hostname associati allo stesso workspace. Basta separarli con una virgola come nell'esempio qui sotto:

Questa modifica serve per poter abilitare il frontend AGID su un dominio diverso per lo stesso workspace.
Applicazione principale
Aggiunta una nuova funzionalità per la traduzione delle label nel posto in cui vengono visualizzate: se si hanno diritti di traduzione, quando si sposta il mouse sopra una label traducibile 'in-place" apparirà un menù contestuale:

Il pulsante con la chiave serve per mostrare la chiave utilizzata per la traduzione (nel caso si voglia ritrovare la stessa nell'apposita sezione), I pulsante con la matita mette la label in stato di modifica:

Questo permette di modificarne il valore nello stesso punto dove si trova (così da regolarsi con la lunghezza del testo). In ordine di visualizzazione i pulsanti hanno questo effetto:
- Salvataggio del nuovo valore per il workspace corrente.
- Salvataggio del nuovo valore come default (per tutti i workspace che non lo hanno personalizzato).
N.B. Inoltre elimina eventuali personalizzazioni presenti nel workspace corrente.
Questo pulsante è visibile solo se si ha lo specifico claim "cansavedefaults" attivo. - Annulla le modifiche (non salva e l'etichetta torna nello stato precedente)
- Reset al valore di default. Questo elimina eventuali personalizzazioni salvate per il workspace corrente.
Il piccol tool funziona solo su etichette tradotte tramite un nuovo componente globale <wt-18n> e permette anche modifiche di parti in HTML nel caso l'etichetta sia configurata per usare il markup.