RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Заполнение свойств при открытии карточки, созданной в конструкторе решений.

Рассмотрим пример заполнения свойства типа "Текст" при открытии карточки.
При помощи утилиты CardGenerator создано описание библиотеки и карточки. Описание библиотеки загружено в базу. В конструкторе решений на нашу карточку добавляем несколько полей. Пусть это будет карточка сообщения, у которой будут поля "От", типа "Сотрудник", "Кому", типа "Сотрудник", и "Текст", типа "Текст".



Для того, чтобы назначить скрипт на открытие необходимо в окне "Структура разметки" выбрать узел с карточкой, и открыть вкладку "Свойства".
У карточки довольно много свойств и событий. Это может ввести в заблуждение. Например, какое событие использовать для создания скрипта на открытие: CardActivating, CardActivated, или AfterActivate? Для подобного скрипта нужно использовать событие AfterActivate - оно в списке выделено.

Кликаем на это поле, и открывается окно редактирования скрипта.

Разработчики скриптов карточек и сценариев БП, часто просили реализовать подсветку. И при создании Конструктора решений эти пожелания учтены. В нашем редакторе скриптов есть не только подсветка, но и InteliSense!

Для заполнения поля "Текст" пишем такой сценарий.
using System;
using System.Windows.Forms;
using DocsVision.Platform.ObjectManager;
using DocsVision.BackOffice.View.WinForms;
using DocsVision.BackOffice.Model;

namespace ScriptNamespace
{
    public class ScriptClass
    {
        public void Execute(UserSession session, CardData cardData, BaseCardControl cardControl)
        {
            cardControl.PropertyController.UpdateProperty("Текст","Салют!");
            cardControl.PropertyController.RefreshControls();
        }
    }
}
"Refresh" нужен, чтобы поля обновились.
Важно. После внесения изменений в карточку необходимо перезапустить сервисы DocsVision.
Готово. При открытии карточки наше поле заполняется.


Читать дальше

Оставить комментарий (всего: 0)

Жизненный цикл инцидента. Регистрация и первый ответ.

Продолжаем пятничную тему.

Что происходит с инцидентом после того, как вы отправили письмо на адрес supрort@dосsvision.com.

Шаг 1. Автоматическая регистрация.
После того, как письмо попадает в наш ящик, его подхватывает наш бизнес-процесс. Бизнес-процесс начинает разбирать его по частям: отправители, получатели в копии, тема, тело сообщения, вложения.
При регистрации есть одна особенность - скриншоты, которые вставлены в тело письма не попадают в список приложенных файлов, и мы их не видим. Поэтому все файлы надо прикреплять как вложения.

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

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

После назначения ответственного отправляется второе информационное сообщение.

Шаг 3. Решение.
Самый интересный шаг. Все инциденты у каждого специалиста ранжируются и выстраиваются в очередь. Но если мы видим, что инцидент простой, и ответ на него будет быстрым, то он может быть рассмотрен практически сразу после регистрации.
В процессе решения может потребоваться помощь разработчика. В этом случае специалист поддержки создает т.н. вопрос разработчику - это тоже карточка.

Шаг 4. Отправка ответа
Ответ заносится в ту же карточку "обращение" с которой связан инцидент. И после того, как ответ записан и сохранен, карточку подхватывает специальны бизнес-процесс отправки.
Этот процесс формирует письмо: в начало письма вставляет последний ответ, а затем несколько записей из предыдущей истории переписки. Указывает всех адресатов, прикрепляет файлы и отправляет письмо. После этого меняет состояние в карточке обращения, и устанавливает дату напоминания.  Если до этой даты не будет ответа, то будет автоматически отправлено напоминание. Читать дальше

Оставить комментарий (всего: 2)

Обновление состояния сессий пользователей. Время бездействия

В окне "Открытые сессии" (Навигатор / Сервис / Сессии)  можно посмотреть список открытых сессий, а так же время бездействия.
На данном параметре я сейчас хочу остановиться подробнее.
За обновление времени последнего доступа в сессии отвечает процедура dvsys_session_touch. Она вызывается после получения объекта сессии из кэша сервера, если со времени последнего вызова dvsys_session_touch прошло более 5 минут.

Следовательно, если по какой-то причине StorageServer перезапускается чаще 5 минут, то данный параметр не будет никогда обновлен. И следовательно, время бездействия будет увеличиваться, при том, что пользователь будет работать.
В каких случаях это может происходить. Например, в настройках пула приложений Application Pool в IIS, установлен параметр - предел при котором наступает рециклинг (Recycling), который достигается чаще чем 1 раз в 5 минут. Например, установлено правило - перезапускаться при достижении 512 Мб занятой физической памяти.
Читать дальше

Оставить комментарий (всего: 0)