Michael, I used to develop ASP apps too. Storing content in the ZODB rather than on a file system takes some getting used to, that's for sure. Probably the best initial way to think about this is to consider the ZODB as another kind of filesystem. It's not, really. But that's probably a good starting point. If you're developing under Windows, a good way to sort of ease the pain of transitioning from filesystem-based to ZODB-based development is to make use of IE 5's "Web Folder" feature that lets you talk to Zope via WebDAV and work with Zope objects in a familiar Windows Explorer-type setting. Also consider using FTP to access Zope objects. You *can* also make use of static documents and templates that sit on the filesystem from within Zope, but it's not really all that easy. This is something you'll probably need some time to get used to, not much to ease the pain here :). You can name your objects with file extensions if you want, too, there's nothing strictly stopping you from doing that. For example, if you want to call a DTML Document "mypage.html", you can do this. It sort of gets hairy when you get into more advanced development, though, because Python uses the dot as a qualifier to locate attribute instances of objects (e.g. PIL.Image or Acquisition.Implicit). Additionally, acquired objects in Zope are many times referenced using dot notation within Python code or DTML code in your pages. You'll need to jump through a lot of hoops later if you establish a file-extension naming convention for Zope objects that includes dots. I suggest you do some fooling around with Zope (for example, create an address book application or a phone list application) that makes use of DTML methods and documents that *do* contain dots in their IDs to get an idea of where you "run in to the wall". If you're using DTML only, and the application is simple enough, sometimes you don't! Zope does not provide a WYSIWYG environment for editing and debugging HTML/DTML code. There is currently no "studio" product for Zope that does DTML syntax checking, et. al. and which allows you to do the same sort of thing that, for instance, Visual Interdev lets you do for ASP. Creating a more productive development environment that includes *some* of this type of functionality is one of the goals of the Zope Mozilla Initiative which recently geared up (see http://www.zope.org/Resources/Mozilla). You can use both DreamWeaver and HomeSite to manage Zope sites using FTP. You can connect MS SQL Server to Zope by using the ZODBC database adapter. Zope is a platform that values object orientation. Traditional Web coding hasn't valued OO much, leading to a steep learning curve for people whose Web coding experiences have been limited to connecting RDBMSes to Web servers via Perl, ASP, etc. Reading a good introductory (or refresher) book on object orientation will help immensely once you try to take on larger tasks using Zope. HTH! Chris Michael Waddell wrote:
I'm an ASP/VB/Site Server developer looking for an alternative. Zope is very appealing -- it looks like a great tool supported by a great community. And I've enjoyed looking at and playing with Python.
But, I'm uncomfortable with loosing touch with an actual HTML/ASP document in an actual file system. I feel weird about the URL that Zope presents - there's no simple file name reference, like, http://www.abc.com/mypage.asp or http://www.abc.com/mypage2.html. Sorry, but my web experience expects that.
1. Where can I learn how others have handled the transition from page-based publishing to Zope's object-based paradigm?
2. How do you create/maintain the look of the site? Doesn't seem feasible using the Zope control panel. I prefer using HomeSite (Allaire) for coding HTML, ASP and any text file. MacroMedia DreamWeaver for complex HTML design/layout. And I like using MS SQL Server (although I could be converted..) to support data-driven web sites. How do I integrate these products with Zope (if at all). The HTML page editing/layout features of Zope are not clear to me.
Thanks for aiding in my evaluation. Regards, Michael Waddell
Michael Waddell MW Data Basics, Inc. 153 Boles Road Marshfield MA 02050