From: Jeremy L. <jer...@ho...> - 2003-02-25 07:59:33
|
>From: "George Clinton" >If anyone is interested in exchanging experiences similiar to those id love >to hear from you. > >GC geo...@ga... Well, I'm very new to Webware and I'm developing my first app with it. After a few days of researching and reading, I've gotten a basic site framework idea set out that I think will be as flexible as humanly possible. I dedicded to use Apache+Cheetah+Webware+ZODB. I'm following the basic site structure set out on the cheetah site for webware apps: http://cheetahtemplate.org/docs/users_guide_html_multipage/webware.siteFrameworks.html as well as the directory structure (lib, apache, www) I'm using the inheritance approach with the following layout: lib/SiteLogic.py -- Python template class containing must have methods as well as a database interface. lib/Site.tmpl -- the "general" site template derived from SiteLogic.py containing blocks for all page content. a hierarchy of templates, divided into sections for the website, abstract templates stay in \lib while published templates go in www. MainSite.tmpl (lib) Main.tmpl (www) Register.tmpl (www) FooSite.tmpl (lib) Foo.tmpl (www) FooTopic.tmpl (www) I've still got to find an easy way to mesh in things like "member only" pages but I don't think it will be too tough. Logic code goes in lib, and it usually for forms: MainSite.tmpl (lib) FormRegister.py (lib) Register.tmpl (www) At first I didn't really like this "mixed" hierarchy concept but it works out very well. my zodb database is loaded in the context's contextInitialize and since it is a class-level variable of the site's super abstract class (SiteLogic) everybody has access to the db if they want it, and since ZODB is thread-safe I don't have to worry about it. Using ZODB transaction support also helps out a lot. (And this will be a large app so I plan on switching to ZEO eventually). I've just got to figure out a place to put code for closing the database. I'd have to say that the only thing I don't like about this setup is how polluted my directories get. foo.tmpl foo.py foo.pyc foo.py_bak at least 3 files for every (file). After this bugger is up and running I'm probably going to hack webware and make it auto compile tmpl files and stick the template-servlets into a cache var directory, thus removing the need for cheetah compile and all the extra files (gonna have to watch performance though). Just my 2 cents Jeremy S Lowery _________________________________________________________________ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail |