Re: [Zope-dev] Proposed installation changes for review
'make install' should not create files in the source tree as long as you've run 'make' beforehand. Which files does it create? On Wed, 2003-03-19 at 01:04, Adrian van den Dries wrote: Small problem. The 'make install' step creates files in the source tree. It probably shouldn't do this, because if you want to do this as root (sudo make install to install under /usr/local, say), these file are created as root. This is impolite more than anything else. The build and install targets just call setup.py, so is this a bug in the distutils? a. -- Adrian van den Dries [EMAIL PROTECTED] Development team www.dev.flow.com.au FLOW Communications Pty. Ltd. www.flow.com.au ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On March 20, Chris McDonough wrote: 'make install' should not create files in the source tree as long as you've run 'make' beforehand. Which files does it create? These directories and everything below them: ./build ./lib/python/build/lib ./lib/python/build/lib.linux-i686-2.2 ./lib/python/build/scripts-2.2 Perhaps the build target should do a 'setup.py build' rather than 'setup.py build_ext'? a. -- Adrian van den Dries [EMAIL PROTECTED] Development team www.dev.flow.com.au FLOW Communications Pty. Ltd. www.flow.com.au ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Small problem. The 'make install' step creates files in the source tree. It probably shouldn't do this, because if you want to do this as root (sudo make install to install under /usr/local, say), these file are created as root. This is impolite more than anything else. The build and install targets just call setup.py, so is this a bug in the distutils? a. -- Adrian van den Dries [EMAIL PROTECTED] Development team www.dev.flow.com.au FLOW Communications Pty. Ltd. www.flow.com.au ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Adrian van den Dries writes: The 'make install' step creates files in the source tree. It probably shouldn't do this, because if you want to do this as root (sudo make install to install under /usr/local, say), these file are created as root. This is impolite more than anything else. The build and install targets just call setup.py, so is this a bug in the distutils? This still essentially does an in place build, which is what the previous Makefile did as well. Offhand, I'm not sure how difficult it would be to support both in-place and out-of-place builds; I may be able to look into it tomorrow. How important is it to support out-of-place builds? -Fred -- Fred L. Drake, Jr. fred at zope.com PythonLabs at Zope Corporation ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On March 19, Fred L. Drake, Jr. wrote: How important is it to support out-of-place builds? http://dev.zope.org/Wikis/DevSite/Proposals/InstallationAndConfiguration configure; make; make install source package installation process and some form of INSTANCE_HOME installation thereafter. INSTANCE_HOME setup becomes the default kind of installation. Is this still current? a. -- Adrian van den Dries [EMAIL PROTECTED] Development team www.dev.flow.com.au FLOW Communications Pty. Ltd. www.flow.com.au ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Adrian van den Dries writes: On March 19, Fred L. Drake, Jr. wrote: How important is it to support out-of-place builds? http://dev.zope.org/Wikis/DevSite/Proposals/InstallationAndConfiguration Ok, I'm too tired to read that now; I'll look at it tomorrow between meetings. configure; make; make install source package installation process and some form of INSTANCE_HOME installation thereafter. INSTANCE_HOME setup becomes the default kind of installation. Is this still current? Can't say about the wiki offhand, but the quoted statement still applies. doc/INSTALL.txt has been updated; see the section Building Zope for the relevant procedure. (The Quick Start section uses an abbreviated procedure that creates an instance home in the source directory.) Time for me to get some sleep. ;-) -Fred -- Fred L. Drake, Jr. fred at zope.com PythonLabs at Zope Corporation ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On March 19, Fred L. Drake, Jr. wrote: (The Quick Start section uses an abbreviated procedure that creates an instance home in the source directory.) It calls configure with --prefix=/where/to/install/zope which is then unused. a. -- Adrian van den Dries [EMAIL PROTECTED] Development team www.dev.flow.com.au FLOW Communications Pty. Ltd. www.flow.com.au ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On March 10, Fred L. Drake, Jr. wrote: I'm not sure what you mean; it sounds like you're looking for either DBTab-style mounts or something different. Please describe the configuration so we can be sure that there's some way to support it. Yes, DBTab-style mounts are what I'm looking for. Shane says, Hopefully, Zope 2.7 will integrate DBTab's functionality. I took that at face value and assumed the rest of the crowd knew about it. DBTab's only limitation is that it has hard-coded storage types (most notably lacking is DirectoryStorage). The way I see this resolved is that DBTab knows nothing about storage types, but instead provides a mechanism for each storage to declare its configuration to ZConfig. I'm guessing the way to do that is to provide a ZConfig schema for each storage that declares what it needs configured, and a mount-point just needs a valid storage directive. Is this possible? I would also like to see the mounting mechanism work outside of Zope, so that you can partition a standalone ZODB application. That is outside the immediate scope of this thread, but something perhaps to keep in mind. a. -- Adrian van den Dries [EMAIL PROTECTED] Development team www.dev.flow.com.au FLOW Communications Pty. Ltd. www.flow.com.au ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Chris McDonough wrote at 2003-3-11 15:32 -0500: On Tue, 2003-03-11 at 15:22, Guido van Rossum wrote: That's why we're including the correct versions of ZODB and ZEO in Zope itself. That's already the case in Zope 2.6. Zope 2.6 doesn't yet include ZEO, at least I don't think it does. ;-) When you make a CVS checkout of the 2.6 branch, it already contains ZEO. Dieter ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Hi Chris, Chris McDonough wrote at 2003-3-11 18:39 -0500: On Tue, 2003-03-11 at 17:11, Dieter Maurer wrote: All this is achieved by incorporating the result of hostname into the respective environment variables. I do not know how to do something like this in a configuration file (unless it provides for some form of shell functionality). ZConfig does allow you to declare and use simple bash-style variables within a single file, When the configuration is composed out of components (e.g. for packages), then some global declarations might be very useful. I.e. a features as the global parameters in XSLT. This would allow to have a single place to change all dependent components (locations are most likely candidates for this feature). but currently provides no access to the environment. I suspect we could add something to obtain an envvar value within ZConfig. E.g.: %define HOSTNAME ${HOSTNAME} .. then refer to $HOSTNAME in the rest of the config file... (squiggly brackets would mean obtain from environment). Do you think this would suffice? For us, it would. But the syntax could be a bit more explicit, maybe ${env HOSTNAME} (a la make, where the first word in ${...} may be a function). Or maybe we just make HOSTNAME and/or IP_ADRRESS within the a key constant as you describe. I like access to the environment more. - Building and installing the software have become more clearly distinct; the installation can be separate from the build. Seems you make the elementary installation more difficult. I'm surprised at this assertion. The most elementary way of install under 2.7 is this: $ cd Zope-src $ ./configure {finds suitable Python and reports lack of large file support} $ make $ make install $ /opt/zope/mkzopeinstance /tmp/inst {user edits /tmp/inst/etc/zope.conf, which has inline docs} $ /tmp/inst/zopectl start While under 2.6 it's this: {need to know to configure Python with largefile support} $ cd Zope-src $ /path/to/python/version/you/want wo_pcgi.py {user finds and reads doc/ENVIRONMENT.txt for envvars} {user finds and reads z2.py for command-line switches} {user edits the 'start' script with the right switches and envvars} $ ./start I never read ENVIRONMENT.txt; for elementary use, I need neither read z2.py nor do anything with start. These things may come later, when newbies are already a bit acquainted with Zope. Dieter ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On Thu, 2003-03-13 at 16:14, Dieter Maurer wrote: ZConfig does allow you to declare and use simple bash-style variables within a single file, When the configuration is composed out of components (e.g. for packages), then some global declarations might be very useful. I.e. a features as the global parameters in XSLT. This would allow to have a single place to change all dependent components (locations are most likely candidates for this feature). OK, I'll add this to the list of desired features as well, thanks. but currently provides no access to the environment. I suspect we could add something to obtain an envvar value within ZConfig. E.g.: %define HOSTNAME ${HOSTNAME} .. then refer to $HOSTNAME in the rest of the config file... (squiggly brackets would mean obtain from environment). Do you think this would suffice? For us, it would. But the syntax could be a bit more explicit, maybe ${env HOSTNAME} (a la make, where the first word in ${...} may be a function). We'll try out a couple different spellings I think. Currently we support both $NAME and ${NAME} (I fought hard against the former and lost), so we'll need to be creative. I never read ENVIRONMENT.txt; for elementary use, I need neither read z2.py nor do anything with start. These things may come later, when newbies are already a bit acquainted with Zope. OK. I think the config file is a bit more approachable for newbies, especially non-developer newbies who really don't care all that much about Zope and just want to get it set up for people who are developers. But to each his own. - C ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Tuesday 11 March 2003 10:48 pm, Jamie Heilman wrote: You'd probably still want a single master config file for the whole thing, and a tool to check the configuration is valid separate from the process that uses the file to configure itself. Not I. Large applications with a master config file are to be held with suspicion. Their longevity inevitably suffers because they are difficult to adapt to new situations. Im not sure the big config file approach is necessarily less adaptable than the big /etc directory approach. It is the details that make the difference - both approaches can be done well. Another way to ease configuration is to make things modular so its easier to visualize the flow of data. There is no amount of reconfiguration that can improve this in Zope2. Zope3 promises to fix this, but with modular python components rather than modular unix components. I would be interested in your thoughts on whether this makes a difference. -- Toby Dickenson http://www.geminidataloggers.com/people/tdickenson ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Toby Dickenson wrote: There is no amount of reconfiguration that can improve this in Zope2. Zope3 promises to fix this, but with modular python components rather than modular unix components. I would be interested in your thoughts on whether this makes a difference. I don't think modular component libraries are a replacement for modular programs, or vice versa. They both have their place, they both can be good or bad depending on the implementation. (How's that for a wishy-washy say-nothing statement. g) I simply haven't looked seriously at Zope3 yet, because my needs and Zope3's timeline don't coincide. So unfortunately any opinons I could offer on Zope3's direction would be wholely uninformed. -- Jamie Heilman http://audible.transient.net/~jamie/ We must be born with an intuition of mortality. Before we know the words for it, before we know there are words, out we come bloodied and squalling with the knowledge that for all the compasses in the world, there's only one direction, and time is its only measure. -Rosencrantz ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Adrian van den Dries writes: Debug mode needs to be broken out into directives for its real effects. I always want Zope to run as a daemon, but I also want automatic PT/DTML reloading, and immediate tracebacks. I think there should be a separate no-detach for those people who want that feature. I'm happy with this (more so than the single option). I think it's fair for us to get this implemented before we're done; not sure if it has to happen before the merge (I'm mostly tied up this week). The no-detach choice is already separate -- this is now an option to the separate zopectl program. --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
The point I'm trying to make is that Zope has learned nothing from the UNIX philosophy. Yes, you can extend the config schema. You can grow new, better config files, of extraordinary magnitude. The all-powerful server will grow from being all-powerful to being all-powerful + n. It will be able to read mail. Its heralds shall sit upon mountain high throwns hewn of the finest O'Reilly and New Riders scripture. But lo, still you won't be able to do something as mundane as limit the memory the FTP server is able to consume without affecting the HTTP server. Fracture the server infrastructure into small, seperate processes. The configuration of the individual pieces becomes trivial. The understanding of the overall data flow improves. When there's nothing left to remove from code, you've won. Some of the breaks have already been made, like the separation of the storage from its front-end. Thats good, we need more action along those lines. You're barking up the wrong tree. Zope 2 won't change. Zope 3 is still in a state of flux, and that's where you should aim your speech. --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
But lo, still you won't be able to do something as mundane as limit the memory the FTP server is able to consume without affecting the HTTP server. You can do this with Zope. Just use ZEO and run one ZEO front-end for HTTP and one for FTP. -- Steve Alexander ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
I'm not dismissing it, and I think you need to go back and read what I wrote again very very carefully without reading anything into it. I'm not trying to imply that using environment variables to configure the current codebase will reduce the code footprint. Even if it did, because of the distributed nature of the technique, its damnedly hard to maintain in a project as large as Zope. Also, I didn't say ZConfig was 374k of code, I said it was 374k of *work*. I chose that word very carefully, and obviously thats going to err on the side of conservatism as certainly the work was not isolated to that single directory tree. I don't know what work means in this context, but think the ZConfig project is thorough. In my checkout there are 180k of document, 180k of unit tests, and 136k of code. A measure of work that suggests that something with 0k of documentation and tests and 136k of code would be better makes no sense to me. The point I'm trying to make is that Zope has learned nothing from the UNIX philosophy. Yes, you can extend the config schema. You can grow I don't see where the UNIX philosophy has anything useful to say about configuration, but maybe I'm just a closet unix hater 0.5 wink. new, better config files, of extraordinary magnitude. The all-powerful server will grow from being all-powerful to being all-powerful + n. It will be able to read mail. Its heralds shall sit upon mountain high throwns hewn of the finest O'Reilly and New Riders scripture. But lo, still you won't be able to do something as mundane as limit the memory the FTP server is able to consume without affecting the HTTP server. Fracture the server infrastructure into small, seperate processes. The configuration of the individual pieces becomes trivial. The understanding of the overall data flow improves. When there's nothing left to remove from code, you've won. Some of the breaks have already been made, like the separation of the storage from its front-end. Thats good, we need more action along those lines. I don't see that configuration gets any easier if you have multiple processes. Even if Zope had N processes, there would still be the same amount of stuff to configure. You'd probably still want a single master config file for the whole thing, and a tool to check the configuration is valid separate from the process that uses the file to configure itself. As I watched everyone working on the ZConfig project, I was impressed with how many issues are involved in getting a decent configuration system. I don't think that break the server into multiple pieces would make it easier to configure, and I don't see what requirements could have been eliminated to make the project take less work. Jeremy ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Tue, 2003-03-11 at 15:22, Guido van Rossum wrote: That's why we're including the correct versions of ZODB and ZEO in Zope itself. That's already the case in Zope 2.6. Zope 2.6 doesn't yet include ZEO, at least I don't think it does. ;-) Oops, I stand corrected. But Zope 2.7 does include ZEO! --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
--On Tuesday, March 11, 2003 03:43:33 PM -0500 Guido van Rossum [EMAIL PROTECTED] wrote: On Tue, 2003-03-11 at 15:22, Guido van Rossum wrote: That's why we're including the correct versions of ZODB and ZEO in Zope itself. That's already the case in Zope 2.6. Zope 2.6 doesn't yet include ZEO, at least I don't think it does. ;-) Oops, I stand corrected. But Zope 2.7 does include ZEO! Very good! But in that case, shouldn't the new Zope 2.7 install and startup stuff support it? ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Oops, I stand corrected. But Zope 2.7 does include ZEO! Very good! But in that case, shouldn't the new Zope 2.7 install and startup stuff support it? Well, in a typical installation, you won't be running ZEO on the same machine as Zope, right? ZEO has its own install and config stuff, which is very similar to that for Zope, but ZEO is not installed as part of the main Zope install. --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Tue, 2003-03-11 at 16:12, Dan L. Pierson wrote: Very good! But in that case, shouldn't the new Zope 2.7 install and startup stuff support it? It does. It's just that the default setup is still to use a non-ZEOd FileStorage for your main database. But you can change options in the config file to make it use a ZEO ClientStorage. This is in lieu of of requiring you to edit custom_zodb.py as you needed to do in 2.6 and prior. It's clear that the Zope source distro should support the use of ClientStorage out of the box. It's not however so clear that the Zope source distro should make it to set up a ZEO server (although it does happen to include the necessary files to run a ZEO server too, it doesn't include a 'zeoctl' or a zeo.conf, etc). That's not to say that it shouldn't be easy to set up a ZEO server, but that making it easy should probably the job of a package other than Zope proper. The right thing to do would be to package up a ZEO server installer separate from Zope 2.7 with a similar kind of buildout, support files, and configuration file. At least that's been my idea so far. - C ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Very good! But in that case, shouldn't the new Zope 2.7 install and startup stuff support it? It does. It's just that the default setup is still to use a non-ZEOd FileStorage for your main database. But you can change options in the config file to make it use a ZEO ClientStorage. This is in lieu of of requiring you to edit custom_zodb.py as you needed to do in 2.6 and prior. It's clear that the Zope source distro should support the use of ClientStorage out of the box. It's not however so clear that the Zope source distro should make it to set up a ZEO server (although it does happen to include the necessary files to run a ZEO server too, it doesn't include a 'zeoctl' or a zeo.conf, etc). Chris, have you looked at ZEO/mkzeoinst.py? It uses a somewhat simpler approach than the new Zope setup, but it creates a zeoctl script and a zeo.conf configuration file. That's not to say that it shouldn't be easy to set up a ZEO server, but that making it easy should probably the job of a package other than Zope proper. The right thing to do would be to package up a ZEO server installer separate from Zope 2.7 with a similar kind of buildout, support files, and configuration file. At least that's been my idea so far. Not needed; it's all there (though far simpler in approach than the Zope installer). --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Cool! I didn't know. Do you think we should tell people that if they want to run a ZEO server to just run mkzeoinst from the software home resulting from Zope's make install and to edit zope.conf to use a ClientStorage? Chris, have you looked at ZEO/mkzeoinst.py? It uses a somewhat simpler approach than the new Zope setup, but it creates a zeoctl script and a zeo.conf configuration file. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
- Original Message - From: Guido van Rossum [EMAIL PROTECTED] Oops, I stand corrected. But Zope 2.7 does include ZEO! Very good! But in that case, shouldn't the new Zope 2.7 install and startup stuff support it? Well, in a typical installation, you won't be running ZEO on the same machine as Zope, right? hm... I wonder if this wold be a common case if ZEO was included as a integral part of Zope. I may be wrong, bur aren't there benefits of running ZEO even on a single machine (i.e. stability and/or redundancy)? I know I allready now could need the functionality of ZEO on a single machine (and I am about to use ZEO as soon as I fix some non-ZEO-able issues in our app). ZEO has its own install and config stuff, which is very similar to that for Zope, but ZEO is not installed as part of the main Zope install. I thought you had to install ZEO on top/inside of an existing Zope installation. Will this be different in Zope 2.7? Thanks, /dario - Dario Lopez-Ksten, IT Systems Services Chalmers University of Tech. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Chris, have you looked at ZEO/mkzeoinst.py? It uses a somewhat simpler approach than the new Zope setup, but it creates a zeoctl script and a zeo.conf configuration file. Cool! I didn't know. Do you think we should tell people that if they want to run a ZEO server to just run mkzeoinst from the software home resulting from Zope's make install and to edit zope.conf to use a ClientStorage? That should work, yes, as long as mkzeoinst.py, zdctl.py, zdrun.py and runzeo.py are all on $PATH at that point. --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
I thought you had to install ZEO on top/inside of an existing Zope installation. Will this be different in Zope 2.7? Yes, ZEO will be an integral part of Zope then. --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Tue, Mar 11, 2003 at 04:25:09PM -0500, Guido van Rossum wrote: Oops, I stand corrected. But Zope 2.7 does include ZEO! Very good! But in that case, shouldn't the new Zope 2.7 install and startup stuff support it? Well, in a typical installation, you won't be running ZEO on the same machine as Zope, right? ZEO has its own install and config stuff, which is very similar to that for Zope, but ZEO is not installed as part of the main Zope install. i suppose it's not typical but we run zeo on all our systems including the dev boxes, because * we like to have the same environment everywhere for sanity's sake * interactive debugging is very cool and has saved my butt more than once. -- Paul Winkler http://www.slinkp.com Look! Up in the sky! It's FAT BOY! (random hero from isometric.spaceninja.com) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Chris McDonough wrote at 2003-3-10 16:41 -0500: ... - Configuration is normally done by editing a config file instead of passing command line options. The configuration file is handled by the ZConfig package. - Environment variables are no longer used for configuration. I am *very* sad about this. Configuration via environment variables is easy and much more flexible than configuration files: We use a single configuration for a farm of Zopes. Of course, each Zope needs its own ZEO client cache, its own log file, its own pid files, All this is achieved by incorporating the result of hostname into the respective environment variables. I do not know how to do something like this in a configuration file (unless it provides for some form of shell functionality). Howfully, the configuration file supports (at least) definition of key constants (like hostname) and its interpolation in other modular (and reusable) components. - Building and installing the software have become more clearly distinct; the installation can be separate from the build. Seems you make the elementary installation more difficult. Advanced installations may get easier, though... Dieter ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On Tue, 2003-03-11 at 17:11, Dieter Maurer wrote: All this is achieved by incorporating the result of hostname into the respective environment variables. I do not know how to do something like this in a configuration file (unless it provides for some form of shell functionality). ZConfig does allow you to declare and use simple bash-style variables within a single file, but currently provides no access to the environment. I suspect we could add something to obtain an envvar value within ZConfig. E.g.: %define HOSTNAME ${HOSTNAME} .. then refer to $HOSTNAME in the rest of the config file... (squiggly brackets would mean obtain from environment). Do you think this would suffice? Or maybe we just make HOSTNAME and/or IP_ADRRESS within the a key constant as you describe. - Building and installing the software have become more clearly distinct; the installation can be separate from the build. Seems you make the elementary installation more difficult. I'm surprised at this assertion. The most elementary way of install under 2.7 is this: $ cd Zope-src $ ./configure {finds suitable Python and reports lack of large file support} $ make $ make install $ /opt/zope/mkzopeinstance /tmp/inst {user edits /tmp/inst/etc/zope.conf, which has inline docs} $ /tmp/inst/zopectl start While under 2.6 it's this: {need to know to configure Python with largefile support} $ cd Zope-src $ /path/to/python/version/you/want wo_pcgi.py {user finds and reads doc/ENVIRONMENT.txt for envvars} {user finds and reads z2.py for command-line switches} {user edits the 'start' script with the right switches and envvars} $ ./start (Forgot to mention the auto-large-file-detection support in the configure script in the original request for comments, sorry). I think most folks new to Zope would pick up on the first path sooner than the latter as it more closely follows the setup directions of programs they're already used to (Apache, for instance). It also provides the least amount of suprise in the long term. For example, how many times have we had to talk panicked people through a recovery effort after they've run in to the 2GB limit on some UNIX variant because they're running a Python without largefile support? Anyway, I think the requirement to be able to access the environment under ZConfig is a good suggestion. If you could expand on why you think elementary installation is now harder, I would like to hear that. - C ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
ZEO client configuration is included in the new configuration schema. ZEO server configuration has its own schema and tools, also based on ZConfig and the new zdaemon; you can check these out in the ZODB 3.2 alpha release. Does this mean that Zope 2.7 will require ZODB 3.2 for ZEO users? Zope 2.7 will *come with* ZODB 3.2 (or later, depending on the timing of the Zope 2.7 release), so I suppose so. As an aside, am I the only one who's confused by this new bundling of ZEO as part of the stand alone ZODB product? I don't know. What's confusing for you? The new approach is that: Zope includes ZODB includes ZODB What's confusing about that? --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
--On Tuesday, March 11, 2003 02:39:55 PM -0500 Guido van Rossum [EMAIL PROTECTED] wrote: Does this mean that Zope 2.7 will require ZODB 3.2 for ZEO users? Zope 2.7 will *come with* ZODB 3.2 (or later, depending on the timing of the Zope 2.7 release), so I suppose so. ... As an aside, am I the only one who's confused by this new bundling of ZEO as part of the stand alone ZODB product? I don't know. What's confusing for you? The new approach is that: Zope includes ZODB includes ZODB What's confusing about that? Zope doesn't (currently) include ZEO so to get an up to date ZEO we now have to obtain the correct version of the stand-alone ZODB and extract the contained ZEO. The version numbers of the ZEO and stand-alone ZODB are unrelated so figuring out which ZODB we need to get ZEO is a bit of a pain. Also, ZEO is packaged differently in the stand alone ZODB than it used to be in on it's own. Dan Pierson ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Zope doesn't (currently) include ZEO so to get an up to date ZEO we now have to obtain the correct version of the stand-alone ZODB and extract the contained ZEO. The version numbers of the ZEO and stand-alone ZODB are unrelated so figuring out which ZODB we need to get ZEO is a bit of a pain. Also, ZEO is packaged differently in the stand alone ZODB than it used to be in on it's own. That's why we're including the correct versions of ZODB and ZEO in Zope itself. That's already the case in Zope 2.6. --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Steve Alexander wrote: But lo, still you won't be able to do something as mundane as limit the memory the FTP server is able to consume without affecting the HTTP server. You can do this with Zope. Just use ZEO and run one ZEO front-end for HTTP and one for FTP. Sure, but then you carry along all the baggage of 2 zserver instances. Its a start, but there's still a ways to go. -- Jamie Heilman http://audible.transient.net/~jamie/ I was in love once -- a Sinclair ZX-81. People said, No, Holly, she's not for you. She was cheap, she was stupid and she wouldn't load -- well, not for me, anyway. -Holly ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Jeremy Hylton wrote: I don't know what work means in this context, but think the ZConfig project is thorough. In my checkout there are 180k of document, 180k of unit tests, and 136k of code. A measure of work that suggests that something with 0k of documentation and tests and 136k of code would be better makes no sense to me. How about, a lot of code/documentation was removed, and a lot of new code/documentation was added. Don't get hung up on the exact numbers, my point was, a lot of work has gone into simplifying the configuration process, but that the bigger picture isn't any clearer for it. I don't see where the UNIX philosophy has anything useful to say about configuration, but maybe I'm just a closet unix hater 0.5 wink. Small programs that do one thing well, written to work together, communicating via a universal interface, have the golden property of being easily replaceable. With this replaceability comes the ease of configuration. I don't see that configuration gets any easier if you have multiple processes. Even if Zope had N processes, there would still be the same amount of stuff to configure. There is more than one way to ease configuration. Reducing the amount of stuff is one way, but sometimes, even after you've reduced till you can't reduce any further, there's still a lot of stuff. Another way to ease configuration is to make things modular so its easier to visualize the flow of data. When the boundaries of communication are clearly defined between modules it becomes easier to understand what part each module plays, and how you can affect the overall result by changing or re-organizing the individual modules. You'd probably still want a single master config file for the whole thing, and a tool to check the configuration is valid separate from the process that uses the file to configure itself. Not I. Large applications with a master config file are to be held with suspicion. Their longevity inevitably suffers because they are difficult to adapt to new situations. As I watched everyone working on the ZConfig project, I was impressed with how many issues are involved in getting a decent configuration system. Indeed. I don't think that break the server into multiple pieces would make it easier to configure, and I don't see what requirements could have been eliminated to make the project take less work. Well, when you've got some cycles to burn, give it some more thought. It may not be as obvious to you if you don't deal with it on a day to day basis like sysadmins do, but I assure you UNIX owes much of its longevity to the philosophies upon which it was built. Adaptability is a big deal. -- Jamie Heilman http://audible.transient.net/~jamie/ We must be born with an intuition of mortality. Before we know the words for it, before we know there are words, out we come bloodied and squalling with the knowledge that for all the compasses in the world, there's only one direction, and time is its only measure. -Rosencrantz ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Tue, 2003-03-11 at 17:48, Jamie Heilman wrote: How about, a lot of code/documentation was removed, and a lot of new code/documentation was added. Don't get hung up on the exact numbers, my point was, a lot of work has gone into simplifying the configuration process, but that the bigger picture isn't any clearer for it. Given the circumstance, what would you propose to do? - C ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Chris McDonough wrote: On Tue, 2003-03-11 at 17:48, Jamie Heilman wrote: How about, a lot of code/documentation was removed, and a lot of new code/documentation was added. Don't get hung up on the exact numbers, my point was, a lot of work has gone into simplifying the configuration process, but that the bigger picture isn't any clearer for it. Given the circumstance, what would you propose to do? Merge and move on, I'm not asking anyone to throw out their work, just to give thought to what I've said. -- Jamie Heilman http://audible.transient.net/~jamie/ We must be born with an intuition of mortality. Before we know the words for it, before we know there are words, out we come bloodied and squalling with the knowledge that for all the compasses in the world, there's only one direction, and time is its only measure. -Rosencrantz ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
We currently rely on two scripts for running our Zopes: 1. A modified version of zctl.py. I originally got it from a moribund wiki on the Zope site. The main changes we've made have been to better separate parameters for Zope clients from parameters for the ZEO server and to run an additional server of our own along side the ZEO server (a simple distributed RAM Cache invalidation server). 2. A very simple sysv-init script that implements everything by calling the correct zctl.py. It looks like the new install and startup world will be a huge improvement over the current setup on the whole. I like moving the log files to their own directory. The things that seemed to be missing from your writeup were: Almost no mention of ZEO (only one mention of a zeo client name parameter). How does ZEO fit into this? I don't see an equivalent to ./zctl.py debug anywhere. This starts up an interactive Python as a ZEO client with ZServer and Zope imported and app = Zope.app(). I use it constantly. Please? ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
The things that seemed to be missing from your writeup were: Almost no mention of ZEO (only one mention of a zeo client name parameter). How does ZEO fit into this? ZEO client configuration is included in the new configuration schema. ZEO server configuration has its own schema and tools, also based on ZConfig and the new zdaemon; you can check these out in the ZODB 3.2 alpha release. --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Tue, Mar 11, 2003 at 10:01:53AM -0500, Dan L. Pierson wrote: I don't see an equivalent to ./zctl.py debug anywhere. This starts up an interactive Python as a ZEO client with ZServer and Zope imported and app = Zope.app(). I use it constantly. Please? +1. I also use zctl.py debug nearly every day. of course it's just a convenience, but it's an important convenience because nearly every document i can find on debugging Zope says roughly ...and of course you can use ZEO, but that's beyond the scope of this article... -- Paul Winkler http://www.slinkp.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
A few questions / concerns listed below, otherwise it looks fine to me... On Mon, Mar 10, 2003 at 04:41:48PM -0500, Chris McDonough wrote: debug mode does this still toggle a whole bunch of things? production installation (on/off) what's this mean? network servers (http, dav, ftp, monitor, etc) is this where you set the ports? One thing I didn't see in your list is a way to extend the products path (currently I do that with $PRODUCTS_PATH). We need that. One more question: Does zopectl.py always detach from the terminal (booo) or not (yay) ? Or does it behave like z2.py and this depends on debug mode (booo) ? -- Paul Winkler http://www.slinkp.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
- Environment variables are no longer used for configuration. I'll say it one more time. The roadmap[1] states under the Simplifying the Zope experience section: * simple tasks should be simple! Now, code required to extract a value from the environment: import os try: value = sanitize(os.environ.get(SOMETHING, default)) except Unsanitary: ...cope... # where 'sanitize' is in reference to any conversion procedures required # prior to the use of 'value' by program code Pretty simple. Enter ZConfig: $ du -sk ZConfig 374 ZConfig 374k of work devoted to replacing os.environ.get and its sanitizing code, and the result is a XML config file. I'm not saying this all for naught, but really, it should give you pause. Just how much have you really simplified configuration by doing this? Personally I think the problem of Zope's configuration hassles has been mis-identified. ZConfig cleans up and centralizes a maze of badly strewn out configuration code. It will extend the lifetime of the Über-server concept ZServer employs. It does nothing to prevent the same mess from happening again, down the road. I believe a more lasting approach is to seperate the servers into small individual programs which only do 1 thing, and do it well. Then you combine those servers under a unified mangement framework, connect them together by using common communication idioms, the idea being--and follow me here, to use small programs combined together to provide a larger service. Sound familiar? -- Jamie Heilman http://audible.transient.net/~jamie/ ...thats the metaphorical equivalent of flopping your wedding tackle into a lion's mouth and flicking his lovespuds with a wet towel, pure insanity... -Rimmer [1] http://dev.zope.org/Resources/ZopeRoadmap.html ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On Mon, 2003-03-10 at 18:07, Paul Winkler wrote: A few questions / concerns listed below, otherwise it looks fine to me... On Mon, Mar 10, 2003 at 04:41:48PM -0500, Chris McDonough wrote: debug mode does this still toggle a whole bunch of things? Yes. It's still the case that nobody really knows what debug mode means. ;-) We just switched from only being able to specify the unknown via a command-line switch to being able to switch it from a config file and the command line. production installation (on/off) what's this mean? Sorry, that should have been product installation. This is the same as what the FORCE_PRODUCT_LOAD envvar does now. network servers (http, dav, ftp, monitor, etc) is this where you set the ports? Yes. One thing I didn't see in your list is a way to extend the products path (currently I do that with $PRODUCTS_PATH). We need that. This wasn't documented in ENVIRONMENT.txt so it never made it in. Thanks for catching it. One more question: Does zopectl.py always detach from the terminal (booo) or not (yay) ? No. It can detach from the terminal, but it needn't. It is actually a mini shell. [EMAIL PROTECTED] inst]$ bin/zopectl program: /tmp/inst/bin/runzope daemon manager not running zdctl ? Documented commands (type help topic): fg foreground helpkill logreopen logtail quitreload restart shell showstart status stopwait Undocumented commands: == EOF zdctl fg export EVENT_LOG_FILE EVENT_LOG_FILE= /tmp/inst/bin/runzope HTH, - C ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
Adrian van den Dries writes: Debug mode needs to be broken out into directives for its real effects. I always want Zope to run as a daemon, but I also want automatic PT/DTML reloading, and immediate tracebacks. I think there should be a separate no-detach for those people who want that feature. I'm happy with this (more so than the single option). I think it's fair for us to get this implemented before we're done; not sure if it has to happen before the merge (I'm mostly tied up this week). The ZODB section doesn't work: Error: 'mount-point' is not a known key name I think we haven't spend enough time figuring out the right way to deal with DBTab-style mounts yet; leave out that key for now. To see the current spellings of the storage- and database-related configuration values, take a look at the ZConfig schema component in the ZODB package: lib/python/ZODB/component.xml Also, it needs to support arbitrary storage types. I don't know how ZConfig works internally, but I'm guessing each storage type would supply a ZConfig thingie that registers its configuration paramaters to ZConfig. I'm hoping to roll out some large production Zopes with partitioned, distributed storages. I'm not sure what you mean; it sounds like you're looking for either DBTab-style mounts or something different. Please describe the configuration so we can be sure that there's some way to support it. Thanks for your comments! -Fred -- Fred L. Drake, Jr. fred at zope.com PythonLabs at Zope Corporation ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Proposed installation changes for review
On Tue, Mar 11, 2003 at 12:11:25PM +1100, Adrian van den Dries wrote: Debug mode needs to be broken out into directives for its real effects. +L -- Paul Winkler http://www.slinkp.com Look! Up in the sky! It's ULTRA PENGUIN! (random hero from isometric.spaceninja.com) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Mon, Mar 10, 2003 at 10:31:13PM -0500, Fred L. Drake, Jr. wrote: Detaching, or daemonizing, will be a separate configuration parameter from everything else. great, that is exactly what i really want. -- Paul Winkler http://www.slinkp.com Look! Up in the sky! It's GARGANTUAN SKULL OF THE REVOLUTION! (random hero from isometric.spaceninja.com) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Mon, 2003-03-10 at 19:51, Jamie Heilman wrote: - Environment variables are no longer used for configuration. I'll say it one more time. The roadmap[1] states under the Simplifying the Zope experience section: * simple tasks should be simple! Now, code required to extract a value from the environment: import os try: value = sanitize(os.environ.get(SOMETHING, default)) except Unsanitary: ...cope... # where 'sanitize' is in reference to any conversion procedures required # prior to the use of 'value' by program code I'm sure you know this, but you are oversimplifying the situation. There are 41 (known) individual environment variables that control Zope's runtime configuration. Each use of an environment variable has its own parsing code, its own error-handling code and the actual code that does the work (ex: the session envvar parsing stuff in OFS/Application.py). If we take your example and make the error handling code real and the work code real we can estimate that it will consume about 1k. Multiply the number of bytes it contains with 41 and we can approximate about 41k of ad-hoc envvar handling code in Zope now. That's a boatload of largely untested and decentralized code, all of which is doing configuration. There is nothing simple about it. ;-) Pretty simple. Enter ZConfig: $ du -sk ZConfig 374 ZConfig 374k of work devoted to replacing os.environ.get and its sanitizing code, and the result is a XML config file. I'm not saying this all for naught, but really, it should give you pause. Just how much have you really simplified configuration by doing this? I couldn't really guess how much code in Zope is devoted to runtime configuration right now because it's spread over the entire codebase. I suspect you're right that it's not 374k. But for ZConfig only 116k is code, the rest is docs and tests: there are neither (to speak of, discounting the laughable ENVIRONMENT.txt) in the current 2.6/trunk codebase for configuration. Personally I think the problem of Zope's configuration hassles has been mis-identified. ZConfig cleans up and centralizes a maze of badly strewn out configuration code. It will extend the lifetime of the Über-server concept ZServer employs. It does nothing to prevent the same mess from happening again, down the road. Actually, it does. Packages may declare their own config schema type definitions and they may be included in the context of a larger configuration schema. This is demonstrated in the Zope schema in the new-install-branch in lib/python/Zope/Startup/zopeschema.xml: schema prefix=Zope.Startup.datatypes datatype=.root_config handler=root_handler !-- type definitions -- import package=zLOG/ import package=ZODB/ import package=ZServer/ We import the schema type definitions from the zLOG, ZODB, and ZServer packages here (these are named component.xml in each of these packages). The zope schema file uses these definitions to compose its own (type-checked) schema for a config file, and they can be (and will be) reused for ZEO and ZC's ZRS (Zope Replication Server). For Zope, ZServer is just another package that happens to define the schema type definitions for network servers. I believe a more lasting approach is to seperate the servers into small individual programs which only do 1 thing, and do it well. Then you combine those servers under a unified mangement framework, connect them together by using common communication idioms, the idea being--and follow me here, to use small programs combined together to provide a larger service. Sound familiar? I think this is done already. ZConfig is very general and very generic; you can configure just about anything with it and it has no Zope dependencies whatsoever. Fred Drake wrote it so it's pretty solid too. Before dismissing it out of hand, I'd encourage you to try it out. - C ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Chris McDonough wrote: Before dismissing it out of hand, I'd encourage you to try it out. I'm not dismissing it, and I think you need to go back and read what I wrote again very very carefully without reading anything into it. I'm not trying to imply that using environment variables to configure the current codebase will reduce the code footprint. Even if it did, because of the distributed nature of the technique, its damnedly hard to maintain in a project as large as Zope. Also, I didn't say ZConfig was 374k of code, I said it was 374k of *work*. I chose that word very carefully, and obviously thats going to err on the side of conservatism as certainly the work was not isolated to that single directory tree. The point I'm trying to make is that Zope has learned nothing from the UNIX philosophy. Yes, you can extend the config schema. You can grow new, better config files, of extraordinary magnitude. The all-powerful server will grow from being all-powerful to being all-powerful + n. It will be able to read mail. Its heralds shall sit upon mountain high throwns hewn of the finest O'Reilly and New Riders scripture. But lo, still you won't be able to do something as mundane as limit the memory the FTP server is able to consume without affecting the HTTP server. Fracture the server infrastructure into small, seperate processes. The configuration of the individual pieces becomes trivial. The understanding of the overall data flow improves. When there's nothing left to remove from code, you've won. Some of the breaks have already been made, like the separation of the storage from its front-end. Thats good, we need more action along those lines. -- Jamie Heilman http://audible.transient.net/~jamie/ Paranoia is a disease unto itself, and may I add, the person standing next to you may not be who they appear to be, so take precaution. -Sathington Willoughby ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Mon, 2003-03-10 at 21:42, Jamie Heilman wrote: Chris McDonough wrote: The point I'm trying to make is that Zope has learned nothing from the UNIX philosophy. Yes, you can extend the config schema. You can grow new, better config files, of extraordinary magnitude. The all-powerful server will grow from being all-powerful to being all-powerful + n. It will be able to read mail. Its heralds shall sit upon mountain high throwns hewn of the finest O'Reilly and New Riders scripture. But lo, still you won't be able to do something as mundane as limit the memory the FTP server is able to consume without affecting the HTTP server. Point taken. Fracture the server infrastructure into small, seperate processes. The configuration of the individual pieces becomes trivial. The understanding of the overall data flow improves. When there's nothing left to remove from code, you've won. Some of the breaks have already been made, like the separation of the storage from its front-end. Thats good, we need more action along those lines. I think this is a noble goal, but far beyond the scope of the current project, which is stated on the project page as Make it easier for sysadmins and new Zope developers to install and configure Zope. I believe that ZConfig will help us towards this goal. It should also not hinder us from reaching the goal that you've defined above. Thanks, - C ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
On Mon, 2003-03-10 at 17:07, Paul Winkler wrote: A few questions / concerns listed below, otherwise it looks fine to me... On Mon, Mar 10, 2003 at 04:41:48PM -0500, Chris McDonough wrote: debug mode does this still toggle a whole bunch of things? production installation (on/off) what's this mean? network servers (http, dav, ftp, monitor, etc) is this where you set the ports? One thing I didn't see in your list is a way to extend the products path (currently I do that with $PRODUCTS_PATH). We need that. One more question: Does zopectl.py always detach from the terminal (booo) or not (yay) ? Or does it behave like z2.py and this depends on debug mode (booo) ? Actually I like the way z2.py detaches or doesn't detach. Perhaps a separate config option would be good to control this. -- Edward Muller Interlix - President Web Hosting - PC Service Support Custom Programming - Network Service Support Phone: 417-862-0573 Cell: 417-844-2435 Fax: 417-862-0572 http://www.interlix.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] Re: [Zope-dev] Proposed installation changes for review
Edward Muller writes: Actually I like the way z2.py detaches or doesn't detach. Perhaps a separate config option would be good to control this. Detaching, or daemonizing, will be a separate configuration parameter from everything else. The basic mechanism will be that provided by the zdctl.py/zdrun.py scripts in the zdaemon package. -Fred -- Fred L. Drake, Jr. fred at zope.com PythonLabs at Zope Corporation ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )