官术网_书友最值得收藏!

Foreword

Back in the old days, Zope was a big monolithic Python package that contained the entire web framework. Creating and customizing a Plone site was accomplished by adding "Products" (special Python packages that only Zope 2 understands) to a special directory. When Zope 2 launched, it would scan this directory and look for special initialization functions to activate each Product. This plugin-based approach was nice in some ways, but not nice in others.

For example, how can you efficiently manage your web applications when installing means you need to manually unzip hundreds of Products on to your filesystem, and make sure all the Product dependencies were satisfied? This was a nightmare!

I remember some Zope sprints back in 2002 where we had to set up specific Zope environments to work. We had to go through every Product's README to list all its dependencies, and make sure we had all of them, whether they were other Products or Python packages. That usually took us half a day before we could start coding.

Nowadays, setting up any kind of Plone-based application can be performed automatically in a few minutes, thanks to zc.buildout! This tool reads a configuration file, sets up your environment by downloading Python packages from the Python Package Index, and performs any additional steps as needed.

But zc.buildout, and all its underlying technology, like Distribute or Distutils, takes a long time to understand and master. It's not the silver bullet either—there are traps all along the road. Plus, it may compete with your server's own packaging system, which sometimes can be an issue.

But the pain is worthwhile! Learning all these tools that became a standard in the Plone community will give you all the power you need to set up and manage industrial-level Plone sites.

And what's great is that the Zope and Plone communities have now adopted the Python Distutils standard as a basis for their building blocks, making it easier to share code between the two worlds.

That is what this book is all about!

Alex, who is a brilliant Plone site administrator and developer, will guide you through the whole process, from setting up your Python environment, to installing, upgrading, and managing your Plone applications with ease, and avoiding pitfalls along the way.

Enjoy! (And keep it under your pillow.)

Tarek Ziadé, Turcey, France, May 2010

Python core developer and Distribute maintainer

http://ziade.org

主站蜘蛛池模板: 浮梁县| 沁水县| 右玉县| 临潭县| 城市| 瓮安县| 拜泉县| 东宁县| 宁都县| 汨罗市| 北碚区| 浦县| 龙门县| 即墨市| 靖安县| 湖州市| 皮山县| 阜宁县| 皮山县| 牡丹江市| 东辽县| 成都市| 忻州市| 宜城市| 丰顺县| 灵武市| 高雄市| 公安县| 台江县| 漾濞| 历史| 陕西省| 前郭尔| 肃宁县| 无棣县| 延寿县| 施甸县| 保山市| 湘西| 泸溪县| 农安县|