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
Metin2: Server Boost Yohara – Dettagli e FAQ
Sea of Conquest: Ci dai una mano ai #PocketGamer Awards 2024?
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
goldaries ha recensito Games of Thrones Winter is Coming
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
Crossout → Tuffati nel mondo di Crossout, il gioco MMO d'azione post apocalittico! Costruisci le tue speciali macchine da combattimento!
W40K Dathyar: Specializzazioni
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
I dati del generatore di rank sono stati aggiornati!
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
aik ha aperto una nuova discussione: Parere su BrowserGame
eXtremelot: La Bussola dei Cartografi di Lot
Dallas Black Gold: [Trama] JFK Memorial
Hero Wars: Artefatti dei Titani!
Hero Wars → Costruisci la tua squadra di eroi leggendari e domina il campo di battaglia! Strategia, tattica e potenza si scontrano in questo RPG ricco di azione!
Galadriel - Lo Specchio di Galadriel e l'immaginario femminile nell'opera di Tolkien
Sottogeneri Cyberpunk - Scopriamo assieme tutti i sottogeneri del Cyberpunk e dello Steampunk!
Player Play by Forum - Articolo semiserio sugli utenti che si possono trovare sui play by forum suddivisi per tipologia!
Entropia Universe - Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
Naruto World - Intervista ad Arus admin di Naruto World..primo gdr con questa ambientazione
Naruto Begins - Francesco Liera di Fantagiochi.it analizza il gdr online manga Naruto Begins