[Zope] developing with zmi: how to move a patch from data from devel to live?

gabor gabor at nekomancer.net
Mon Jun 20 05:16:23 EDT 2005


Jens Vagelpohl wrote:
> 
> On 20 Jun 2005, at 07:35, gabor wrote:
> 
>> now you create the fix/improvement on the devel server.
>>
>> but now how do you move the improvement/fix to the live server?
>> you cannot just copy the data.fs over. the customer already has  some 
>> content/data in it...
>>
>>
>> one way seems to be to not use the ZMI at all. you create an  install 
>> python script, which calls the methods of the ZMI  interface. this way 
>> works, but it seems for me to waste my time.  finding the right method 
>> that the gui calls to call it from the  install script seems stupid 
>> for me.
>>
>> but it solves the problem. with the script i can really make the  
>> changes i need on the devel server.
>>
>> so, is there a solution where i can use the ZMI?
>>
>> how do you solve this kind of problem?
> 
> 
> The problem is that you develop using the ZMI. It's a bad pattern.  
> Don't do it.
> 

well, it's the opposite.

i (our company) don't develop using the ZMI.

i'm using an install script.

so when we install our program, no gui editing is needed.

but last week i've seen a presentation which used a CMS system called 
Typo3.

and a guy showed us how he can build a CMS only with gui tools. it was 
very fast and effective. and then i thought.. wow, you can work sooo 
fast in typo3. and we're so slow to develop with zope 
(plone/cmf/whatever). and then i remembered. but wait, we don't use the 
gui tools (zmi) at all! maybe we should!

an example:
for the next version of the program, we decided to change an action what 
happens when you click on a TAB in the CMS. in gui, i would do it like this:
go to the portal_actions object, find the correct tab, change the 
python-script associated to it.

but we had to dig thru the source code, to find out how the ZMI does it, 
and follow the same process when we did it programmatically in the 
python install script. it took us let's say 4-5hours (partly because 
that part of the CMF was badly documented, and used a quite inconvenient 
way to handle that)

compare that:
1minutes in the ZMI or 5hours in a python-script. which one is better?

well, or let me ask the question a different way:
if i should not use the ZMI, then why is it there?

gabor


More information about the Zope mailing list