Buongiorno!

Ho cercato di condensare nell'oggetto il mio quesito.
Vorrei capire quale strategia utilizzare per questo scenario:
- un database, a cui accedono più utenti, contiene una tabella AVVISI che ha anche un campo "data/ora inserimento"
- lo stesso database ha la tabella UTENTI, dove tengo traccia anche dell'ultimo logon effettuato
- voglio che, all'accesso di un qualsiasi utente, compaia l'icona "New!" a fianco dei record effettivamente inseriti dopo il suo ultimo accesso: data-ora_inserimento > data-ora_ultimo_accesso. Questo funziona
- ora vorrei che, dopo l'apertura di quel record (in una .aspx dedicata ai dettagli del record), quell'icona scomparisse, senza attendere un logoff-logon, ma p.es. già ad una ricerca successiva, sempre nella stessa sessione di lavoro.

Potrebbe essere simile alla gestione delle email lette/da leggere? Ma in quel caso, un flag "letto/da leggere" sfrutterebbe un fatto implicito: che quel messaggio appartiene solo a quell'utente!

Io mi ero immaginato una terza tabella VISUALIZZATI, contenente come campi la coppia IDAvviso/IDUtente che l'ha visualizzato: nell'elencare/filtrare i record, metterò l'icona New! solo se l'utente corrente non è in un record che ha quell'IDAvviso. Cioè nessun record per "SELECT * FROM VISUALIZZATI WHERE IDAVVISO=nnn AND IDUTENTE=idcorrente;". E ovviamente aggiungerò la coppia di valori appena l'utente avrà visualizzato.

La dimensione sarebbe gestibile (N avvisi x M utenti possibili --> nel mio caso nell'ordine del migliaio/anno), ma non mi sembra ottimale come gestione nel codice. Qualche suggerimento?

Se ci riuscissi, i comportamenti conseguenti (e ovvi) sarebbero per esempio:
- rimane l'icona anche al logon successivo se l'utente non ha letto l'avviso nella sessione precedente
- nella stessa sessione scompare l'icona New! di un avviso appena letto
- nella stessa sessione potrebbe comparire l'icona New! di un nuovo avviso inserito durante la sessione

Grazie

Fabrizio