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)

Создание ярлыка для DocsVision Навигатор как RemoteApp

Начиная с Windows Server 2008 в службе терминалов появилась возможность создавать ярлыки для приложений терминального сервера. Так называемые RemoteApp (http://technet.microsoft.com/ru-ru/library/cc731340%28WS.10%29.aspx). Это позволяет работать в терминальной сессии с одним определенным приложением. Я опишу как создать такой ярлык для Навигатора DocsVision, тем более, что в этом случае есть особенности.

1. Открываем консоль RemoteApp Manager на сервере терминалов (в данном примере это Windows 2008 R2)


2. В данной консоли выбираем Add RemoteApp Programs


3. В списке приложений нам предлагаю указать нужное. И тут есть одна особенность. Логичным выглядит выбор ярлыка DocsVision Навигатор (C:\Program Files\DocsVision\Platform\4.5\Client\Navigator.url). Однако, здесь поджидает сюрприз. Если создать таким образом RemoteApp, то при открытии пользователем, оно будет закрываться автоматически через 10 - 15 секунд. Эта особенность не связана с ярлыком Навигатора, а происходит с любыми ярлыками на интернет ресурсы. Для проверки можете создать ярлык (*.url) на сайт, например, dvprofessionals.blogspot.com. Разверните его как RemoteApp. Как только пользователи откроют его, он через 10 секунд закроется.

Поэтому в списке приложений нужно указать Internet Explorer (iexplore.exe). Причем, если сервер 64 битный, то нужно выбирать 32 разрядную версию Internet Explorer, которая находится в папке C:\Program Files (x86)\Internet Explorer.


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


4. В свойствах указываем опцию Always use the following command-line arguments, и в строке параметров указываем адрес сервера DocsVision


5. Все, осталось только создать ярлык. В свойствах выбираем Create .rdp File


Файл появится в папке C:\Program Files\Packaged Programs. Теперь достаточно передать его пользователям и они смогут работать в терминальной сессии с Навигатором, как с RemoteApp
Читать дальше

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

Загрузка файла имеющего две точки перед расширением в SharePoint

Если через "Универсальную функцию / Шлюз SharePoint / Элемент общего списка / Добавить вложение из файловой системы" попытаться добавить файл у которого есть две точки перед расширением (например test..txt), то при добавлении будет ошибка:

"При выполнении универсальной функции 'Добавить файловое вложение из файловой системы' произошла ошибка.
Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown."

По данному сообщению понять причину нельзя. Однако, она тривиальна. В SharePoint нельзя загрузить такие файлы. Можно попробовать выполнить это непосредственно из интерфейса портала.
Читать дальше

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

Утилита построения CAML запросов к SharePoint

Шлюз в SharePoint позволяет выполнять фильтрацию в соответствии с запросом на CAML языке.

В помощь рекомендую отличную утилиту U2U Caml Query Builder:
http://www.u2u.net/res/Tools/wincamlquerybuilder/CamlQueryBuilder.aspx Читать дальше

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

Странная ошибка при открытии pdf файлов из DocsVision

В нашу службу технической поддержки пришло несколько инцидентов связанных со следующим поведением. При открытии файла *.pdf из карточки документа возникает ошибка (информационное сообщение) - "Невозможно открыть файл, возможно он был удален".
В этом случае, как ни странно, помогает тривиальный способ - переустановка Acrobat Reader на этой машине. Так, что если вы столкнетесь с подобным инцидентом, попробуйте это выполнить. Читать дальше

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

Заполнение описания в поле типа "Гиперссылка", элемента общего списка SharePoint

В SharePoint у элемента общего списка может быть поле типа "Гиперссылка". У данного поля есть два свойства: URL и описание.

Как при помощи бизнес-процесса заполнить это описание?

Ответ можно получить, попробовав прочитать это поле. Если значение из данной колонки записать в строковую переменную, то можно увидеть что оно будет сохранено в виде "URL, Описание". Значит, чтобы добавить описание нужно точно такую же строку записать в поле этой колонки.

Воспользуемся ф-цией универсального обмена данными. Источник строка вида "http://docsvision.com, DocsVision". Приемник элемент общего списка документов. В качестве свойства указываем название колонки:

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

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

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

Рассмотрим пример заполнения свойства типа "Текст" при открытии карточки.
При помощи утилиты 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)