I've been learning about the workings of Zope: ZClasses, ZSQL methods, Python products, etc., and there are *lots* of resources about the APIs, and lots of products to add content to our sites. There is also lots of help on how to *set up* a Zope site: how to tie w/Apache, etc. What I haven't found yet, though, is much advice on how to *design* the Zope site: . effective ways to use User Folders . whether to make containing folders for like objects (eg book reviews), and collect these for lists with objectValues, or whether to add them under user folders/different contexts, and use ZCatalog searches to find them. . how to handle printable pages throughout a site . strategies for using ZSQL methods throughout a site and so on The Zope book tosses some nuggets of advice here and there, but doesn't build up a site, so we don't really get to see the workings of a talented Zope architect. Other documentation focuses on how to Do Things, like use SQL methods, or how to build products. I've had a little bit of time to look at the CMF, and that has some structure about reviewing, etc. (and seems to advocate the 'place things in user folders, use ZCatalog to find' method); however, I'm not designing something that seems so portal-ish, and this seems like a hegemonic solution to a design question. So: Am I missing any resources on fitting it all together? Are there 'example sites' that someone could describe? Would anyone with a well-designed site be willing to export it all up and post it somewhere, so we could explore it? Or are there other ways of starting this learning path? -- Joel Burton <jburton@scw.org> Director of Information Systems, Support Center of Washington
"The Zope book tosses some nuggets of advice here and there, but doesn't build up a site" Yeah, I agree on that. I also agree that there is no such information available on zope.org I think that because of the way Zope is in nature you always learn and improve. For example, I am never ever satisfied with my structure I do when I look back at old (year, month or a couple of weeks) sites. My only advice is to create as many sites as possible. Do one for you mom and then one for your dad. Then give them each an intranet. ;) What I see as a constant in my improvement is how I modularize my objects. In my first couple of sites I had 50 objects in the root folder and many of them where tied together in some stupid way. Point is... If I were to write a How-To or article about it, I would probably disagree with it after a couple or weeks or month and take it offline not to embarras myself. Peter ----- Original Message ----- From: "Joel Burton" <jburton@scw.org> To: <zope@zope.org> Sent: Wednesday, March 07, 2001 4:17 PM Subject: [Zope] *Designing* Zope sites
I've been learning about the workings of Zope: ZClasses, ZSQL methods, Python products, etc., and there are *lots* of resources about the APIs, and lots of products to add content to our sites.
There is also lots of help on how to *set up* a Zope site: how to tie w/Apache, etc.
What I haven't found yet, though, is much advice on how to *design* the Zope site:
. effective ways to use User Folders
. whether to make containing folders for like objects (eg book reviews), and collect these for lists with objectValues, or whether to add them under user folders/different contexts, and use ZCatalog searches to find them.
. how to handle printable pages throughout a site
. strategies for using ZSQL methods throughout a site
and so on
The Zope book tosses some nuggets of advice here and there, but doesn't build up a site, so we don't really get to see the workings of a talented Zope architect. Other documentation focuses on how to Do Things, like use SQL methods, or how to build products.
I've had a little bit of time to look at the CMF, and that has some structure about reviewing, etc. (and seems to advocate the 'place things in user folders, use ZCatalog to find' method); however, I'm not designing something that seems so portal-ish, and this seems like a hegemonic solution to a design question.
So:
Am I missing any resources on fitting it all together?
Are there 'example sites' that someone could describe?
Would anyone with a well-designed site be willing to export it all up and post it somewhere, so we could explore it?
Or are there other ways of starting this learning path?
-- Joel Burton <jburton@scw.org> Director of Information Systems, Support Center of Washington
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
On Wed, 7 Mar 2001, Peter Bengtsson wrote:
Point is... If I were to write a How-To or article about it, I would probably disagree with it after a couple or weeks or month and take it offline not to embarras myself.
*You* might find it embarrassing after a few months, but we might find it Very Helpful. Plus, being a collaborative group, we might help you keep it up to add, and add things, and teach you things, etc. Just something to think about... :-) -- Joel Burton <jburton@scw.org> Director of Information Systems, Support Center of Washington
Joel Burton wrote:
I've been learning about the workings of Zope: ZClasses, ZSQL methods, Python products, etc., and there are *lots* of resources about the APIs, and lots of products to add content to our sites.
There is also lots of help on how to *set up* a Zope site: how to tie w/Apache, etc.
What I haven't found yet, though, is much advice on how to *design* the Zope site:
. effective ways to use User Folders
. whether to make containing folders for like objects (eg book reviews), and collect these for lists with objectValues, or whether to add them under user folders/different contexts, and use ZCatalog searches to find them.
Basically, what you need to decide is who 'owns' the object once it's been created by a user. If the object continues to be owned by the user (such that they can contiue to modify it and even delete it), then it makes sense to leave it in their folder. If, however, the object (once created) is considered to belong to the site, and the user (while credited) does not continue to have editing and deletion priveleges on the object, then it makes sense to collect them in a central location. Keep in mind that you may have objects of both types, and so it might make sense to design using both strategies. HTH, Michael Bernstein.
Ok... so I will step up to the bat.... with what I have learned (and throw it into a how-to on Zope.org) After building, maintaining and rebuilding over 10 sites with Zope of all different varieties here is some of what I have learned (in a pea pod shell) - Get to know and love standard_html_header and standard_html_footer they will make your life much easier if you can decide what stuff to put in them and what stuff to leave out. Navigation is good, site table templates are good. Anything that is page specific is not so good. - Do some things just the way you would with any old server. I still use /images/ for a place to put all my images and still reference them in html. I still name pages ".html", keep everything lowercase and use names for folders that make sense. - I find that hosting more sites out of one Zope installation, leaving some dependencies on products is a much better way to go and much easier to maintain in the end. - Use versions. They are easy, fun and powerful. You can play with a live site to your hearts content without ever breaking it. - Use Zope products with a little caution. There are a ton of products that do a lot of things but not all of them are still supported nor have been tested with the newer releases of Zope. Look at date of the last distribution to see when they updated it. Also, if it is says beta, know that it probably is for a reason. Email the developer and ask. - Spend extra time learning Zope security. If you don't it will bite you in the end (your end). - At 11:17 AM -0500 3/7/01, Joel Burton wrote:
I've been learning about the workings of Zope: ZClasses, ZSQL methods, Python products, etc., and there are *lots* of resources about the APIs, and lots of products to add content to our sites.
There is also lots of help on how to *set up* a Zope site: how to tie w/Apache, etc.
What I haven't found yet, though, is much advice on how to *design* the Zope site:
. effective ways to use User Folders
. whether to make containing folders for like objects (eg book reviews), and collect these for lists with objectValues, or whether to add them under user folders/different contexts, and use ZCatalog searches to find them.
. how to handle printable pages throughout a site
. strategies for using ZSQL methods throughout a site
and so on
The Zope book tosses some nuggets of advice here and there, but doesn't build up a site, so we don't really get to see the workings of a talented Zope architect. Other documentation focuses on how to Do Things, like use SQL methods, or how to build products.
I've had a little bit of time to look at the CMF, and that has some structure about reviewing, etc. (and seems to advocate the 'place things in user folders, use ZCatalog to find' method); however, I'm not designing something that seems so portal-ish, and this seems like a hegemonic solution to a design question.
So:
Am I missing any resources on fitting it all together?
Are there 'example sites' that someone could describe?
Would anyone with a well-designed site be willing to export it all up and post it somewhere, so we could explore it?
Or are there other ways of starting this learning path?
-- Joel Burton <jburton@scw.org> Director of Information Systems, Support Center of Washington
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Great feedback. As a newbie to development, not just Zope, your comments are appreciated. (and refreshing) I do have some follow-up curiosity Q's.
- Do some things just the way you would with any old server. I still use /images/ for a place to put all my images and still reference them in html. I still name pages ".html", keep everything lowercase and use names for folders that make sense. I have wondered if this makes the best sense with the world being .html oriented. Is this really a usability issue? everything with zope looks like it is coming from a folder, which eliminates the need from users to remember .asp,.htm,.htm,.cfm But doesnt this look confusing if you apply a method to an object(zClass) and get zope/folder/adocument.html/amethod.html?? or can you avoid this? Do you have other reasons for this?
I havent implemented "keep everything lowercase", which HAS caused usability problems when users try to go to a case sensitive page directly. Can mod_rewrite fix this by trying to find all lower or upper case iterations of an URL? An experienced developer that helps me couldnt figure this out.
- Spend extra time learning Zope security. If you don't it will bite you in the end (your end). okay. like I said, I am new to this. briefly, what are the security issues with zope, and what is the easiest way for someone to break your Zope maliciously? Any examples you could share?
Thanks, -Trevor
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of BZ Sent: Wednesday, September 19, 2001 11:07 PM To: Joel Burton; zope@zope.org Subject: Re: [Zope] *Designing* Zope sites
Ok... so I will step up to the bat.... with what I have learned (and throw it into a how-to on Zope.org)
After building, maintaining and rebuilding over 10 sites with Zope of all different varieties here is some of what I have learned (in a pea pod shell)
- Get to know and love standard_html_header and standard_html_footer they will make your life much easier if you can decide what stuff to put in them and what stuff to leave out. Navigation is good, site table templates are good. Anything that is page specific is not so good.
- Do some things just the way you would with any old server. I still use /images/ for a place to put all my images and still reference them in html. I still name pages ".html", keep everything lowercase and use names for folders that make sense.
- I find that hosting more sites out of one Zope installation, leaving some dependencies on products is a much better way to go and much easier to maintain in the end.
- Use versions. They are easy, fun and powerful. You can play with a live site to your hearts content without ever breaking it.
- Use Zope products with a little caution. There are a ton of products that do a lot of things but not all of them are still supported nor have been tested with the newer releases of Zope. Look at date of the last distribution to see when they updated it. Also, if it is says beta, know that it probably is for a reason. Email the developer and ask.
- Spend extra time learning Zope security. If you don't it will bite you in the end (your end).
-
At 11:17 AM -0500 3/7/01, Joel Burton wrote:
I've been learning about the workings of Zope: ZClasses, ZSQL methods, Python products, etc., and there are *lots* of resources about the APIs, and lots of products to add content to our sites.
There is also lots of help on how to *set up* a Zope site: how to tie w/Apache, etc.
What I haven't found yet, though, is much advice on how to *design* the Zope site:
. effective ways to use User Folders
. whether to make containing folders for like objects (eg book reviews), and collect these for lists with objectValues, or whether to add them under user folders/different contexts, and use ZCatalog searches to find them.
. how to handle printable pages throughout a site
. strategies for using ZSQL methods throughout a site
and so on
The Zope book tosses some nuggets of advice here and there, but doesn't build up a site, so we don't really get to see the workings of a talented Zope architect. Other documentation focuses on how to Do Things, like use SQL methods, or how to build products.
I've had a little bit of time to look at the CMF, and that has some structure about reviewing, etc. (and seems to advocate the 'place things in user folders, use ZCatalog to find' method); however, I'm not designing something that seems so portal-ish, and this seems like a hegemonic solution to a design question.
So:
Am I missing any resources on fitting it all together?
Are there 'example sites' that someone could describe?
Would anyone with a well-designed site be willing to export it all up and post it somewhere, so we could explore it?
Or are there other ways of starting this learning path?
-- Joel Burton <jburton@scw.org> Director of Information Systems, Support Center of Washington
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
+-------[ Trevor Toenjes ]---------------------- | Great feedback. As a newbie to development, not just Zope, your comments | are appreciated. (and refreshing) | I do have some follow-up curiosity Q's. [snip] | I havent implemented "keep everything lowercase", which HAS caused usability | problems when users try to go to a case sensitive page directly. | Can mod_rewrite fix this by trying to find all lower or upper case | iterations of an URL? An experienced developer that helps me couldnt figure | this out. You can make your own Folder Product that tries various caps rotations, if it can't find the one requested. It's not all that difficult to do. -- Totally Holistic Enterprises Internet| | Andrew Milton The Internet (Aust) Pty Ltd | | ACN: 082 081 472 ABN: 83 082 081 472 | M:+61 416 022 411 | Carpe Daemon PO Box 837 Indooroopilly QLD 4068 |akm@theinternet.com.au|
It's not all that difficult to do. >>>As a newbie to development, not just Zope heh heh.
You can make your own Folder Product that tries various caps rotations, if it can't find the one requested. Really? I dont even know where to start to figure this out. Is this something like string/text manipulation of the URL_REFERRAL with a bunch of ifs testing if the object exists? or looping over the string? Should I assume this would only be done in python, not dtml?
+-------[ Trevor Toenjes ]---------------------- | > It's not all that difficult to do. >>>As a newbie to development, not | just Zope | heh heh. | | > You can make your own Folder Product that tries various caps rotations, if | > it can't find the one requested. | | Really? I dont even know where to start to figure this out. Well I'll leave that as an exercise for the reader just now, since you're a newbie to Zope and development d8) | Is this something like string/text manipulation of the URL_REFERRAL with a | bunch of ifs testing if the object exists? or looping over the string? Actually when you discover the answer it's very simple, also Python strings have the following fabulous methods... lower() upper() capitalize() (first char up rest down) capwords() (words on whitespace (or provided delimiter) are capped) I'd check original, lower, upper, and capitalized. I wouldn't go rotating each char, you end up with an unbounded combinatorial function, which you really don't want. | Should I assume this would only be done in python, not dtml? Oh yeah in Python.. -- Totally Holistic Enterprises Internet| | Andrew Milton The Internet (Aust) Pty Ltd | | ACN: 082 081 472 ABN: 83 082 081 472 | M:+61 416 022 411 | Carpe Daemon PO Box 837 Indooroopilly QLD 4068 |akm@theinternet.com.au|
* Trevor Toenjes <zope@toenjes.com> [010920 05:19]:
It's not all that difficult to do. >>>As a newbie to development, not just Zope heh heh.
You can make your own Folder Product that tries various caps rotations, if it can't find the one requested. Really? I dont even know where to start to figure this out.
If you are using Apache, you could use mod_speling too. seb
On Thu, Sep 20, 2001 at 01:21:25PM +0100, seb bacon wrote:
If you are using Apache, you could use mod_speling too.
<OFFTOPIC> I am laughing out loud! Whoever invented the name and speLLing mod_speLing - (s)he was ingenious! :) </OFFTOPIC> Oleg. ---- Oleg Broytmann http://www.zope.org/Members/phd/ phd@phd.pp.ru Programmers don't die, they just GOSUB without RETURN.
Wow.... did I really send this? :) Truthfully, I started writing this MONTHS ago and never got the chance to finish it (was in response to something from 3/7/01). I was cleaning up some old emails and it must have been sent. Might as well finish it. A case for lowercase: The lowercase thing is certainly personal preference. The idea behind it is as a developer and coder it is hard enough trying to remember what things were named without having to figure out the capitalization scheme. Having said that though, I would amend it by saying to keep things lowercase that public (files, folders, image names) but for things that are private (Python Scripts, DTML Methods, SQL Methods) using a little capitalization can set them apart from everything else and make them easier to find. Zope Security: Zope security is both simple and complex. It is simple to open up a folder to allow people to post images but it might not be the best way and could open up more than you wanted (like posting WareZ). The hardest part of security is trying to hack your own security to figure out how someone else will hack it (kind of like reading what you have written). As a general rule I would keep the default security of Zope objects and change it very very slowly and carefully. I would write down what and where you changed it and do so on a step by step process. You might also want to ask the mailing list a question or two before doing so or at least have a friend try to break in. Maybe someday I will write the rest of this "thing" which is starting to look like an article.... too bad the Monthly Zope magazine is not knocking down my door... (no, it does not exist!). Cheers, BZ At 11:44 PM -0400 9/19/01, Trevor Toenjes wrote:
Great feedback. As a newbie to development, not just Zope, your comments are appreciated. (and refreshing) I do have some follow-up curiosity Q's.
- Do some things just the way you would with any old server. I still use /images/ for a place to put all my images and still reference them in html. I still name pages ".html", keep everything lowercase and use names for folders that make sense. I have wondered if this makes the best sense with the world being .html oriented. Is this really a usability issue? everything with zope looks like it is coming from a folder, which eliminates the need from users to remember .asp,.htm,.htm,.cfm But doesnt this look confusing if you apply a method to an object(zClass) and get zope/folder/adocument.html/amethod.html?? or can you avoid this? Do you have other reasons for this?
I havent implemented "keep everything lowercase", which HAS caused usability problems when users try to go to a case sensitive page directly. Can mod_rewrite fix this by trying to find all lower or upper case iterations of an URL? An experienced developer that helps me couldnt figure this out.
- Spend extra time learning Zope security. If you don't it will bite you in the end (your end). okay. like I said, I am new to this. briefly, what are the security issues with zope, and what is the easiest way for someone to break your Zope maliciously? Any examples you could share?
Thanks, -Trevor
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of BZ Sent: Wednesday, September 19, 2001 11:07 PM To: Joel Burton; zope@zope.org Subject: Re: [Zope] *Designing* Zope sites
Ok... so I will step up to the bat.... with what I have learned (and throw it into a how-to on Zope.org)
After building, maintaining and rebuilding over 10 sites with Zope of all different varieties here is some of what I have learned (in a pea pod shell)
- Get to know and love standard_html_header and standard_html_footer they will make your life much easier if you can decide what stuff to put in them and what stuff to leave out. Navigation is good, site table templates are good. Anything that is page specific is not so good.
- Do some things just the way you would with any old server. I still use /images/ for a place to put all my images and still reference them in html. I still name pages ".html", keep everything lowercase and use names for folders that make sense.
- I find that hosting more sites out of one Zope installation, leaving some dependencies on products is a much better way to go and much easier to maintain in the end.
- Use versions. They are easy, fun and powerful. You can play with a live site to your hearts content without ever breaking it.
- Use Zope products with a little caution. There are a ton of products that do a lot of things but not all of them are still supported nor have been tested with the newer releases of Zope. Look at date of the last distribution to see when they updated it. Also, if it is says beta, know that it probably is for a reason. Email the developer and ask.
- Spend extra time learning Zope security. If you don't it will bite you in the end (your end).
-
At 11:17 AM -0500 3/7/01, Joel Burton wrote:
I've been learning about the workings of Zope: ZClasses, ZSQL methods, Python products, etc., and there are *lots* of resources about the APIs, and lots of products to add content to our sites.
There is also lots of help on how to *set up* a Zope site: how to tie w/Apache, etc.
What I haven't found yet, though, is much advice on how to *design* the Zope site:
. effective ways to use User Folders
. whether to make containing folders for like objects (eg book reviews), and collect these for lists with objectValues, or whether to add them under user folders/different contexts, and use ZCatalog searches to find them.
. how to handle printable pages throughout a site
. strategies for using ZSQL methods throughout a site
and so on
The Zope book tosses some nuggets of advice here and there, but doesn't build up a site, so we don't really get to see the workings of a talented Zope architect. Other documentation focuses on how to Do Things, like use SQL methods, or how to build products.
I've had a little bit of time to look at the CMF, and that has some structure about reviewing, etc. (and seems to advocate the 'place things in user folders, use ZCatalog to find' method); however, I'm not designing something that seems so portal-ish, and this seems like a hegemonic solution to a design question.
So:
Am I missing any resources on fitting it all together?
Are there 'example sites' that someone could describe?
Would anyone with a well-designed site be willing to export it all up and post it somewhere, so we could explore it?
Or are there other ways of starting this learning path?
-- Joel Burton <jburton@scw.org> Director of Information Systems, Support Center of Washington
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
participants (8)
-
Andrew Kenneth Milton -
BZ -
Joel Burton -
Michael R. Bernstein -
Oleg Broytmann -
Peter Bengtsson -
seb bacon -
Trevor Toenjes