[Zope-PTK] Separating code, design, and content -- a stop-gap solution?

Bjorn Stabell bjorn@exoweb.net
Wed, 6 Dec 2000 23:00:05 +0800


Allright, this has been talked about before, and several
not-very-good-but-posssible solutions have been mentioned.  Here's
another one, that I need some help with thinking out clearly.

How about keeping all code in Control_Panel/YourPortal, whereas the
portal object will contain both design and content, but split up into
two directories, e.g.,

code:	Control_Panel/Products/YourPortal/
		python and DTML methods implementing the portal logic

design:	yourportal/design/
		standard_html*
		Styles
		Images
		join_form
		registered
		...

content:	yourportal/content/
		acl_users
		portal_catalog
		...
		folders that contain Documents, Files, e.g., news/,
about/, ...

The client can happily change the contentent, and we can happily replace
the code and design with new versions as they become ready.  Compare
with today where we have to remember which files I changed and manually
update them... not very satisfactory.

Now, the missing part is: how can I make

	http://www.myportal.com/standard_html_header
and
	http://www.myportal.com/news/article2

find and display the right objects?  Is it possible to have yourportal
add design on the namespace (so objects in design are found), while it
traverses into the content?  I'd like /news/domestic/article1 to give
this namespace stack:

	[content]/news/domestic/article1
	[content]/news/domestic
	[content]/news
	[content]
	[design]
	Control_Panel/Products/YourPortal

Maybe I'm not going about this right, but I think you get the idea: have
content, design, and code searched in that order.

Of course, later, I hope the content could be in a different Storage
(Mountable Storage), allowing for a smooth upgrade by atomically
switching from one ZEO client to another, both running with the same
content Storage.  Is that possible?

Bye,
-- 
Bjorn Stabell <bjorn@exoweb.net>
Exoweb - One-to-one web solutions
w http://www.exoweb.net/
t +86 13701174004