Прогресс
Прогресс — это механизм информирования пользователя при долгих операциях (отправки формы или групповой операции). Долгая операция делится на условные шаги, и сопровождается комментариями.
Пример из orion:
Получение прогресса
Чтобы запустить механизм прогресса нужно к запросу добавить параметр progressid, значение параметра необходимо сгенирировать самому, оно должно быть уникальным для сессии, может состять из цифр и/или букв(идеально подойдет timestamp).
Для получения прогресса нужно позвать ф-цию progress.get c параметром elid равный отправленному progressid.
В ответ панель сформирует XML следующего вида:
XML:
<doc ...>
<action>product.install</action>
<start>1376013950</start>
<last>1376013971</last>
<now>1376013974</now>
<steps>6</steps>
<done>4</done>
<comment>Выполняю кэширование доступных пакетов</comment>
<tparams>
...
</tparams>
</doc>
Для вычисления процентов надо использовать значения элементов steps (общее количество шагов) и done (количество выполненых шагов). Комментарий берется из элемента comment.
Элемент start содержит время начало операции, last — время завершения предыдущего шага, now — время текущего запроса.