[Zope] How to use Zope2 products in Zope3 ?

Jason Cunliffe jasonic at nomadics.org
Tue Oct 9 14:29:09 EDT 2007

Martijn Pieters wrote:
> On 10/9/07, Jason Cunliffe <jasonic at nomadics.org> wrote:
>  > Confused by changes... I can't find any 'Products' or 'Import' folders
>> in my Zope3 instance...
>> Does this mean all those good products have to be rewritten using some
>> new super-complexificated Zope3  syntax?
>> I hope not. What am I missing please..?
> I am afraid that you are correct. Zope 3 does not support Zope 2
> products. Instead, Zope 2 is using more and more Zope 3 tech and
> products get rewritten over time, gradually.
ah ok thanks..

so how in Z3 does one do the equivalent of
-- DTMLMethod
-- PythonScript
-- ExternalMethod

I'm just looking for some ways to do some very light script programming 
in Zope3 via ftp from UltraEdit or directly using ZMI  in a browser.
For example I have ''randomImage',  a tiny Zope2 PythonScript to display 
random images in whichever folder it is called from.
Beautiful example of what Zope does really well.

from random import choice
imagelink = str(choice( context.objectValues(['Image']) ))
#return imagelink
print '<html><title>randomImage... </title><body> %s </body></html>' % 
print '</html>'
return printed
Please how/where do I this in Zope3 ?
What is the vehicle?
What ever happened to 'PythonScripts' and those nice 'External Methods'?
I read how Zope 3 was/is supposed to be be *more* pythonic !@#$!*

Most of my client interfaces will be done in Flash [Actionscript3.0]. I 
want Zope to remain *invisible* and stick to server-side tasks, with 
Flash as the visible graphical face.
As much  as  possible client-side logic, design, presentation, 
typography, media, and interface programming -- all that belongs on the 
client. AJAX is now very popular for this reason also.
For my purposes, Flash is really perfect for this, except for one small 
problem- lacks of basic communication between embedded SWF file and the 
Good news = is there is now a very nice solution which opens the gates 
for powerful easy Zope-Flash interoperability: SWFAddress

  SWFAddress - Deep linking for Flash

"SWFAddress is a small script that sits on top of SWFObject 
<http://blog.deconcept.com/swfobject/> and provides deep linking for 
Flash websites and applications. In other words it enables the Back, 
Forward and Reload buttons of the browser and creates unique URLs with 
page titles that can be sent over email or IM. SWFAddress uses the 
ExternalInterface functionality introduced in Flash Player 8 and comes 
with a technique that enables search engine indexing for deep Flash links."

With SWFAddress installed and Zope scripts such as 'randomImage' it 
means that one can write/craft standalone user interface components in 
Flash or Flex AS3.0 - complied as .swf files.
A gallery image display widget for example can now be built to load 
images using  URL call http://somesite.com/images/randomImage
The beauty is the famous separation - logic, design, content. In this 
example there is no need to change the flash file. It can be freely 
copied and used in different places in different sites. But the 
parameters for the URL can also be passed in from javascript/html 
interface or transparently implicitly via the Zope programming lying 
behind its ubercool object path logic = 

So I'm trying to get to grips with the *simplest* possible use of Zope3 
--  later I'll grapple with writing components etc if I need them
hope this makes sense
&thanks for any help


More information about the Zope mailing list