Path

ez.no / developer / contribs / workflow / ezapprove2


eZApprove2

Author Version Downloads Compatible with
Kåre Køhler Høvik 0.6 1970 3.7
Approval workflow event with support for selecting multiple approvers, and author selected approvers. It also allows the approves to edit the pending objects, and can be used to create multistep approval workflows.

Description

Approval workflow with extended functionality for more advanced approval workflows. New features:
- Select multiple approvers, and minimum number of approvers who must approve the content.
- Allow author to select approver(s)/proof readers.
- Approvers can edit the pending objects.

To upgrade from one version to another, see extension/ezapprove2/doc/upgrade/

Screenshot

eZApprove2
eZApprove2

Changelog

0.6:
See : http://zev.ez.no/svn/extensions/e...ve2/doc/changelogs/CHANGELOG_0.5-0.6
0.5:
See : http://zev.ez.no/svn/extensions/e...ve2/doc/changelogs/CHANGELOG_0.4-0.5
0.4:
See : http://zev.ez.no/svn/extensions/e...ve2/doc/changelogs/CHANGELOG_0.3-0.4
0.3:
See : http://zev.ez.no/svn/extensions/e...ve2/doc/changelogs/CHANGELOG_0.2-0.3
0.2:
See : http://zev.ez.no/svn/extensions/e...ve2/doc/changelogs/CHANGELOG_0.1-0.2
0.1:
- Added workflow event to contributions, 0.1 beta release.

Comments

3.9+ support?

Does this extension support versions higher 3.9?
I installed it on a 3.9.0 and did all the steps in the installation manual.
When I create an object which is located in workflows' sections it will be stored anyway.
No confirmation required...
The trigger I used is "Content publish before".

Thanks for your help,
Philip

Voluntary Approve

First of all thanks for the extension. It is nice to have the possibility to edit content objects while they are in the approval process.

We would like to extend it to make voluntary approvals possible. Now we have a setup
where an "author" (fewer privileges) can write an article that needs approval by an "editor" (more privs). Now we would like the "editor" to send an article he wrote for approval by
another "editor". Ideally both of them should be able to approve the article in the end.
As you might note this is less of a formal approval but just to cross check the articles on a voluntary basis. Right now this does not work because the articles of the "editor" get published right away, probably because he is in the group which is allowed to approve.

Where and how can we start to implement the desired behaviour?

best
Oliver

Re: Reporting bugs

You can use the "eZ Publish" project in the issuetracker.
Until we have no separate project/category in the issue tracker for this. We agreed internally that it is ok for _this_ extension to report there.

Reporting bugs

The best way to report bugs is actually to use our bug tracker: http://issues.ez.no. Thanks in advance :)

Bug found

I think this is the only way to report a bug for this currently, correct me if I am wrong please.

I discovered in 3.8.6 that of an approver edits the object waiting their approval and then discards the edit the object appears to get stuck in the workflow. The original editor does receive a message saying the approval was denied but the object remains in workflow but can not be accessed via collaboration. My expected behavior was for the object to remain in waiting for approval since it was neither approved or denied, but I don't mind if it is denied cleanly either.

Thanks
Brendan

Re: Small typo bug in ezxapprove2type.php

Its ok in my eyes. Its just a difference between american and british english.

Small typo bug in ezxapprove2type.php

Hi

I found a small typo bug at line 127 in the ezxapprove2type.php file in ./eventtypes/event/ezxapprove2/.

The contant "EZ_WORKFLOW_TYPE_STATUS_WORKFLOW_CANCELLED" is
missing an L here.

Otherwise a good extension. Keep up the good work.


Installation:

Hi

I expanded the installation document a little to explain how to use it (will be included in the next release). The text is as following:




*Installation:


 

1. Copy this folder to <ez publish root>/extension/ezapprove2


2. Apply SQL in sql/<sql server>/schema.sql


3. Activate the ezapprove2 extension.


4. Clear ini, ini-override and tpl-override cache.


 

5. You must have a cronjob script which runs the workflow cronjob.


Easiest way to set this up is to add the following to


settings/override/cronjob.ini.append.php (create the file if it does


not exist):


 

[CronjobPart-workflow]


Scripts[]=workflow.php


 

Then run the following command at regular intervals from the eZ publish root directory:


 

php runcronjobs.php workflow


 

 

* How to use:


 

After installing the extension, go to the administration interface


 

Simple usage:


1. Go to setup -> workflows


2. Click on "Standard" workflow group


3. Click "New workflow"


4. Add a name like "My approval workflow"


5. Select "Event/Approve2" and click "Add event"


6. Select appropriate options for approval workflow


 

7. Go to setup -> triggers


8. Select in "content publish before" the "My approval workflow" and click "Apply changes"


 

For the "editor":


After he/she have edited content, it will now be sent for approval.


While it is awaiting approval, it will be visible in "My pending items" and


"Collaboration" in "My account"


 

For the "approver":


The content waiting for approval will be shown in the "Collaboration" part of "My account"


 

 

More advanced setups with approval of only some classes and so on,


can be done with the "multiplexer". See


http://ez.no/doc/ez_publish/techn...eference/workflow_events/multiplexer


 

 

Also note that you can get notification-email upon updates. You set this up by going to


 "My account" -> "My notification settings". Check "Approval2" in


"Collaboration notification" and click "Apply"


 

Note: This requires the notification cronjob to run.


http://ez.no/doc/ez_publish/technical_manual/3_8/features/notifications


 

3.6.1

I'm installing your contribution on a ezp3.6.1 and I can see a conf file is missing.
By default, in my ezp browse.ini I have
DefaultReturnType=NodeID

So when I browse Users to add a group or a user, when submiting the content/browser, you code check in extension\ezapprove2\eventtypes\event\ezxapprove2 l.488
if ( $http->hasPostVariable( 'SelectedObjectIDArray' ) ...

What you have to do is add a file in extension\ezapprove2\settings\browse.ini.append.php with :
<?php
/*

[SelectMultipleUsers]
ReturnType=ObjectID

*/?>

(I don't believe you have to set ObjectID, you can set whatever you want, because ezp test only :
$isNodeSelection = $ini->variable( $actionName, 'ReturnType' ) == 'NodeID';
if ( $isNodeSelection )
$postName = 'SelectedNodeIDArray';
else
$postName = 'SelectedObjectIDArray';

Cool Stuff!

Hi
The functionality is just great.Thx for the contribution!

The one step that I had to add in my workflow setup was that to add the exclude user group without which it was an infinite process and my article never got published!

But I am loving the features
Cheers
Pratibha

big tx + german translation

Hi Kare,

big tx for that contrib!

I've created a german translation file of it, I you like you can add it to the contrib, write me an email - gwf@verlagfranz.com - I'll send it to you.

Best wishes,
Georg.

Also part of eZ newsletter solution

This extension is also used as part of the eZ newsletter solution

Great

Hi

This is one great extension!

Thanx!

s.

Great contribution

Nicely done Kåre.
An extra suggestion that I think many people would find useful is the ability for approval to only be needed if there is a change in certain class attributes. For example if someone alters a photo don't ask for approval, or if someone attaches a binary then do ask for approval.
I especially like the fact you can edit the object now too!

Congratulation!

That was a much needed one to make the content approval useful.

Many thanks !

log in ou créer un compte utilisateur pour commenter.

Contribution info (beta)

Download