- Alfresco свои бизнес процессы
- Process Management
- Gain New Levels of Agility and Efficiency
- Empower Business Users
- Integrate Process and Content
- Customers
- Automate Intelligently
- eBook: Integrate Content & Process
- Alfresco Process Services (BPM)
- Open, Scalable & Agile Process Services
- Ease of Process Definition Development & Deployment
- Watch a brief overview of the Alfresco Process Services architecture & capabilities
- Powerful Task & Case Management
- Open, Easy to Integrate & Extend
- Addressing Process Compliance
- Enterprise Scale & Robustness
Alfresco свои бизнес процессы
В этой статье будет рассмотрен пример создания простого маршрута для документооборота, а именно:
- создание модели контента
- описание бизнес-процесса
- описание модели бизнес-процесса
- локализация бизнес-процесса
- настройка веб-клиента Alfresco
- локализация веб-клиента Alfresco
Итак, приступим. Допустим, у нас есть фирма TrashCo, которая между прочим занимается публикацией статей. Предлагаю реализовать вот такой маршрут для документа, описывающий процесс публикации статьи:
Для задания такого маршрута нам понадобится создать несколько файлов, а именно:
- tcModel.xml – описание модели контента
- workflows/PublishPaperProcess.xml – описание бизнес-процесса
- tcWorkflowModel.xml – описание модели бизнес-процесса
- tcWorkflow_ru_RU.properties – локализация бизнес-процесса
- web-client-config-custom.xml – настройка веб-клиента Alfresco
- webclient_ru_RU.properties – локализация веб-клиента Alfresco
Первым делом созданим модель контента (content model), хоть она и не является обязательной частью описания бизнес-процесса (workflow). Модели контента используются для задания тех метаданных, которые мы хотим хранить для каждого документа в бизнес-процессе. В нашем случае никаких особенных данных хранить не требуется, поэтому создаем тип, унаследованный от базового типа. Файл, описывающий подобную модель может выглядеть следующим образом ( tcModel.xml ):
Следующий шаг – описание бизнес-процесса. Для этого можно воспользоваться несколькими способами: создание XML руками, использование jBPM Designer, использование Activiti Modeler Activiti Modeler находится пока что в стадии разработки, собрать его из исходников мне не удалось, поэтому вариант отпадает. jBPM Designer мне показался несколько глючноватым, в связи с чем я остановился на на первом варианте. Он не так красноглаз, как кажется на первый взгляд.
Каждый маршрут должен содержать как минимум два узла (node): start-state для начального состояния и end-state для конечного. Все узлы соединяются при помощи переходов (transitions). В нашем примере мы будет использовать промежуточные узлы двух типов: task-node описывает узел, для прохождения которого необходимо привлечение человека, node – остальные узлы.
Предположим, что в компании есть штат корректоров (их пользователи состоят в группе correctors) и несколько технических редакторов, но каждый из них отвечает за публикацию статей только определенной тематики. Поэтому при создании бизнес-процесса пользователь должен выбрать конкретного технического редактора, который будет проверять статью. Ниже приведено описание процесса ( workflows/PublishPaperProcess.xml ):
Следующий шаг, после описания процесса – создание модели процесса (workflow model). Модель процесса описывает, что может происходить с документами на каждой стадии процесса. К примеру, мы хотим, чтобы при создании бизнес-процесса для статьи была возможность поставить галочку «Опубликовать online» – это делается путем указания аспектов (aspects) контента ( tcWorkflowModel.xml ).
TrashCo Workflow Model
TrashCo webable aspect
Далее нужно локализовать наш бизнес-процесс, чтобы в веб-интерфейсе Alfresco отображались нормальные названия задач и кнопок ( tcWorkflow_ru_RU.properties.in ).
tcwf_publishpaper.workflow.description=Подача, корректирование, техническое редактирование
tcwf_publishpaper.task.tcwf_correctTask.title=Проверить и откорректировать статью
tcwf_publishpaper.task.tcwf_correctTask.description=Проверить и откорректировать статью для передачи техническому редактору
tcwf_publishpaper.task.tcwf_editTask.title=Проверить и откорректировать статью
tcwf_publishpaper.task.tcwf_editTask.description=Проверить и откорректировать статью для публикации
tcwf_publishpaper.task.tcwf_reviseTask.description=Исправить статью для передачи на повторное рассмотрение
# Названия кнопок на узлах бизнес-процесса
tcwf_publishpaper.node.CorrectTask.transition.approve.description=Одобрить статью и направить ее техническому редактору
tcwf_publishpaper.node.CorrectTask.transition.reject.description=Отклонить статью и отправить ее на доработку
tcwf_publishpaper.node.EditTask.transition.approve.description=Одобрить статью и отправить ее издателю
tcwf_publishpaper.node.EditTask.transition.reject.description=Отклонить статью и отправить ее на доработку
tcwf_publishpaper.node.ReviseTask.transition.resubmit.title=Подать на рассмотрение повторно
tcwf_publishpaper.node.ReviseTask.transition.resubmit.description=Повторно подать статью на рассмотрение корректору
tcwf_publishpaper.node.ReviseTask.transition.cancel.title=Отменить публикацию статьи
tcwf_publishpaper.node.PublishTask.transition.done.description=Отменить публикацию статьи и завершить бизнес-процесс
Alfresco понимает файлы локализации только в ASCII кодировке, поэтому приведенный выше файл нужно обработать при помощи скрипта convert.sh (путь до утилиты native2ascii зависит от особенностей вашей установки):
for x in `ls *.in`; do
cat $x | /opt/java/bin/native2ascii | grep -ve ‘^#’> `basename $x .in`;
Последний шаг – добавление необходимых кнопок и прочих элементов интерфейса в веб-клиент Alfresco( web-client-config-custom.xml ):
Локализация веб-клиента Alfresco ( webclient_ru_RU.properties.in ):
Этот файл также нужно конвертировать в ASCII кодировку при помощи convert.sh. Для загрузки workflow и моделей требуется создание ещё одного файла, который Alfresco просмотрит при старте и импортирует всё, что нужно ( trashco-model-context.xml ):
Теперь можно устанавливать наш бизнес-процесс, для этого созданные файлы нужно скопировать в $ALFRESCO/tomcat/shared/classes/alfresco/extension . Чтобы избежать ошибок вида
ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
java.util.MissingResourceException: Can’t find bundle for base name alfresco.extension.tcWorkflow, locale en_US
нужно сделать ссылку tcWorkflow.properties → tcWorkflow_ru_RU.properties (или просто скопировать). Перезапускаем Alfresco и наслаждаемся нашим процессом 😉
Так же полезно прочитать обсуждение этой статьи.
Q: У меня такой вопрос.В файле PublishPaperProcess.xml есть значение ‘GROUP_correctors’ и ‘GROUP_publishers’. Не могли бы вы описать эти значения? В алфреско нужно обязательно заводить такие группы?
A: Сам отвечу ))) Да. Оказывается необходимо создать группы «correctors» и «publishers». Тогда все проходит без ошибок 🙂
Q: Пробую исправить стандартный процесс, но он не меняется. В чем может быть дело? Возможно ли изменить или удалить стандартные процессы?
Как удалить я понял. Но вот как исправить? Смотрю в сторону файлов ы каталоге tomcat\webapps\alfresco\WEB-INF\classes\alfresco\.
Да, именно в этой директории. Дальше находите правильный процесс в директории workflow и редактируете нужный процесс. Есть более правильный вариант с точки зрения архитектуры alfresco — удалить оттуда нужный workflow и скопировать измененную версию в tomcat/shared/classes/alfresco/. В таком случае Ваш процесс сохранится и не «умрет» после апдейта системы.
Крайне не рекомендую удалять/изменять стандартные workflow, потому что многие из них используются внутри alfresco. Если они вам просто мешают в веб-интерфейсе, их лучше скрыть. Вот пример для share: http://niketa-alfresco3.blogspot.com/2011/03/how-to-exclude-workflow-from-list-in.html
Тоже вариант.. Стандартный скрыть, но создать нестандартный на его базе..
Источник
Process Management
Gain New Levels of Agility and Efficiency
Companies of all sizes and industries are undergoing a digital transformation. They are modernizing operations and overhauling infrastructure to better serve customers, partners and employees and respond more quickly to changing market conditions.
Alfresco’s process management capabilities lay the foundation for an agile digital business. Simple tools let business users design and adapt their own processes. Dynamic processes allow people to break out of rigid workflows and collaborate on issue resolution. And the integration of content with process adds intelligence to automated information flows so employees work more efficiently and effectively.
— Jacinta Savage, Senior Manager, Business Process Solutions, Swinburne University of Technology
Empower Business Users
Business users can own and quickly modify processes, driving continuous improvement and speeding up application development.
- Intuitive visual tools make it easy for non-technical users to design, deploy and adapt end-to-end process mappings without involving IT.
- Reusable forms and processes simplify and accelerate application assembly using the latest BPM modeling tools
- Human-centric workflows, shared tasks and content-sharing support dynamic, collaborative processes and flexible issue resolution
Integrate Process and Content
Tightly integrated BPM and ECM capabilities streamline content-intensive processes and enable faster, more informed decision making.
- Powerful metadata models and rules can be used to start and automatically move content through a process flow
- Seamless integration with leading productivity and line-of-business applications presents content in context to increase employee productivity
- Mobile and web access ensures that processes don’t stop at the boundaries of the enterprise
Customers
Automate Intelligently
Alfresco enables intelligent, compliant, highly optimized processes that improve service levels and deliver a lasting competitive advantage.
- Decision tables automate processes based on simple-to-configure business rules and eliminate repetitive manual steps
- Process analytics, reporting and flow charts deliver the insights to increase process efficiency and performance
- Auto-generated process summary documents provide a clear audit trail and strengthen process compliance
eBook: Integrate Content & Process
Tips and insights into tightly integrating content and process services to create seamless information flow that advances digital transformation.
Источник
Alfresco Process Services (BPM)
Open, Scalable & Agile Process Services
Alfresco Process Services (powered by Activiti) is an enterprise Business Process Management (BPM) solution targeted at business people and developers. At its core is a high performance open-source business process engine based on Activiti with the flexibility and scalability to handle a wide variety of critical processes. Alfresco Process Services provides a powerful suite of end user tools and integrates with a range of enterprise systems, including Alfresco Content Services, Box and Google Drive.
Ease of Process Definition Development & Deployment
Defining and adapting business processes is key to ensuring success in addressing the ever-changing business requirements. Alfresco Process Services provide a suite of user-friendly tools that make it easy to model, deploy and update critical business processes.
- Graphical tools like the Step Editor guides business users to quickly and easily create new process models. BPM analyst can use the powerful BPMN Editor for advanced and powerful process modeling
- Point and click Forms and Rules Editors make it easy to define and share process forms and decision tables across processes
- Data integration makes it simple to access corporate information and update key business data as part of any process
Watch a brief overview of the Alfresco Process Services architecture & capabilities
Powerful Task & Case Management
Most BPM solutions are too rigid to allow users to adjust for non-routine situations, which results in slowing the flow of business. Alfresco Process Services enables:
- Users to access all information, tasks, and documents to quickly and efficiently complete key business processes
- Collaboration with users working as a team to complete tasks. Users can allocate tasks and subtasks to individuals, allowing users to address non-routine tasks
- Group and individual tasks inboxes allow organizations to model processes to support a wide range of business scenarios
Empower your mobile workforce and delight customers. Alfresco Process Services’ native iOS and Android apps help you operate your business better than ever
- Create tasks, get notifications and check the status of open cases
- Start new processes and collaborate to resolve cases
- Upload pictures, documents, or any other mobile content
Open, Easy to Integrate & Extend
Alfresco Process Services is built around an open source core, with support for open standards and modern development tools enabling easy extention to meet unique business needs.
- Support for industry standards (such as BMPN 2.0, and DMN) allow process architects to easy migrate existing process to the Alfresco platform
- Java-based process engine and support for open API’s makes integrating and extending effortless
- A modern, REST-based, architecture makes Alfresco Process Services the platform of choice to orchestrate processes across multiple business applications
Addressing Process Compliance
For companies struggling to meet regulatory requirements, Alfresco Process Services provides the perfect platform to automate key processes and allows a company to strengthen it compliance with corporate processes and industry regulations.
- Tight integration with Alfresco Content Services allows processes to drive compliance and records activity. For example: automatically declaring account open documents as records as part of a client on-boarding process
- Automated document creation and declaration, with the ability to save process history, enables organizations to automate many of the time consuming activities associated with meeting strict compliance needs
- Extensive integration with other line of business applications and content sharing systems (i.e. Box and Google Drive) enables Alfresco Process Services to capture casual content and put it under compliance control
Enterprise Scale & Robustness
Built on Activiti, an open source, Java based process engine, Alfresco Process Services provides a highly scalable platform to drive business processes across the entire enterprise.
- Powerful process analytics provides tools to review, analyse and optimize processes to ensure that they are complete as efficiently as possible
- Advanced architectural design allows Alfresco Process Services to grow and scale to meet your company’s needs
- Advanced support for clustering of process engines provides a robust platform to ensure no system outage or application down time
Источник