2012-02-15 17 views
5

Uso il componente IGoogleinettuts per rendere il mio portale un'interfaccia più attraente e facile da usare. Il problema principale che voglio chiedere è:Come memorizzare le impostazioni di personalizzazione del componente IGoogle?

  • come memorizzare le impostazioni di personalizzazione, per renderlo di default quando l'utente nell'applicazione di nuovo?

Non posso utilizzare i cookie perché è correlato al computer dell'utente quindi penso di aver bisogno di memorizzare questi dati nel mio database. Ma non conosco l'inizio. Come dovrebbe essere la struttura del database? E qual è il meccanismo di archiviazione? Voglio dire, dovrei memorizzare ogni singola azione dell'utente o mettere tutte le azioni in una transazione o cosa?

Io uso il database Informix, quindi nessun abbonamento quindi non posso usare web part.

Spero che qualcuno possa aiutarmi con una spiegazione su come memorizzare tutte le impostazioni in modo performante.

+1

Non è facile. Prima si ottiene javascript di savePreferences e lo si cambia per ottenere il risultato in stringa, quindi si salva questa stringa nel database sulle impostazioni utente usando ajax. E al caricamento leggi questa stringa e allegala al riferimento di avvio di inettuts.js. Molti passaggi – Aristos

+1

La scelta del DBMS è quasi del tutto casuale a questo processo. È necessario risolvere il modo in cui la personalizzazione funziona senza cookie. Se l'utente accede al tuo sistema, allora è relativamente un pezzo di torta. Se non hai un meccanismo formale analogo a quello, allora sei sicuramente in un mondo di male se non puoi o non vuoi usare i cookie. Il tutorial a cui fai riferimento descrive come usare i cookie (se il titolo è qualcosa che deve passare). –

risposta

2

Una cosa che puoi fare è rendere l'intero lato client di archiviazione. I browser più recenti hanno una variabile localStorage che può memorizzare una stringa in modo permanente tra le sessioni. Ma in questo modo, quando cambiano i loro computer, le preferenze vengono perse.

Un'altra opzione è eseguire tutta la configurazione in JavaScript, ma utilizzare il backend come archivio JSON.

var settings = { 
    components:[ 
     { 
      'title': 'Foo', 
      'state': 'opened' 
     }, 
     { 
      'title': 'Bar', 
      'state': 'opened' 
     } 
    } 
} 

function close_component(index) 
{ 
    settings.components[index].state = 'closed'; 
    save_settings(); 
} 

var save_settings = function() { 
    $.ajax({ 
     url:'/settings/save', 
     data: { 
      'settings': JSON.stringify(settings) 
     } 
    }; 
} 
Problemi correlati