2012-02-15 3 views
5

Я использую IGoogle компонент inettuts, чтобы сделать мой портал более привлекательным и простым в использовании интерфейсом. Основная проблема, о которой я хочу задать, - это:Как сохранить настройку персонализации компонента IGoogle?

  • Как сохранить настройку персонализации, чтобы сделать ее по умолчанию, когда пользователь снова войдет в приложение?

Я не могу использовать файлы cookie, потому что это связано с пользовательской машиной, поэтому я думаю, что мне нужно сохранить эти данные в моей базе данных. Но я не знаю начала. Какова должна быть структура базы данных? И какой механизм хранения? Я имею в виду, должен ли я хранить каждое действие пользователя или помещать все действия в одну транзакцию или что?

Я использую базу данных Informix, поэтому нет членства, поэтому я не могу использовать веб-части.

Я надеюсь, что кто-то может помочь мне с объяснением того, как сохранить все настройки в совершенном виде.

+1

Непросто. Сначала вы получаете javascript savePreferences и меняете его, чтобы получить результат в строку, затем вы сохраняете эту строку в базе данных по пользовательским настройкам с помощью ajax. И при загрузке вы читаете эту строку и присоединяете ее к исходной ссылке inettuts.js. Много шагов. – Aristos

+1

Выбор СУБД почти полностью совпадает с этим процессом. Вам нужно разобраться, как сделать персонализацию без файлов cookie. Если пользователь входит в вашу систему, то это относительно кусок пирога. Если у вас нет формального механизма, аналогичного этому, то вы определенно находитесь в мире боли, если вы не можете или не будете использовать файлы cookie. В учебном пособии, на котором вы ссылаетесь, описывается, как использовать файлы cookie (если заголовок ничего не может сделать). –

ответ

2

Одна вещь, которую вы можете сделать, это сделать всю клиентскую часть хранилища. В новых браузерах есть переменная localStorage, которая может хранить строку постоянно в сеансах. Но таким образом, когда они меняют свои компьютеры, предпочтения теряются.

Другой вариант - выполнить всю конфигурацию в JavaScript, но использовать бэкэнд в качестве магазина 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) 
     } 
    }; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^