forbid several drafts

Author Message

Jerome Despatis

Friday 28 January 2011 9:04:46 am

Hi,

I'd like to forbid a user to create a draft when another draft exists. I prefer that the user modify the existing draft.

Any idea how to do that ? I haven't seen any trigger before the content/edit

Any idea is welcome :)

Edi Modrić

Friday 28 January 2011 12:28:11 pm

Hi Jerome,

You can place the following two lines in your site.ini.append.php to allow the creation of only one draft.

[ContentSettings]
EditDirtyObjectAction=usecurrent

eZ Publish certified developer

http://ez.no/certification/verify/350658

Jerome Despatis

Friday 28 January 2011 12:45:17 pm

Hi Edi,

You're sure about this ?

I've tested this setting in fact already, and it avoids the user to ask him which draft he wants to modify, it seems to create all the time a new draft.

But in that way, even with 'usecurrent' selected, several drafts can exist for a single object

Edi Modrić

Friday 28 January 2011 1:16:07 pm

Yes, you're right. I kinda assumed this always uses the existing draft. Instead, it is indeed creating a new draft without showing the list. I never bothered to check what this setting does exactly, but now I see it loud and clear in the database.

The following in content.ini.append.php could be what you're after:

[VersionManagement]
DefaultVersionHistoryLimit=2

This setting should tell eZ Publish to only allow two versions of any object to exist (one published and one draft)

You can also use this per class with the following:

VersionHistoryClass[class_id]=2

eZ Publish certified developer

http://ez.no/certification/verify/350658

Jerome Despatis

Friday 28 January 2011 11:21:19 pm

Could be a solution.

But I have another process that performs automatic translation triggered on post publish (in a workflow), it creates a new version per language

So when a draft is published, 5 new versions are created and last one contains the object translated in 5 languages

so I can't use a history limited to 2, i can only use at less 5 + 1

And that way, at the right beginning, when the automatic translation has not et performed, on a new object for example that has never been published. In that case, the user could be able to create several drafts (up to 6 drafts), and I don't want that...

A hook somewhere before the draft creation would be perfect indeed, but I don't see any of this kind in kernel/edit.php

Any idea is welcome !

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 04:55:44
Script start
Timing: Jan 18 2025 04:55:44
Module start 'layout'
Timing: Jan 18 2025 04:55:44
Module start 'content'
Timing: Jan 18 2025 04:55:45
Module end 'content'
Timing: Jan 18 2025 04:55:45
Script end

Main resources:

Total runtime0.8155 sec
Peak memory usage4,096.0000 KB
Database Queries63

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0076 587.8906152.6094
Module start 'layout' 0.00760.0029 740.500039.4219
Module start 'content' 0.01050.8034 779.9219557.0234
Module end 'content' 0.81390.0015 1,336.945312.1875
Script end 0.8154  1,349.1328 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00360.4363160.0002
Check MTime0.00140.1754160.0001
Mysql Total
Database connection0.00060.075510.0006
Mysqli_queries0.755392.6216630.0120
Looping result0.00070.0829610.0000
Template Total0.783396.120.3917
Template load0.00220.274320.0011
Template processing0.781195.781620.3905
Template load and register function0.00020.021610.0002
states
state_id_array0.00150.178210.0015
state_identifier_array0.00120.145020.0006
Override
Cache load0.00190.2375350.0001
Sytem overhead
Fetch class attribute can translate value0.00070.084620.0003
Fetch class attribute name0.00120.146760.0002
XML
Image XML parsing0.00190.227620.0009
class_abstraction
Instantiating content class attribute0.00000.002270.0000
General
dbfile0.00190.2339160.0001
String conversion0.00000.001240.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
5content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
7content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
2content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 18
 Number of unique templates used: 6

Time used to render debug report: 0.0001 secs