Найти - Пользователи
Полная версия: Conversation context как в JBoss Seam
Начало » Django » Conversation context как в JBoss Seam
1
haMMer
Приветствую всех!

Подскажите, пожалуйста, есть ли в django (или других framework'ах на python) возможность создавать контекст привязанный к какой-либо последовательности страниц (аля wizard), таких контекстов может быть несколько одновременно в одной сессии и каждый из них имеет свое время жизни (например сессия живет 30 минут, conversation - 10 минут). Подобное реализовано в framework'е JBoss Seam и называется conversation scope

Пример.

Пользователь на сайте запустил wizard покупки товара, остановился на 3 шаге из 5 и параллельно в той же сессии запустил покупку еще одного или нескольких товаров. Если пользователь 10 минут не обращался к первой покупке - по ней проходит timeout на сервере и удаляется context, чтобы не засорял.

Понятно, что это можно напихать в session, но это некошерно, вдобавок, при этом невозможно вести отдельный timeout для conversation'а (wizard) как указано выше.

Заранее благодарен за ответ!
romankrv
Конечно можно такое делать читайте документацию там все для этого есть.
haMMer
romankrv
Конечно можно такое делать читайте документацию там все для этого есть.
Вы не могли бы, как говорится, “ткнуть носом” - у меня не получилось найти :(

Заранее благодарен!
Ferroman
Form wizard для визарда. C таймаутом - не знаю, даже не понял - зачем.
haMMer
Ferroman
Form wizard для визарда. C таймаутом - не знаю, даже не понял - зачем.
Спасибо!
Таймаут нужен, чтобы не забивать устаревшими данными сервер - поскольку в том же примере пользователь может открыть много “покупок” и ни одну не довести до конца и продолжать работать в этой сессии.

Возможно пример не очень показателен, поскольку эта функциональность больше востребована в вэб-приложениях для предприятия, например, CRM, ERP и т.д. где пользователь может держать активной сессию весь рабочий день, работать с одновременно открытыми несколькими окнами и начинать и не заканчивать большое кол-во визардов.
haMMer
Form wizard - это все же не то, что хотелось - это получается одна страничка размазанная на несколько с одной финальной передачей к серверу.

А нужно, чтобы сервер управлял переключением в визарде на каждом этапе.
Александр Кошелев
haMMer
Понятно, что это можно напихать в session, но это некошерно, вдобавок, при этом невозможно вести отдельный timeout для conversation'а (wizard) как указано выше.
Почему это плохо? Почему невозможно? В сессии можно хранить всё что угодно, следовательно структуру данных вы выбираете сами, а она вполне мождет содержать и таймуаты и всё что угодно ещё.

haMMer
А нужно, чтобы сервер управлял переключением в визарде на каждом этапе.
Ну так сделайте.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB