Forums / Developer / forbid several drafts
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
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
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 Exponential 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
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 !