[Zope3-Users] Announcing zopeproject 0.4
Lorenzo Gil Sanchez
lgs at sicem.biz
Sun Sep 16 15:36:59 EDT 2007
Hi Philipp,
thanks a lot for adding a debug script to the bin directory. It's one of
the few things I missed from this great package!
I may suggest you could add the changes of the 0.4 version to this
announce email. Just a minor issue :-)
Thanks, really!
Lorenzo Gil
El dom, 16-09-2007 a las 17:01 +0200, Philipp von Weitershausen
escribió:
> zopeproject makes it easy to get started with a web application based on
> Zope eggs, zc.buildout and WSGI/Paste. If you're not familiar with this
> world yet, zopeproject is your easy entry to it. If you are, zopeproject
> will save you lots of typing up the boilerplate.
>
> Why eggs?
> ---------
>
> Because they are a great way to distribute Python software and declare
> its dependencies. Zope 3.4 is completely distributed as individual eggs
> and will from now on be developed as such.
>
> What's zc.buildout?
> -------------------
>
> It's a tool for repeatable deployments that's configuration-file driven.
> You tell it "install these eggs for me, create this script and let me
> develop packages in this directory" and it will go ahead and do all
> that. Over and over again, if necessary, and for everybody who wants the
> same setup as you (which is great for teams).
>
> What are WSGI and Paste?
> ------------------------
>
> WSGI is a Python standard for web applications and web servers. It
> defines how they communicate so that potentially any WSGI application
> can run on any WSGI gateway (server). Zope has had support for WSGI for
> a while now, but it has never really been exposed, even though it offers
> great possibilities such as middlewares.
>
> Paste is a collection of related to WSGI. One of its tools, PasteDeploy,
> is of particular interest. It allows you to plug WSGI applications,
> middlwares and gateways together using a simple configuration file.
>
> zopeproject vs. instances
> -------------------------
>
> Apart from all the flashy technology that zopeproject brings us, it also
> implies a big conceptual change in the way we develop web applications
> with Zope.
>
> In the world of regular instances, Zope is the server and the
> application. Your code is just like a plug-in::
>
> +------------+ +---------+
> | Zope | runs |your code|
> |server & app| ----> | (plugin)|
> +------------+ +---------+
>
> Even though we've been doing it for years ("Products" ring any bells?),
> I think this is backwards and accounts for much of the irritation people
> coming to Zope have.
>
> With zopeproject's approach, *your code* is the application. The web
> application, to be precise. And it *happens* to use Zope. As a library::
>
> +------------+ +-------------+ +---------+
> |WSGI gateway| serves | your code | uses | Zope |
> | (server) | ------> |(application)| ----> |libraries|
> +------------+ +-------------+ +---------+
>
> Zope isn't the center of attention anymore, your application is. Even
> better, you can choose how much of Zope you'd really like to use. You
> may compare this approach to a GUI application that happens to use some
> sort of GUI framework to get some widgets on the screen, but otherwise
> it's just like any other, real application.
>
> So how does it work?
> --------------------
>
> It's pretty easy. All you need to do is install zopeproject first. You
> don't need to install Zope for this, zopeproject will do that for you
> later. Note that you will have to have setuptools installed for this
> to work (it provides the easy_install script)::
>
> $ easy_install zopeproject
>
> Depending on where and how you installed Python, you may have to prefix
> this command with "sudo" to gain privileges for installing packages
> globally.
>
> Now you can create a new web application::
>
> $ zopeproject WebApp
>
> Much like with mkzopeinstance, you'll be asked a couple of questions.
> The last question concerns the central download location for eggs (which
> will include the Zope eggs). After the questions, zopeproject will
> create a 'WebApp' directory with some initial directory structure, as
> well as download and install the Zope eggs.
>
> To start the application, go to the newly created directory and invoke
> the server::
>
> $ cd WebApp
> $ bin/paster serve deploy.ini
>
> You may also use the webapp-ctl script which works much like zopectl::
>
> $ bin/webapp-ctl fg
>
> You will then be able to go to http://localhost:8080 and see the default
> Zope screen (The standard boilerplate simply uses the Zope 3 default,
> after all. It is now up to you to change that.)
>
> More information and feedback
> -----------------------------
>
> For more information, please refer to zopeproject's homepage on PyPI:
> http://pypi.python.org/pypi/zopeproject
>
> I'm very much interested in getting your feedback. Please direct
> questions that are of public interest to the zope3-users at zope.org list.
> Bugs may be reported in Launchpad: https://launchpad.net/zopeproject.
>
>
More information about the Zope3-users
mailing list