Salvataggio Cronologia Messaggi postato il 18/04/2011 15:36:01 nel forum programmazione, gdrcd, open source, hosting
Piccolo dubbio, dunque mettiamo il caso che io in Bacheca (Nel mio Gioco, codice propietario) do la possibilità all’Utente di modificarsi il messaggio inserito, ora se io volessi salvareil messaggio che lui modifica come potrei fare?
Esempio:
Io inserisco in bacheca il seguente messaggio
“ABCF”
però mi accordo che c’è un errore e lo cambio in
“ABC”
quindi successivamente in bacheca mi spunterà “ABC” con la scritta modificato in data ecc ecc ma se io volevvi tenere la cronologia della modifica, come potrei fare? Ovviamente in PHP. Perché questo vi chiederete, mettiamo il caso che l’utente X scriva qualcosa di offensivo in Bacheca ma non ci sono Moderatori poi se la pensa e cancella così la passerebbe liscia se non ci sono prove, però io vorrei salvare la cronologia del messaggio.
Non so se mi sono spiegato :(
Pagine → 1
18/04/2011 15:44:17
In pratica devo creare una nuova tabella nel DB una per l’originale una per la copia?
Si in effetti io salverei solo Autore, Messaggio e Data Modifica giusto l’essenziale poi simboli, ecc ecc non mi interessa ad esser sincero.
Uhm comunque interessante la prima soluzione, la seconda un po’ meno per via della praticità perché da quello che ho capito dovrei andarmi ad aprire il File esternamente non mi compare nella bacheca giusto?
18/04/2011 16:05:58
Mi metto subito a lavoro per il primo caso vediamo un pò come viene, ho delle idee anche per la lettura della modifica :P Cercherò di alleggerire il tutto..
18/04/2011 19:07:12
Fino a ora ho fatto in modo che quando l'utente inserisce o modifica un messaggio la Modifica e l'originale si sdoppino in due tabelle, poi l'originale sarà visibile mentre la copia archiviata nella cronologia ^___^
Ho fatto archiviare solo Nome, testo, titolo e data niente img e/o altre cose tipo colori, timbri e compagnia bella, adesso si passa al BETA vediamo cosa riesco a fare di buono oggi ghghghghg Poichè vorrei comunque monitorare tutto non si sa mai, i furbetti ci sono sempre.
18/04/2011 19:26:29
Ho inserito l'input che in ogni Nuovo Mess oppure ad ogni Nuova Modifica (Parliamo del Thread) mi stampi nella cronologia solo la parte vecchia non la nuova, in questo modo avrò comunque nell'elenco sempre l'ultimo messaggio inserito prima di esser modificato e ovviamente all'utente sarà visibile in bacheca ovviamente il messaggio che ha modificato non il vecchio.
L'unica cosa che mi preoccupa è il fatto delle risposte :P Ora ho ampliato questo sistema per il messaggio nuovo ora devo regolarmi anche sulle risposte, ma dato che lo schema è quello non è molto diverso anche perchè stesso procedimento l'ho inserito sia per la Moderazione che per l'Amministrazione giusto per aver sempre tutto sottocontrollo.
18/04/2011 19:55:52
Nessun problema per il discorso database, è progettato e può gestire cose molto più complesse di una semplice tabella di archiviazione e lettura molto voluminosa, l'unico limite è lo spazio che ti mette a disposizione il provider.
Ad ogni modo, dal momento che serve semplicemente salvare un clone del messaggio senza eseguire update successivi io userei dei file di testo.
Preleverei autore, titolo, messaggio e tutte le informazioni varie che vuoi, le piazzerei in un array che successivamente codificherei in una stringa json. Poi salverei il file con uno standard tipo:
Autore-IDMessaggio-TimestampPost.json
Dal momento che poi quando visualizzi un messaggio tutte le informazioni che costituiscono il nome usato per creare il file le hai puoi facilmente inserire un link per l'admin o l'utente ad una paginetta che ricava tutti i files Autore-IDMessaggio-*.json, decodificare la stringa json in un array e riformattare il messaggio nella pagina.
Periodicamente poi prendi esporti questi file e li metti sotto zip conservandoli con un nome che rispecchia la data del periodo di log.
In questo modo:
a) risolvi i problemi di peso sul db evitando di eccedere oltre i limimiti imposti dal provider.
b) eviti richieste su richieste per visualizzare le vecchie modifiche
c) puoi esportare dal sito in facilità i file di log generati.
18/04/2011 20:12:38 e modificato da leoblacksoul il 18/04/2011 20:17:06
Mi sembra un buon approccio ^^
In base alla mia esperienza, direi che statisticamente più un messaggio si allontana nel tempo meno ti servirà andare a ripescare le modifiche che gil sono state fatte. Specie se ti serve solo per la moderazione e non per tracciare le revisioni come si fa per esempio in WikiPedia.
Quindi se sei preoccupato per la pesantezza che potrebbe derivare dal tenere in memoria tutte le modifiche fatte a tutti i post io direi che potresti impostare un processo di manutenzione che cancelli, per esempio, tutte le vecchie versioni di messaggi più vecchi di 6 mesi fa.
Da come ne parli mi sembra che la configurazione del tuo forum tiene il messaggio iniziale del thread in un tabella, e tutte le risposte in un altra, giusto? Non dovrebbe essere tanto diverso gestire le risposte esattamente come i thread, e potresti anche farlonella stessa tabella, inserendo un campo in più che identifichi se il messaggio salvato è di un thread o di una risposta. Però bisogna fare attenzione alla chiave primaria della tabella, dovrà essere multipla :)
EDIT: o anche la soluzione proposta da blancks. Anche se io mi troverei più comodo a usare la serializzazione invece che i JSON :P
18/04/2011 21:24:20
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Black Sails Chronicles: ON - Mastro Corvino
AlterEgo: Alza il Boccale, se no finisce male! (Quest)
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
RAID Shadow Legends: Evento "Febbre di Caduta"
alexstrass ha aperto un annuncio di ricerca: Castelnere ricerca Tester
Entropia Universe: Note sulla versione di Entropia Universe 19.0.0
Il gestore di Naruto x Boruto GDR - New Rebirth ha risposto alla recensione di ilterrorista
Lineage II → Entra in uno sconfinato mondo fantasy dominato da razze in contrasto tra loro. Scatena i tuoi poteri in uno dei Mmo più famosi al mondo!
Il gestore di Naruto x Boruto GDR - New Rebirth ha risposto alla recensione di aura666
Tesi di Laurea → I giochi di ruolo come strumento pedagogico
I dati del generatore di rank sono stati aggiornati!
Ex Gratia GDR: Elezioni in vista per Taiyang
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
La Tana del Ladro: Orrore nelle Campagne
glittr ha recensito Apocalypse Requiem: Detroit
Black Sails Chronicles: OFF - Corporazione: Confraternita del Nero Pece
Il gestore di Age of Crystals ha risposto alla recensione di lena
New World Order → Diventa un agente del Nuovo Ordine Mondiale e affronta le forze occulte che minacciano il pianeta Terra in questo GDR Urban Fantasy per Mobile!
Assedio! - Scopri le terribili macchine d'assedio militari durante il medievo
Google Analytics 4 - Universal Analytics va in pensione... lunga vita a Google Analytics 4!
Http non sicuro! - Da Chrome 68: i giochi HTTP segnalati come non sicuri! Scopriamo i dettagli!
Intervista eXtremelot - Intervista ai gestori del fantasy eXtremelot
Dlvr.it - Scopri questo tool gratuito per distribuire le vostre news sui social network!
Rovine - Alcuni consigli pratici e semplici di Worldbuilding. Vediamo assieme come costruire delle rovine!
Giocare sulle Land - I mitici ragazzi di Gdr Italia parlano dei giochi di ruolo online in un interessante articolo