E-Book, Englisch, 564 Seiten
Weitershausen Web Component Development with Zope 3
3rd Auflage 2008
ISBN: 978-3-540-76448-9
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark
E-Book, Englisch, 564 Seiten
ISBN: 978-3-540-76448-9
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark
Zope is a powerful Python web application platform for rapidly and collaboratively developing complex web applications. With version 3, Zope has been rebuilt on top of a Component Architecture that combines the best ideas from modern web platforms. This new edition details all the changes and new features in Zope 3. It also makes it easier to get started with Zope, incorporating input and suggestions from Zope 3 experts and newcomers alike. In addition, the book addresses the needs of Zope 2 developers who want to use Zope 3 features as they are backported into the Zope 2 platform.
The author's computer programming started out as a hobby and became a profession very quickly. He has been a web developer for many years, having opened his own business during high school already. He started his first Zope project almost half a decade ago and has successfully used Zope in innumerable applications since. A few years ago, when the rewrite of Zope was initiated, he became a developer of Zope 3. He has been continually contributing to Zope and related projects itself since. Currently he is studying Physics at the Dresden University of Technology, while continuing the Internet business.
Autoren/Hrsg.
Weitere Infos & Material
1;Foreword;7
2;Contents;11
3;Part I Beginner;16
3.1;1 Introduction;17
3.1.1;1.1 About this book;17
3.1.2;1.2 What is Zope?;18
3.1.3;1.3 Zope’s features;21
3.1.4;1.4 The history of Zope;23
3.1.5;1.5 The Python Programming Language;25
3.1.6;1.6 Changes since Zope X3 3.0;26
3.2;2 Zope and the Component Architecture;29
3.2.1;2.1 How Zope works—an overview;29
3.2.2;2.2 Introducing components;30
3.2.3;2.3 Interfaces;33
3.2.4;2.4 Content components;34
3.2.5;2.5 Adapters;35
3.2.6;2.6 Utilities;37
3.2.7;2.7 Configuring components;38
3.2.8;2.8 Security;39
3.3;3 Installing Zope;42
3.3.1;3.1 Requirements;42
3.3.2;3.2 Download, compilation and installation;44
3.3.3;3.3 Setting up a Zope instance;46
3.3.4;3.4 The example application;55
3.4;4 Interfaces;59
3.4.1;4.1 Interface semantics;59
3.4.2;4.2 Defining interfaces;60
3.4.3;4.3 Declaring that an object provides an interface;64
3.4.4;4.4 Verifying implementations;68
3.4.5;4.5 Schemas;69
3.5;5 Content Components;78
3.5.1;5.1 Schema-based content;78
3.5.2;5.2 Configuration via ZCML;83
3.5.3;5.3 Content types;87
3.5.4;5.4 Factories;89
3.6;6 Persistency;94
3.6.1;6.1 The problem of object storage;94
3.6.2;6.2 Making persistent objects;97
3.6.3;6.2 Making persistent objects;97
3.6.4;6.3 Working with persistent objects;99
3.6.5;6.4 BTrees;103
3.7;7 Simple Views and Browser Pages;106
3.7.1;7.1 Introduction to views;106
3.7.2;7.2 Page Templates;110
3.7.3;7.3 A simple view Page Template;117
3.7.4;7.4 Enhanced browser pages;121
3.8;8 Browser Forms;126
3.8.1;8.1 Schema-based forms;126
3.8.2;8.2 Adding objects and add forms;133
3.8.3;8.3 Custom widgets;135
4;Part II Intermediate;147
4.1;9 Internationalization;148
4.1.1;9.1 Overview;149
4.1.2;9.2 Messages and translation domains;150
4.1.3;9.3 Internationalizing an application;154
4.1.4;9.4 Message catalogs;165
4.1.5;9.5 Localization;170
4.2;10 Customizing a Site’s Layout;176
4.2.1;10.1 Layers and skins;176
4.2.2;10.2 Page Template macros;182
4.2.3;10.3 Custom skins;187
4.2.4;10.4 Content providers and viewlets;193
4.3;11 Adapters;201
4.3.1;11.1 Size;201
4.3.2;11.2 File representation;205
4.3.3;11.3 Customizing an existing adapter;212
4.4;12 Automated Testing;215
4.4.1;12.1 Introduction;215
4.4.2;12.2 Unit tests;217
4.4.3;12.3 Doctests;220
4.4.4;12.4 Running tests;223
4.4.5;12.5 Integration tests;229
4.5;13 Advanced Views;241
4.5.1;13.1 Browser pages with non-HTML content;241
4.5.2;13.2 Browser menus;250
4.5.3;13.3 Other HTTP protocols;253
4.6;14 Metadata;263
4.6.1;14.1 Annotations;263
4.6.2;14.2 The Dublin Core;267
4.7;15 Containers;286
4.7.1;15.1 Object hierarchies and traversal;286
4.7.2;15.2 Containment and location;289
4.7.3;15.3 Containment constraints;294
4.7.4;15.4 Names of contained objects;299
4.7.5;15.5 File representation;304
4.8;16 Events;309
4.8.1;16.1 Introduction;309
4.8.2;16.2 Object events;312
4.8.3;16.3 Sending emails for event notification;320
5;Part III Expert;334
5.1;17 Sources and Vocabularies;335
5.1.1;17.1 Sources;335
5.1.2;17.2 Vocabularies;337
5.1.3;17.3 Using vocabularies;342
5.2;18 Sites;348
5.2.1;18.1 Introduction;348
5.2.2;18.2 Local utilities;352
5.2.3;18.3 Implementing sites;356
5.3;19 Indexing and Searching;362
5.3.1;19.1 Indexing and object references;362
5.3.2;19.2 The catalog and its indices;365
5.3.3;19.3 Querying the catalog for searching;370
5.3.4;19.4 Database generations;375
5.4;20 Browser Sessions;379
5.4.1;20.1 Identifying clients;379
5.4.2;20.2 Storing session data;382
5.4.3;20.3 Using sessions;385
5.5;21 Security;390
5.5.1;21.1 Overview;390
5.5.2;21.2 Permissions;397
5.5.3;21.3 Roles;401
5.6;22 Authentication and User Management;406
5.6.1;22.1 The Pluggable Authentication Utility;406
5.6.2;22.2 Login and logout with credential plug-ins;408
5.6.3;22.3 Managing principals with authenticator plug-ins;412
5.6.4;22.4 Principal metadata;425
5.7;23 Debugging Zope;432
5.7.1;23.1 Self-documenting code with APIDoc;432
5.7.2;23.2 Online debugging tools;436
5.7.3;23.3 Using the Python debugger;439
5.8;24 Packaging and Deployment;442
5.8.1;24.1 Packaging an application;442
5.8.2;24.2 Preparing a production instance;447
5.8.3;24.3 Virtual hosting;449
5.8.4;24.4 Improving scalability;455
6;Part IV Appendices;459
6.1;A API Reference;460
6.2;B ZCML Reference;499
7;References;545
8;Index;553




