2012-02-15 7 views
5

Uso IGoogle componente inettuts para hacer que mi portal sea más atractivo y fácil de usar. El problema principal que quiero preguntar acerca es:¿Cómo almacenar la configuración de personalización del componente IGoogle?

  • cómo almacenar el ajuste de personalización, para que sea el valor predeterminado cuando el usuario inicia sesión en la aplicación de nuevo?

No puedo utilizar cookies porque está relacionado con la máquina del usuario, así que creo que debo almacenar estos datos en mi base de datos. Pero no sé el comienzo. ¿Cómo debería ser la estructura de la base de datos? ¿Y cuál es el mecanismo de almacenamiento? Quiero decir, ¿debería almacenar cada acción del usuario o poner todas las acciones en una transacción o qué?

Utilizo la base de datos Informix, así que no membresía, así que no puedo usar elementos web.

Espero que alguien me pueda ayudar con una explicación sobre cómo almacenar todas las configuraciones de una manera efectiva.

+1

No es fácil. Primero obtienes el javascript savePreferences y lo cambias para obtener el resultado en una cadena, luego guardas esta cadena en la base de datos en la configuración del usuario usando ajax. Y con la carga, lea esta cadena y conéctela a la referencia de inicio de inettuts.js. Muchos pasos – Aristos

+1

La elección de DBMS es casi completamente coincidente con este proceso. Debe resolver cómo hacer que la personalización funcione sin cookies. Si el usuario inicia sesión en su sistema, entonces es relativamente fácil. Si no cuenta con un mecanismo formal análogo a ese, entonces definitivamente se encuentra en un mundo de dolor si no puede o no va a utilizar las cookies. El tutorial al que hace referencia describe cómo usar las cookies (si el título es de alguna manera). –

Respuesta

2

Una cosa que puede hacer es hacer que todo el lado del cliente de almacenamiento. Los navegadores más nuevos tienen una variable localStorage que puede almacenar una cadena persistentemente en todas las sesiones. Pero de esta manera, cuando cambian sus computadoras, las preferencias se pierden.

Otra opción es hacer toda la configuración en JavaScript, pero use el servidor como una tienda 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) 
     } 
    }; 
} 
Cuestiones relacionadas