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 на 64-битный сервер

Очень часто при установке DocsVision на 64-битный сервер при открытии навигатора пользователи сталкиваются с ошибками

Невозможно открыть сессию. Проверьте правильность соединения и работоспобность сервера
Указанная база не существует
или
DocsVision Server has incorrect license key

Причина ошибки в том, что IIS (пул приложений) работает не в соответствующем разрядности приложения режиме и данные читаются не из той ветки реестра (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DocsVision для 32-битных приложений или HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision для 64-битных).

Как решить проблему?
Если устанавливается 32-битная версия DocsVision на 64-битный сервер необходимо:

- для IIS6 (WinXP, Server 2003) выполнить действия, описанные в статье
http://support.microsoft.com/default.aspx?scid=kb;en-us;894435
раздел ASP.NET 2.0, 32-bit version
Проверить правильность выполненных действий можно следующим образом: в IIS Manager - Web Service Extensions должна быть запись ASP.NET v2.0.50727 (32-bit) Allowed



- для IIS7 (Vista, Server 2008) — изменить настройку в пуле, для чего последовательно выполнить: открыть Internet Informational Services Manager —> перейти к Application Pools —> выбрать пул в котором работает DocsVision —> открыть окно расширенных настроек Advanced Settings, в этом окне установить значением поля Enable 32-bit Applications True.



Если же устанавливается 64-битная версия DocsVision на 64-битный сервер и возникла подобная ошибка необходимо:

- для IIS6 (WinXP, Server 2003) выполнить действия, описанные в статье
http://support.microsoft.com/default.aspx?scid=kb;en-us;894435
раздел ASP.NET 2.0, 64-bit version

- для IIS7 (Vista, Server 2008) — изменить настройку в пуле, для чего последовательно выполнить: открыть Internet Informational Services Manager —> перейти к Application Pools —> выбрать пул в котором работает DocsVision —> открыть окно расширенных настроек Advanced Settings, в этом окне установить значением поля Enable 32-bit Applications False. Читать дальше

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

Програмный запуск бизнес-процессов

Симптом.
После обновления на DocsVision 4.5 перестал работать скрипт, создающий по шаблону экземпляр бизнес-процесса. После выполнения скрипта сервис Workflow перестает обрабатывать бизнес-процессы. Помогает только остановка экземпляра и его повторный запуск.

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

Единственный штатный способ программно запустить процесс с клиента с использованием  COM-компонент -это использование UserSession.WorkflowManager.GetProcess(processID).Start()

Что нужно сделать.
Если причина подтвердилась, то необходимо. Всем экземплярам процессов у которых поле DateBegin = null нужно прописать дату.

После исправления процессов и скрипта, надо перезапустить службы DocsVision Workflow, DocsVision StorageServer и IIS. Читать дальше

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

Инцидент №50000

Именно с таким номером сегодня зарегистрирован инцидент в нашей службе поддержки. Даёт ли это какую-нибудь оценку? Да в общем нет :)

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

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

Посмотрим на самый низкий приоритет в нашей иерархии: "Плановый". Какое среднее время ответа будет по этому приоритету?
Ответ: 7.2 часа (ср. с максимальным возможным 32 часа http://www.docsvision.com/index.phtml?Name=support1).

Возьмем выборку из 200 инцидентов и взглянем на график среднего времени ответа по каждому инциденту:

Есть пики, но в основном значения гораздо ниже нормативного значения времени реакции. Читать дальше

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

DocsVision на iPad.

Интригует? Компания Digital Design, премиум партнер компании DocsVision, сообщила об открытии Центра разработки решений для iPad. Одной из задач нового Центра является намеченный на сентябрь 2010 года выпуск мобильного клиента под iPad для системы электронного документооборота DocsVision.
Как отметил  Сергей Курьянов, директор по развитию компании DocsVision:- «Взрывной рост спроса на бизнес-решения на базе планшетов и смартфонов отражает не просто моду на гаджеты, а растущий спрос пользователей на индивидуальную информационную среду, соответствующую не только должности и обязанностям человека, но и его личным вкусам и склонностям. Недавно мы выпустили новый инструмент для создания решений, поддерживающих индивидуальные конфигурации рабочих мест – Конструктор Решений DocsVision. Безусловно, в ближайшее время планшетных устройств станет много, и работать они будут на разных операционных системах. Но формфактор планшета, как персональной рабочей станции, останется надолго. Уверен, что опыт, полученный Digatal Design в пилотных разработках на базе iPad, вскоре станет с нашей помощью доступен всей партнерской сети и всем заказчикам DocsVision, использующим, или собирающимся использовать устройства этого класса»

Пресс-релиз компании Digital Design и скриншоты прототипа МРМ DocsVision на iPad доступны по ссылке:
http://www.digdes.ru/news/innovacionnyj_centr_razrabotki_reshenij_dlya_ipad/


Если вы разрабатываете новые решения на платформе DocsVision, расскажите об этом. Есть статья об этом? Публикуйте на нашем блоге. Читать дальше

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

Установка DocsVision 4.5 на одном сайте с SharePoint

В руководстве по установке и настройке есть уточнение: если мы хотим установить DocsVision в тот же сайт, что и SharePoint, то достаточно исключить сайт DocsVision из управляемых путей (более подробнее см. руководство). На практике этого оказалось недостаточно.
Рассмотрим два случая: установка в один сайт с SharePoint 2007, и SharePoint 2010. Тестовая установка и моделирование ситуации производилось на следующих машинах

1. SharePoint Server 2007+ Windows Server 2008R2
2. SharePoint Server 2010+ Windows Server 2008R2

Рассмотрим первый случай.
Перед началом моделирования, на машине уже был установлен MOSS 2007 и DocsVision 4.5. Причем DocsVision был размещен на отдельном сайте, и порту. Так же оба приложения работали в раздельных пулах.

Шаг 1. Переносим DocsVision в сайт MOSS 2007

Для этого в консоли настройки, ветка "Сервер", указываем сайт на котором установлен SharePoint. Сохраняем настройки. Сайт сконфигурирован.

После этого, если открыть сайт по ссылке http://server/DocsVision45, то будет отображаться сообщение об ошибке.


Чтобы его обойти нужно открыть файл Web.config, который находится в папке DocsVision и закоментировать строчку (при помощи <!-- -->):
<sessionState mode="SQLServer" timeout="60" allowCustomSqlDatabase="true" partitionResolverType="Microsoft.Office.Server.Administration.SqlSessionStateResolver, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
(EditWebConfig.jpg)


Шаг 2.Перезапуск IIS
Перезапустите IIS. Далее при открытии http://server/DocsVision45, было уже другое сообщение Server Application Unavailable.

Данная ошибка связана с тем, что сам сайт работает в пуле, в котором включен режим Classic, а пул DocsVision работает в Integrated. Меняем режим.

Перезапускаем IIS. Все. после этого сайт DocsVision заработал

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

После установки пробуем открыть Навигатор, ожидая поведения как в первом случае. Но натыкаемся на совершенно другую ошибку:

При открытии Навигатора ошибка 500.19

Module IIS Web Core
Notification BeginRequest
Handler Not yet determined
Error Code 0x800700b7
Config Error There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined 
Config File \\?\C:\Program Files\DocsVision\Platform\4.5\Server\Site\web.config

Проблема обнаружилась в конфликте конфигурационных файлов сайта SharePoint и приложения DocsVision. Придется выполнить хак, немного модифицировав web.config сайта DocsVision:

1. закомментировать ConfigSection раздел, и Pages/Controls.

2. после этого перевести пул DocsVision в режим Classic.

После этого Навигатор откроется успешно. Читать дальше

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

Настройка дайджеста с помощью XSLT

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

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


Чтобы вывести в дайджест значение поля, необходимо написать конструкцию вида:
<xsl:value-of select="//Имя_секции/@Имя_поля"/>

А для вывода в дайджест значения свойства:

<xsl:value-of select="//CustomPropertiesRow[@Property_Name='Имя свойства']/@Value"/>



Теперь продемонстрируем пример дайджеста,
выводящего данные о названии маршрута и его типе из карточки Маршрута:

Маршрут "<xsl:value-of select="//CustomPropertiesRow[@Property_Name='Название маршрута']/@Value"/>". Тип: <xsl:value-of select="//Main/@RouteType"/>

Результат настройки дайджеста будет выглядеть так:

Маршрут "Для согласования юр.док-ов". Тип: последовательный
Читать дальше

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

Редактирование данных в связанных полях

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

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

Решение.
В карточке документа размещаем 3 основных контрола:
- Выбор маршрута (контрол типа Ссылка на карточку)
- Тип маршрута (контрол типа Группа радиокнопок)
- Согласующие лица (контрол типа Сотрудники)
а также 2 вспомогательных контрола:
- Тип маршрута Вспомогательный (контрол типа Группа радиокнопок)
- Согласующие лица Вспомогательный (контрол типа Сотрудники)
Вспомогательные контролы делаем невидимыми (устанавливая атрибут Visibility в Invisible или EmptySpace) и привязываем по ссылке к соответствующим полям карточки маршрута согласования, выбираемой в контроле Выбор маршрута (как это сделать, описано в руководстве администратора).
Затем пишем следующий скрипт для события ControlValueChanged контрола Выбор маршрута:

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)
{
// Получение значения связанного свойства, которое на форме сделано невидимым.
// Его единственная задача - получить значение по ссылке
object propertyValue = cardControl.PropertyController.GetPropertyValue("Тип маршрута Вспомогательный");
// Запись значения в свойство
cardControl.PropertyController.UpdateProperty("Тип маршрута", propertyValue);
// То же для контрола типа Список сотрудников
object propertyValue2 = cardControl.PropertyController.GetPropertyValue("Согласующие лица Вспомогательный");
cardControl.PropertyController.UpdateProperty("Согласующие лица", propertyValue2);
// Обновление элементов управления
cardControl.PropertyController.RefreshControls();
}
}
}

Все!
Теперь после выбора ссылки на карточку маршрута можно редактировать тип маршрута и список согласующих лиц.
Читать дальше

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

Загрузка библиотек карточек при помощи CardManager

Есть одна особенность использования утилиты CardManager при загрузке карточек в базу.

При загрузке карточек CardManager получает версию библиотеки DocsVision.Platform.Data.dll. И эту версию указывает в поле SysVersion при генерации скрипта.

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

Это может привести к тому, что карточки будут не видны в Навигаторе Читать дальше

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

Действия с разработанными библиотеками при обновлении базы.

При обновлении базы данных версии стандартных библиотек изменяются автоматически. Если в базе присутствуют разработанные вами карточки и библиотеки, то версии их нужно повысить вручную. В противном случае карточки не будут отображаться в Навигаторе. А так же не будут работать представления по данным типам карточек.

Делается это просто. Необходимо прописать в поле SysVersion таблиц dvsys_libraries и dvsys_carddefs текущую версию БД. Естественно нужно это делать только для своих библиотек и карточек.

В нашем случае мы обновляли копию рабочего сервера с версии 1940 на промежуточную сборку 1964. В базе присутствовали карточки нашего решения DVManagement. Поскольку кроме этих карточек и стандартных, других решений не было, то запрос будет простым:

UPDATE dvsys_libraries SET SysVersion='1964' WHERE Alias='DVManagement'
UPDATE dvsys_carddefs SET SysVersion='1964'
Читать дальше

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

Регулярный опрос о работе службы технической поддержки.


Завершился второй квартал, и мы в очередной раз спрашиваем – как вам работа нашей службы технической поддержки. Ссылка на опрос отправляется всем тем, кто открывал у нас инциденты этот период. Но активности маловато: на 349 адресов было отправлено письмо, а результатов всего 44. Почему так мало-то? Если вы обращались к нам во втором квартале, но никакого письма с приглашением принять участие в опросе не получали, сообщите нам. Лучше стандартным путем – письмо на ящик технической поддержки. В комментариях оставлять свои адреса не нужно, спамеры замучают.

Интересно, что больше всего ответов на опрос дали наши любимые клиенты: 24, а от партнеров меньше – соответственно 20. При этом, что гораздо больше инцидентов открывается партнерами во время внедрения, когда активно идет настройка и модификация.

Самый частый вопрос, который мне задают, – почему нет поддержки по ICQ? Задам встречный вопрос, - чем, для вас, отличается поддержка по ICQ от поддержки по телефону?
Ответы жду в комментариях.

p.s. Да, опрос анонимный. Мы специально не собираем никаких данных о тех, кто ответил. Читать дальше

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