Реестры Alvex связь с бизнес-процессом

Руководством компании была поставлена задача - найти достойную мультиплатформенную и, по возможности, бесплатную СЭД, разработать бизнес-процессы и реализовать возможность регистрации входящей и исходящей корреспонденции. Выбор пал на Alfresco. Написать свои бизнес-процессы не составило особого труда, в этом мне очень помогли форум Community и статьи Activiti: пример создания workflow и ее продолжение, за что отдельное спасибо  пользователю Angelina.  Изначально не совсем понимал, как реализовать процесс регистрации корреспонденции, выходом видел лишь изучение Java и написание дополнений к Alfresco, но и тут, как оказывается, все уже давно «придумали за меня» и есть такое прекрасное дополнение как Alvex. Форму регистрации «допилил под себя», но реализовать задумки полностью так и не получилось… Отсюда возникло несколько вопросов, по большей части, касающихся Alvex:

  1. Возможно ли при завершении регистрации корреспонденции (как входящей, так и исходящей) стартовать определенный бизнес-процесс автоматически или же по нажатии кнопки выбора бизнес-процесса? В идеале было бы вообще добавить возможность связи с существующей задачей или же создание новой.
  2. Если первый пункт реализуемый, то возможно ли из запущенной задачи получить данные процесса регистрации документа, а так же привязать файл добавленный в ходе регистрации?

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

P.S. Есть еще одна «хотелка» - Наша организация лишь небольшая часть всей системы и большая часть писем от вышестоящих компаний приходят с резолюциями. Скажите, может быть, уже есть дополнение к Alfresco, в котором реализована возможность создания резолюции?

Комментарии

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

1. Вообще-то это все реализовано в Alvex Enterprise. Вы, конечно, искали бесплатное решение, но в данном случае полноценное решение стоит некоторых, пусть и небольших, денег. В описании Alvex где-то было указано, что интеграция между реестрами и процессами нормальная - в Enterprise. Потому что если вам это правда надо, то вы уже крутая продвинутая компания. См. http://www.alvexcore.com/img/features/ru/documents-5.png на странице http://www.alvexcore.com/ru/product/features/documents/. Во-первых, там есть бизнес-процесс регистрации документов, который подразумевает постановку задачи обработки документа после регистрации. Во-вторых, там есть кнопка "Начать процесс" для каждого документа реестра. В-третьих, можно аттачить записи реестра к любым задачам через обычный аплоадер. В следующей версии (2.0.3) обещают сделать еще удобнее и красивее, чем сейчас.

При том, сколько всего Вы уже запилили сами, предлагаю более технический и костылеватый вариант для решения задачи "стартовать определенный бизнес-процесс автоматически":
Вы можете в репозитории (в верхнем меню кнопка есть) от имени администратора открыть папку нужного реестра (/Sites/Нужный_сайт/DataLists/ID_реестра) и выбрать в меню действий для папки управление правилами. Там можно повесить правило, чтобы при добавлении нового элемента в папку (на самом деле это будет документ в реестре) запускался нужный бизнес-процесс. Пример скрипта запуска процесса есть среди действий в пункте "Запустить произвольный скрипт". В том примере нужно только поменять id процесса и перебросить файлы документа в процесс.

Если у кого-то есть другие идеи, как это сделать, буду рада их тоже услышать.

2. Придется написать скрипт, который будет через API вытаскивать файлы, подключенные к документу в качестве ассоциации с именем alvexdt:files. Пример вытаскивания всех данных документа (правда для миграции, а не для подключения к задаче) есть в https://github.com/ITDSystems/alvex-courses-extras/blob/master/2013-06-07/registry-migration/doc-reg-migrate-sample.js. Судя по количеству сделанного вами, думаю, что разберетесь.

3. Насчет резолюции: можете пояснить, что имеется в виду под резолюцией в вашем случае? Для меня резолюция - это скорее документ, который генерируется в результате процесса рассмотрения другого документа, в который вносятся данные о том, кто когда одобрил документ. Вы явно имеете в виду что-то другое.
 Здравствуйте! Спасибо за столь развернутый ответ.
1. За эти 2 дня я как раз решил опробовать Enterprise версию Alvex. Да, это реализовано, да практически так, как и хотелось, все красиво, все хорошо. Но прежде чем поднимать вопрос о необходимости приобретения лицензии какого-либо продукта, требуется убедить начальство в его необходимости, тем более, насколько я понимаю, Enterprise версия требует ежегодной подписки, у нас такой софт не особо чтит руководство, тут опять же нужно изначально показать полезность продукта. Так что в любом случае, в работу первоначально придется запускать Community версию и подсаживать на все прелести СЭД и ECM пользователей, а они уже сделают свое дело. Ну, хватит о грустном…
По поводу правил для директории я уже думал, но опять же я не знал, как привязать файл к запускаемому процессу. Вообще это был бы, пожалуй, самый идеальный вариант,  так как все входящие документы поступают либо в бумажном виде, либо в виде факсов. Все бумажные документы сканируются на сетевом сканере, внутренняя память которого монтируется через протокол WebDAV, все факсы приходят на электронный факс и затем помещаются в папку, далее все документы проходят бинаризацию ImageMagick’ом, а затем средствами Tesseract’а распознаются как текст (нужен исключительно для поиска) далее необходимо запустить сам процесс и передать ему оба файла. Ваш метод решения, подходит, как нельзя кстати, спасибо! Но не могли бы вы немного разжувать, что значит «перебросить файлы документа в процесс» или дать ссылку, где это описывается. Одно меня смущает в этом решении – в ходе распознавания текста, создастся второй файл, который тоже нужно будет добавить к процессу, но, как я понимаю, правило будет обрабатывать каждый из файлов по отдельности по мере его появления в папке. Но это пока не критично, пусть пока текст прикрепляться не будет, со временем, думаю, все равно приду к другому решению...

2. Спасибо, обязательно посмотрю чуть позже, все равно не первоочередная задача.

3. Под резолюцией в данном случае я имею в виду бумажку в которой каждый начальник другой компании, пишет всякую ахинею (типа результата который он хочет видеть, сроков, рекомендаций и комментариев) и отправляет к нам для работы или же для очередной резолюции в подвластные организации, как-то так…  Как я себе это представляю: есть некая область в которой есть таблица из одной строки четырех столбцов и одной кнопки «добавить». Столбцы следующего содержания: дата рассмотрения, кем рассмотрено, кому направлено и комментарии. При нажатии на кнопку добавляется новая строка. Это все нужно лишь для бумажных резолюций. И это лишь «хотелка», и до этого руки еще не скоро дойдут, так что не обращайте внимания.

Есть еще один вопрос: возможно ли запускать задачу за пределами среды самой Alfresco и передавать ей параметры? Например, с помощью башевских скриптов или питона? Это касается как раз первого пункта. Для меня это бы было удобнее, если с
XML я еще сколько-то работаю, то Java-скрипты для меня вообще диковинка.