Chapter 13. Activiti Cycle(Activiti Cycle)
Table of Contents
- Overview(概要)
- Repositories(倉庫)
- Artifacts and Actions(制品和動作)
Activiti Cycle is a web application that provides a collaborative platform for different stakeholders of BPM projects (Business, developers, IT operations, ...). It combines different repositories like the Activiti Modeler repository, Subversion or your local file system into a single view, which makes it easy to browse all the artifacts that are involved in the process of creating an executable business process. In addition to this, Activiti Cycle provides built in actions like moving artifacts between repositories or downloading different formats of process models, and a plug-in infrastructure for custom actions. Below is a screen shot of Cycle in a default configuration as pre-configured in the demo setup. Please note: Activiti Cycle is still in a "beta" state. With collaborative tools like Activiti Cycle we dont have years of experience yet, like we have with the core engine. Currently most features are already stable, but with adding more use cases and features, we still have to do some tuning of the APIs or database tables. This means, that for example the Plugin-API is still subject to change, which you have to know when you start writing own plugins. Or the database might change without having out-of-the-box database migration scripts ready. But be sure: We work hard on removing the beta status, meaning you will get a stable API and database schema.
Activiti 生命周期管理(Activiti Cycle)是一個Web應用程序,它為BPM項目的不同干系人(業務人員,開發者,IT運營人員,...)提供一個協作平臺。它由像Activiti Modeler倉庫,Subversion或者本地文件系統之類的不同倉庫組合至一個單一視圖。這個視圖使得瀏覽所有包含建立可執行業務流程的制品變得容易。此外,Activiti Cycle提供許多內內置功能:在倉庫間移動制品,或者下載不同格式的流程模型,和定制動作的插件基礎設施。下圖是一個在作為示例建立的預配置的缺省配置。請注意:Activiti Cycle仍處在"beta"狀態。在Activiti Cycle這樣的協同共進的幫助下,我們沒有數年經驗,但是我們具有核心引擎。盡管目前大多數特性已趨穩定,但是由于不斷增加更多的用例和特性,我們仍然不得不整定一些API或者數據庫表。這意味著,為了示例而作的Plugin-API仍然遭遇變更。當你開始編寫自己的插件時,你不得不知道這些變更。或者,在沒有開箱即用的數據庫遷移腳步準備好時,數據庫也可能變化。但是請確定:我努力移除beta狀態,意味著你將得到一個穩定的API和數據庫結構。
Overview(概要)
Since Activiti Cycle is meant to be used by people with entirely different roles, backgrounds and requirements, it was build with customization and extensibility in mind. However, the plug-in infrastructure which is already present in the current release is just a first step to make it possible to tailor Cycle to your specific needs. Future versions will provide a revised plug-in mechanism, a user interface to configure and plug in repositories, tags to dynamically add meta data to artifacts and a commenting function to directly collaborate on an artifact level. You can find a brief introduction to the initial version of Activiti Cycle and the vision behind it in the article Activiti Cycle explained.
因為Activiti Cycle意欲讓完全不同角色,背景和需求的人使用,所以它把可定制性和可擴展性牢記在心。但是,在當前發布當中已具有插件基礎設施,只是讓裁剪Cycle滿足你的需求的第一步。未來的版本將提供一個修訂的插件機制,針對配置和插件倉庫的用戶接口,動態增加元數據到制品的的標簽,直接協作到制品級別的注釋函數。在這篇文章Activiti Cycle explained你能找到Activiti Cycle初始版本的簡介和幕后的愿景。
Repositories(倉庫)
The above image shows the Activiti Cycle repository tree. By default it provides access to the repository of the Activiti Modeler and a demo Eclipse workspace, which is located at ${activiti.home}/workspace/activiti-cycle-examples
in your local file system. The repositories are plugged in as repository connectors. You'll find the configuration as an XML string in the table CYCLE_CONFIG
in the Activiti database, which you can access as described in ???. Here is the default configuration for the user kermit:
上圖展示了Activiti Cycle倉庫樹。缺省地,它提供了對Activiti Modler倉庫和演示應用Eclipse工作區(workspace)的訪問功能.Eclipse工作區的位置在本地文件夾的${activiti.home}/workspace/activiti-cycle-examples。倉庫以倉庫連接器的方式進行插拔。你將在Activiti數據庫里的 CYCLE_CONFIG
表里發現作為一個XML字符串的配置。你能夠訪問在 ???.里描述的字段。這里是為用戶 kermit的缺省配置。
...
<org.activiti.cycle.impl.conf.ConfigurationContainer>
<name>kermit</name>
<linkedConnectors>
<org.activiti.cycle.impl.connector.signavio.SignavioConnectorConfiguration>
<id>Activiti</id>
<name>Activiti Modeler</name>
<signavioBaseUrl>http://localhost:8080/activiti-modeler/</signavioBaseUrl>
<loginRequired>false</loginRequired>
<credentialsSaved>true</credentialsSaved>
<user></user>
<password></password>
</org.activiti.cycle.impl.connector.signavio.SignavioConnectorConfiguration>
<org.activiti.cycle.impl.connector.fs.FileSystemConnectorConfiguration>
<id>Workspace</id>
<name>Eclipse Workspace (File System)</name>
<baseFilePath>/path-to-activiti-home/activiti-5.0.beta2/workspace/activiti-cycle-examples</baseFilePath>
</org.activiti.cycle.impl.connector.fs.FileSystemConnectorConfiguration>
</linkedConnectors> <parentContainers/>
</org.activiti.cycle.impl.conf.ConfigurationContainer>
...
Now, if you want to add, e.g., a Signavio Process Modeler repository, you can simply do this by adding a connector configuration to the XML configuration. If you need a Signavio account, you can register for a free trial at the Signavio web site. Here is an example configuration:
現在,如果你想增加,例如,一個Signavio Process Modeler倉庫,你只要通過在XML配置文件增加一個連接器來完成。如果你需要一個Signavio帳號,你能在 Signavio web site網站上注冊一個免費的試用號。這里是配置示例。
...
<org.activiti.cycle.impl.connector.signavio.SignavioConnectorConfiguration>
<id>Signavio</id>
<name>Signavio</name>
<signavioBaseUrl>https://editor.signavio.com/</signavioBaseUrl>
<loginRequired>true</loginRequired>
<credentialsSaved>true</credentialsSaved>
<user>your user name</user>
<password>secret</password>
</org.activiti.cycle.impl.connector.signavio.SignavioConnectorConfiguration>
...
You may also choose not to save your username and password in the database by setting 'credentialsSaved' to 'false' and leaving 'user' and 'password' empty. Cycle will then ask you for your credentials when it needs them.
通過設置'credenialsSaved'為'false'和'user'和'password' 留空,你也可選擇不要將你的用戶名和密碼保存在數據庫里。 當需要證書時,Cycle到時將會向你詢問證書。
Another thing you might consider is to add a collection of BPMN examples from the Oryx Project. In order to do this, all you need is the following connector configuration:
你可以考慮的另外的事情是增加一個從Oryx Project.來的BPMN示例。為了達到這個目的,你所需是下面的連接配置:
...
<org.activiti.cycle.impl.connector.signavio.OryxConnectorConfiguration>
<id>Signavio</id>
<name>oryx-project.org</name>
<signavioBaseUrl>http://oryx-project.org/</signavioBaseUrl>
<loginRequired>false</loginRequired>
<credentialsSaved>true</credentialsSaved>
<user></user>
<password></password>
</org.activiti.cycle.impl.connector.signavio.OryxConnectorConfiguration>
...
Activiti Cycle also has the capabilities to connect to SVN (Subversion) repositories. The following is an example configuration for the SVN Connector:
Activiti Cycle也具有連接到SVN(Subversion)倉庫的能力。如下是SVN Connector的示例配置:
...
<org.activiti.cycle.incubator.connector.svn.SvnConnectorConfiguration>
<id>RepositoryId (e.g. ProjectSVN)</id>
<name>Repository Name (My Project SVN)</name>
<repositoryPath>Path to your repository (e.g. http://mycompany.com/svn/projectName)</repositoryPath>
<credentialsSaved>true</credentialsSaved>
<user>user name</user>
<password></password>
<temporaryFileStore>where the connector creates temporary files between commits (e.g. /tmp)</temporaryFileStore>
</org.activiti.cycle.incubator.connector.svn.SvnConnectorConfiguration>
...
Note: there are currently two configuration options for the Activiti Cycle SVN Connector:
注意:針對Activiti Cycle SVN Connector有兩種配置選項:
-
SVN is installed on the machine running Activiti and in the local PATH.
SVN安裝在運行在Activiti的機器上,并在本地PATH里面。
-
You need to manually download the SVNKit library and install it. To this end, download the svnkit.jar
and copy it to the following location: ${activiti.home}/apps/apache-tomcat-6.X.XX/lib/
. (Tomcat restart required.) SVNKit cannot be bundled with Activiti due to licensing restrictions.
你需要手動下載并安裝 SVNKit庫,為了這個目的,下載 并拷貝 svnkit.jar
至如下位置:${activiti.home}/apps/apache-tomcat-6.X.XX/lib/
.(需要重啟Tomcat).SVNKit由于授權限制而不能和Activiti捆綁在一起。
Please note that the SVN Connector is still in incubation and considered experimental.
請注意:SVN Connctor仍處于孵化階段并認為是實驗性的。
Artifacts and Actions(制品和動作)
When you click an item in the repository tree — in Activiti Cycle we refer to them as artifacts — the details are displayed on the right side. Currently, not all files are supported, but we aim to provide useful default views for the most common file types. In addition to the views, there is a set of actions that can be executed on the artifact. We currently distinguish between download links for different content representations, links that open external resources (e.g. the Signavio Modeler) and actions that require input properties.
當你點擊倉庫樹的一個條目--在Activiti Cycle我們稱之為制品--細節在右端顯示。當前,盡管并不是支持所有文件,但是為了最普通的文件類型,我們計劃提供有用的缺省視圖。除了視圖之外,有一個能夠在制品上執行的動作集合。我們當前區分為不同內容表示不同的下載鏈接和打開外部資源(例如Signavio Modeler)的鏈接,以及需要輸入特性的動作。