Ho l'obbligo di consentire agli utenti di suggerire aggiornamenti ai loro profili su un sito che sto lavorando. Sarebbero in grado di visualizzare i dettagli del loro profilo, quindi fare clic su e sul pulsante "modifica", che fondamentalmente farebbe una copia di tutti i loro dati contenuti in una manciata di tabelle DB uno-a-molti correlate. Possono quindi aggiungere o rimuovere elementi e aggiornare vari campi di testo prima di salvare la bozza. Al momento del salvataggio, un amministratore dovrebbe approvare questa modifica prima che i nuovi dati vengano effettivamente pubblicati sul sito live.
Al momento ho un set identico di tabelle per dati in tempo reale e bozze (e cronologia, ma non è importante). La mia difficoltà è che il client non vuole una voce bozza effettiva creata nella struttura db delle bozze finché l'utente non ha premuto "salva". Un utente sarebbe in grado di eseguire operazioni CRUD su tutti i dati, incluso il caricamento di nuove immagini, ma non sono autorizzato a toccare il DB a meno che non siano pronti a eseguire il commit di tali aggiornamenti.
Il mio grande problema è che non ho idea di come iniziare a sviluppare quello che sembra il client per essere una cosa molto semplice, anche se è tecnicamente piuttosto impegnativo. Non riesco nemmeno a capire che il cliente capisca che premere il pulsante "Annulla" accanto al pulsante Salva rimuove la voce più tutti i relativi dati dal DB, rendendo il problema discutibile a mio modesto parere.
Quindi, la domanda è tale: c'è un modo per esprimere la mia obiezione in modo tale che il cliente possa capire a cosa sto arrivando. Oppure, in caso contrario, quale sarebbe un buon modo per sviluppare un oggetto memorizzato di sessione?