Skip to content

Commit

Permalink
Merge tag '2.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
dmolineus committed Jul 24, 2018
2 parents d16b401 + 0c341a2 commit 478306b
Show file tree
Hide file tree
Showing 120 changed files with 2,661 additions and 4,830 deletions.
12 changes: 12 additions & 0 deletions .gitattributes
@@ -0,0 +1,12 @@
.check-author.yml export-ignore
.gitattributes export-ignore
.github export-ignore
.gitignore export-ignore
.travis.yml export-ignore
build.default.properties export-ignore
build.xml export-ignore
phpunit.xml.dist export-ignore
/tests export-ignore
/specs export-ignore
/js export-ignore
/example export-ingore
29 changes: 26 additions & 3 deletions .gitignore
@@ -1,5 +1,28 @@
bin/
vendor/
# OS
.DS_Store
Thumbs.db
.directory

# IDEs
.buildpath
.project
.settings/
.build/
.external*/
.idea/
nbproject/

# composer related
vendor/
composer.lock
coverage.xml

# build
build/
build.properties

# Translations
.tx

# NPM
node_modules
package-lock.json
25 changes: 11 additions & 14 deletions .travis.yml
@@ -1,29 +1,26 @@
language: php

php:
- "5.4"
- "5.5"
- "5.6"
- "7.0"
- "nightly"
- "7.1"

env:
- CONTAO_VERSION=contao/core-bundle ~4.4.0

matrix:
exclude:

sudo: false

install:
- travis_retry composer self-update && composer --version
- travis_retry composer require contao/core $CONTAO_VERSION --no-update
- travis_retry composer require $CONTAO_VERSION --no-update
- travis_retry composer update --prefer-dist --no-interaction

script: ant -keep-going

allow_failure:
- php: "7.0"
- php: "nightly"

# Hack to make things work again - we can not use a shallow repository.
git:
depth: 2147483647

after_script:
- wget https://scrutinizer-ci.com/ocular.phar
- php ocular.phar code-coverage:upload --format=php-clover coverage.xml
cache:
directories:
- vendor
24 changes: 24 additions & 0 deletions CHANGELOG.md
@@ -0,0 +1,24 @@

Changelog
=========

2.0.0 (2018-07-24)
------------------

[Full Changelog](https://github.com/netzmacht/workfow/compare/2.0.0-beta1...2.0.0)


2.0.0-beta1 (2017-11-24)
------------------------

[Full Changelog](https://github.com/netzmacht/workfow/compare/1.0.0-beta2...2.0.0-beta1)

- Allow to detach an item from a workflow.
- Move error collection to the context.
- Drop User and Role. Just support permissions.
- Change user data handling: Introduce payload instead of handling forms.
- Add required parameters to the constructor for flow elements.
- Add strict types (PHP 7.1).
- Switch to psr-4.
- Utilize phpcq/all-tasks.

36 changes: 26 additions & 10 deletions README.md
Expand Up @@ -10,9 +10,9 @@ Framework independent workflow library
This is a framework independent workflow library. It provides an step-transition based workflow implementation for
processing entities through its life cycle.

Due to its framework independency it does not run as a standalone workflow library. The entity/data implementation and
input processing via forms have to be implemented.

Due to its data format and framework independence it **does not run** as a standalone workflow library.
The entity/data implementation and input processing via forms have to be implemented. This workflow library is more a
**skeleton** for your workflow requirements.

Features
--------
Expand All @@ -26,12 +26,12 @@ Features
* User input are handled by a form.

**Workflow items**
* The Item wraps the entity to provide workflow related informations.
* The Item wraps the entity to provide workflow related information.
* It knows the current state and the whole state history.
* Due to the flexibility of the data structure the EntityId is used to indentify an entity.
* Due to the flexibility of the data structure the EntityId is used to identify an entity.

**Worfklow**
* An workflow is defined for a specific entities form a specific data provider.
* An workflow is defined for a specific entities from a specific data provider.
* The workflow is the definition of multiple steps and their transitions.
* A workflow always has one start transition.
* It can have multiple end transitions.
Expand All @@ -41,16 +41,32 @@ Features
* The manager selects the matching workflow and creates the transition handler.
* At the moment an item can only be in one workflow.

**Permissions**
* Transitions and steps can can be limited to an permission.
* Checking the permission and organizing them is part of the current implementation.

**More features**
* Collection based repositories.
* Transaction save transitions.
* Flexible config system for workflows, steps and transitions.
* Symfony event dispatcher based events to hook into process.

Requirements
------------

This library requires at least PHP 7.1.

Dependencies
------------
This workflow library uses the Symfony Event dispatcher component. If you really want, you don't have to use it.
Changelog
---------

See the [CHANGELOG.md](https://github.com/netzmacht/workflow/blob/develop/CHANGELOG.md)

Example
-------

You may have a look at the [examples](https://github.com/netzmacht/workflow/tree/develop/example).

A concrete implementation is available as integration for CMS Contao
[netzmacht/contao-workflow](https:github.com/netzmacht/contao-workflow).

Credits
-------
Expand Down
2 changes: 2 additions & 0 deletions build.default.properties
@@ -0,0 +1,2 @@
phpcs.standard = ${basedir}/vendor/phpcq/coding-standard/phpcs/PhpCodeQuality/ruleset.xml
phpmd.ruleset = ${basedir}/vendor/phpcq/coding-standard/phpmd/ruleset.xml
3 changes: 0 additions & 3 deletions build.properties

This file was deleted.

2 changes: 1 addition & 1 deletion build.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="netzmacht/workflow" default="build">
<!-- import the main build system -->
<import file="vendor/netzmacht/contao-build-tools/netzmacht.main.xml" />
<import file="vendor/phpcq/phpcq/phpcq.main.xml" />
</project>
22 changes: 8 additions & 14 deletions composer.json
Expand Up @@ -8,8 +8,8 @@
{
"name":"David Molineus",
"email":"mail@netzmacht.de",
"homepage":"http://www.netzmacht.de",
"role":"Project leader"
"homepage":"https://netzmacht.de",
"role":"Developer"
}
],
"support":{
Expand All @@ -18,28 +18,22 @@
"source":"https://github.com/netzmacht/workflow"
},
"require":{
"php":">=5.4",
"symfony/event-dispatcher": "~2.3",
"php":">=7.1",
"beberlei/assert": "~2.0"
},
"require-dev": {
"phpspec/phpspec": "~2.1",
"netzmacht/contao-build-tools": "~1.1",
"henrikbjorn/phpspec-code-coverage": "~2"
"phpcq/all-tasks": "^1.2",
"phpspec/phpspec": "~4.0"
},
"minimum-stability": "dev",
"prefer-stable": true,
"autoload": {
"psr-0": {
"psr-4": {
"Netzmacht\\Workflow\\": "src/"
}
},
"config": {
"bin-dir": "bin"
},
"extra":{
"branch-alias": {
"dev-master": "1.0.x-dev"
"dev-master": "2.0.x-dev",
"dev-develop": "2.1.x-dev"
}
}
}

0 comments on commit 478306b

Please sign in to comment.