
Сегодня хочу рассказать Вам о новинках, которые совсем скоро появятся в новой версии "Корпоративного портала" - 8.5. Вернее не о всех, а только о новинках в Календаре событий.

Если вкратце:
- Новый функционал - планировщик событий
- Возможность бронирования переговорных из календаря
- HTML-редактор для описания событий
- Уведомления о событиях через социальную сеть
- Доработанный и исправленный интерфейс
Под катом я остановлюсь на детально на всех основных изменениях.
[spoiler]
Планировщик событий
Планировщик событий - задумывался как удобный и полезный инструмент для, организации событий в условиях сильной занятости участников. Т.е. при создании события у организатора появляется возможность видеть занятость участников сразу на одном графике и выбирать подходящее время. Посмотрим на скриншот:

Это общий интерфейс планировщика. При разработке мы оглядывались на похожие интерфейсы в MS Outlook и Lotus Notes. Но постарались сделать его удобнее и адаптировать для использования в браузерах.
Центральную часть интерфейса занимает временная шкала и диаграммы занятости приглашенных участников. Масштаб отображаемых данных можно изменять выбирая из 4-х значений: 30 минут, 1 час, 2 часа, 1 день, в зависимости от продолжительности события для удобства просмотра сведений:

Сведения о доступности участников отображаются на шкале и могут быть разных цветов в зависимости от статуса доступности конкретного участника.
Выделить нужный диапазон можно при помощи мышки. Цвет выделенной области м.б. зеленым или красным в зависимости от того свободны ли все участники в данный период времени или нет, соответственно (на предыдущих скриншотах это видно). Кроме того при возникновении "конфликта", события с которыми пересекается планируемое - мигают, привлекая к себе внимание.
Параметры выделения, конечно же, можно изменять и напрямую - изменяя соответствующие поля (Начало, Окончание или Длительность).
На временной шкале отображается только рабочее время, которое задается в параметрах компонента. При перетаскивании горизонтального скролбара, подгружаются сведения о доступности участников за более ранний или более поздний период.
В верхней части планировщика можно задать параметры начала, окончания события или задать длительность:

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

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

В нижней части окна планировщика расположены инструменты для добавления участников события. В новой версии, кроме инструмента для добавления пользователя по имени, доступного и раньше, появилась возможность добавить всех участников группы (только для календарей рабочих групп) и выбор сотрудников из структуры компании:

При разработке интерфейса мы постарались сделать его удобным и функциональным, уделяя особое внимание юзабилити. Хотя, уверены, в дальнейшем, у нас получится улучшить его еще.
В будущем, вероятно, появится возможность автоматического подбора времени для проведения событий. Учет обязательности или не обязательности присутствия отдельных участников.
Новый интерфейс добавления/редактирования события
Диалог редактирования события подвергся существенной доработке:
всего появилось 4 вкладки:
1. На первой - задаются основные параметры, на эту вкладку переместилось поле Доступность - оно является важным для планирования и учета времени.
Также появилось поле Место проведения* - в качестве значения м.б. выбрана переговорная комната, если это разрешено настройками, или другое произвольное значение.
2. Вторая вкладка - упрощенный визуальный редактор**. Теперь Вы можете создавать более качественные описания события.
3. "Участники" - на этой вкладке можно пригласить в создаваемое событие. На этой вкладке можно открыть окно планировщика. А также добавить текст приглашения.
4. Дополнительные параметры, а также параметры повторяемости находятся на последней вкладке.




*При сохранении события если в качестве места проведения указана переговорная - она будет бронироваться для этого события, но только в том случае, если она доступна. Если же переговорная недоступна, событие сохранится, но место проведения останется пустым.
** Для корректной работы Визуального редактора необходим модуль "Проактивная защита". Т.к. при сохранении, описание фильтруются на предмет потенциальных XSS. В случае отсутствия модуля описание конвертируется в безопасный вид. Но как HTML уже не показывается. Такое поведение, наверное, будет дорабатываться, но пока так

Задав HTML - описание для события можно вставить туда фотографию, или другой контент. И тогда в тултипе к событию будет показываться фрагмент описания:

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

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

Настроек сейчас немного: одна - календарь, в который будут добавляться приглашения на события (Ранее события помещались в первом календаре пользователя); вторая - флажок, который включает мигание красным неподтвержденных событий, для привлечения внимания. После просмотра (подтверждения | удаления) события мигание прекращается.

По умолчанию мигание включено, но учитывая, что наверняка найдутся пользователи, которых будет раздражать такое поведение - функционал сделали настраиваемым.
Немножко для разработчиков
Несмотря на то, что сильно порадовать партнеров - разработчиков, кто хотел бы модифицировать функционал календаря событий, мы еще не можем - документированного API пока нет. Но если Вас интересуют какие-то конкретные дополнительные возможности - обращайтесь в техподдержку. Например, в этом обновлении, по просьбе одного из партнеров, были добавлены два события модуля для календаря событий:
OnRemindEventCalendar - возникает при отправке напоминания о событии пользователю; OnSendInvitationMessage - возникает при приглашении пользователя на событие с участниками, изменение или отмену такого события; |
В Ваших обработчиках данных событий, например, может быть реализована отправка SMS пользователю с напоминанием или уведомлением о событии.
Работа над ошибками
Достаточное количество усилий были направлены на безжалостную борьбу с ошибками и недоработками. И хотя истребить всю популяцию не удалось, пока, но исправлено было множество.

Чтобы успеть к выпуску нам пришлось сильно постараться. Оставшееся до выпуска время будет посвящено тестированию. Надеемся Вы оцените новые возможности и изменения. Будет интересно услышать отзывы о функционале, а также замечания и пожелания.
Всем удачи!
И отличный пост, очень хорошо показывает куда и как мы развиваем продукт.
На последнем семинаре для партнеров меня спросили "а где стоит Microsoft Exchange"
Да, одно пожелание. При добавлении события у тебя появляется "Новое событие".
В это форме есть выпадающий список "Доступность". Поправь, пожалуйста, фразу "Отсутствую" на фразу "Отсутствую (отметить в график отсутствий)" Ну или что-то в этом духе. Люди будут понимать, что указывая так они сразу отмечают свое отсутствие для всех в компании.
Хорошо, поправлю
Спасибо огромное, скоро интегрируемся. Надеюсь и на дальнейшее сотрудничество =) Релиз действительно класс!
Если опция "ответственный" носит чисто информативную функцию можно, наверное, обойтись описанием. Или опишите детальнее, что еще будет зависеть от этого флага?
Хочу добавить, что в будущем, очень вероятно, появится более широкие возможности для кастомизации, расширения функционала, и доработки его под конкретные случаи.
Если сейчас необходим этот функционал, то реализовывать прийдётся копированием компонента и его доработкой?
Именно. Но сложность в том, что для сохранения совместимости с будущими обновлениями, нужно очень-очень тщательно продумывать реализацию такой кастомизации.
Т.к. развитие и доработка функционала календарей будет идти и в дальнейшем.
Где искать? 8)
Чаще всего задачи имеют дату постановки и не имеют конкретного срока.
Т.е. теоретически "транслировать" задачу в событие календаря не сложно. Но это не всегда будет корректно.
В любом случае сейчас такой возможности нет. Но не исключено, что такая возможность появится в виде отдельной настройки.
Понимаю, что возможность одновременно занять 2 переговорки на одно и тоже время противоречит всякой логике, но возможность просто посмотреть в одном окне занятность - это было-бы очень удобно!
Информация о планировщике:
Информация о приобретении "1С-Битрикс: Корпоративный портал":
Как было бы хорошо зайти в календарь сотрудника и посмотреть его текущую занятость по задачам, чтобы спланировать постановку других.
А задачи почти всегда имеют конкретные сроки выполнения. Вплоть до часа...