r22 - 31 Mar 2010 - 23:56:25 - Sergej ZnamenskijВы сейчас здесь: TWiki >  Раздел IS4UGP/Bugs > Item71

Item71: Индикация стадии обработки запроса

Срочность: Текущее состояние: Относится к: Компонента: Кого ждёт:
Low Confirmed CSS and JS    

Подробности

Здравствуйте.

При работе с системой upis возникают некоторые трудности — иногда не ясно, реагирует ли система на действия пользователя или нет. Было бы удобно, если бы во время ожидания ответа с сервера пользователю как-то сообщали о том, что его запрос в обработке.

-- Maxim Stotsky - 28 Dec 2008

Спасибо. Предполагается изменить обработку так, что не изменяющие информацию запросы ускорятся в сотню раз. Запрос, изменяющий информацию, должен будет показывать песочные часы, исчезающие по окончании обработки. Это должно быть реализовано в каникулы.

-- Sergej Znamenskij - 29 Dec 2008

Наверно, эти часы лучше показывать где-нибудь в углу. Иначе они будут мешать пользователю. Прелесть Ajax-а в том, что можно работать со страницей, в то время как идет Ajax-запрос.

-- Dmitriy Stepanov - 04 Jan 2009

Возможно, проще мышиный курсор делать часиками.

-- Maxim Stotsky - 04 Jan 2009

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

-- Sergej Znamenskij - 05 Jan 2009

Надпись "пожалуйста, подождите" внизу страницы часто скрыта полосой прокрутки.

-- Sergej Znamenskij - 31 Mar 2010

Если привязывать к конкретному изменению, то вот что мы имеем на текущий момент:

1) Интерфейс авторизации - сейчас при сабмите формы регистрации обновляется вся страница. После посылки данных на сервер можно всю страницу затирать надписью типа "Please, wait...". А можно и не затирать, а писать в каком-то месте страницы (в каком ?).

2) Интерфейс авторизации - та же история.

3) Поиск персоны - здесь уже все готово.

4) Интерфейс администратора, показ истории изменений какого-то атрибута узла - можно после соответствующей гиперссылки добавить надпись "Please, wait...", а затем ее убрать.

5) Подгрузка узла в дереве - можно то место, куда подгрузится узел, заполнять надписью "Please, wait...", а затем она затрется.

6) Перезагрузка узла - то же самое.

7) Посылка данных из формы на сервер - по идее, после этого вся правая половина страницы (или же часть правой половины, как в случае с дискуссией) переписывается. Тогда, может, всю часть страницы, которая перепишется, заменить на надпись "Please, wait..." ?

8) Переход по гиперссылке, которая находится в дереве или в правой части страницы - думаю, здесь действуем так же, как и с формой.

-- Dmitriy Stepanov - 05 Jan 2009

Речь идет только о пункте 7 и смысл в том, чтобы можно было продолжать работу пока данные сохраняются. Это нужно учесть при работе по ускорению системы и реализовывать не в январе.

-- Sergej Znamenskij - 05 Jan 2009

Обращайте внимение на поле "Priority" - в нем есть смысл.

-- Sergej Znamenskij - 05 Jan 2009

Когда мы отсылаем данные из формы на сервер, то какой смысл нам оставлять правую часть страницы, если через несколько мгновений она обновится и, возможно, станет немного другой? Зачем давать человеку возможность работать с интерфейсом, если он уже не актуален? Так что, я думаю, всю правую часть заменять на "Please, wait...".

-- Dmitriy Stepanov - 13 Jan 2009

>"Please, wait..."

Не планируется делать локализованный интерфейс с использованием какого-нибудь gettext?

-- Maxim Stotsky - 13 Jan 2009

По поводу интерфейса - у нас весь интерфейс чисто русскоязычный. Другого нам не надо.

По сути. Мне предлагается утвердить каждому пятикурснику место проведения практик, должность практиканта и двух научных руководителей. Это сгруппировано в три связанных по смыслу самостоятельных дела со своими правилаими каждое.

Сейчас я до каждой такой тройки добираюсь по нескольку секунд и по каждой позиции отдельно по нескольку секунд жду появления формочки с не очень внятным селектом настолько вдали от того места, к которому она относится, что она зачастую появляется далеко под окном.

К многим тройкам приходится возвращаться по нескольку раз. При этом я не могу увидеть, что было введено раньше.

Зато к счастью при этом не исчезает контекстная информация. Если еще и она будет заменяться на "Ждите...", то работать будет совсем ужасно.

А вот если бы удавалось сразу попасть на очередную тройку и там сразу были бы кнопки "не возражаю" и селекты для остального, то работа с системой ускорилась бы в многие разы и требовала бы в многие разы меньшего напряжения от руководителя. Как ни считай, время руководителя стоит дороже времени других участников.

Может, я чего-то не вижу или не знаю, но выводы мне кажутся однозначными.

  1. Связанные общим контекстом дела удобно иметь на одной странице с не более чем тремя кнопками либо (хуже) селектом по каждому делу,
  2. Одна из кнопок может показывать дополнительные селекты, textarea и пр.
  3. Делать эти дела должно быть можно в любом порядке без дополнительных затрат времени
  4. Дружелюбный интерфейс должен не исчезать, а позволять изменить решение если это в принципе возможно.
  5. Сделанный выбор должен быть виден при последующих вызовах страницы.

На мой взгляд объектная модель должна быть примерно такой:

  • Каждому узлу в любой момент времени соответствует title и info.
  • Каждый из title и info может выглядеть по-разному в зависимости от отношения пользователя к данному совместному делу, которое определяется набором его ролей в этому деле и выбором интерфейса.
  • Каждый из title и info является генерируемым html/xml-фрагментом, содержащим формы и divы для вставки фрагментов дочерних узлов. При этом количество последних не ограничивается, но они (формы и divы) не могут быть вложены или пересекаться.
  • При загрузке с типовым интерфейсом (по умолчанию) слева рисуется дерево раскрытое до одного из наиболее важных дел, справа- инфо узла с этим делом. При наличии на пути корня к делу дискуссии, ветка последней рисуется в правой половине, развернутая до всех текущих дел. При этом info по всем путям к делам раскрыты внутри title, а по соседним узлам могут быть раскрыты вместе с веткой нажатием того же плюсика.
  • В любой момент выделен цветом один их узлов и его info показано. В дискуссии одновременно показываются info соседних узлов

Есть возражения?

-- Sergej Znamenskij - 13 Jan 2009

> По поводу интерфейса - у нас весь интерфейс чисто русскоязычный. Другого нам не надо.

Тогда надо переводить «Please, wait...», «SOME GROUP», «NOT FOUND» и др на русский язык и исправлять в интерфейсе.

-- Maxim Stotsky - 13 Jan 2009

С другой стороны для международных конференций с несколькими рабочими языками желателен и многоязычный, прежде всего англоязычный интерфейс. Опыт показывет, что gettext не в состоянии обеспечить качественного перевода. На мой взгляд, проще и правильнее всего переводить шаблоны страничек и, при необходимости, данные, а в скриптах кириллицу использовать только в именах атрибутов.

-- Sergej Znamenskij - 31 Mar 2009

 

ItemTemplate
Summary Индикация стадии обработки запроса
ReportedBy Maxim Stotsky
AppliesTo CSS and JS
Priority Low
Current State Confirmed
Waiting For

 
Powered by TWiki

This site is powered by the TWiki collaboration platformАвторские права © закреплены за авторами проекта. Все материалы по этой платформе сотрудничества являются их собственностью.
Есть идеи, вопросы или проблемы, связанные с TWiki? Свяжитесь с нами