: Philipp von Weitershausen
: Web Component Development with Zope 3
: Springer-Verlag
: 9783540764489
: 3
: CHF 48.70
:
: Betriebssysteme, Benutzeroberflächen
: English
: 564
: Wasserzeichen/DRM
: PC/MAC/eReader/Tablet
: PDF

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.

Foreword7
Contents11
Part I Beginner16
1 Introduction17
1.1 About this book17
1.2 What is Zope?18
1.3 Zope’s features21
1.4 The history of Zope23
1.5 The Python Programming Language25
1.6 Changes since Zope X3 3.026
2 Zope and the Component Architecture29
2.1 How Zope works—an overview29
2.2 Introducing components30
2.3 Interfaces33
2.4 Content components34
2.5 Adapters35
2.6 Utilities37
2.7 Configuring components38
2.8 Security39
3 Installing Zope42
3.1 Requirements42
3.2 Download, compilation and installation44
3.3 Setting up a Zope instance46
3.4 The example application55
4 Interfaces59
4.1 Interface semantics59
4.2 Defining interfaces60
4.3 Declaring that an object provides an interface64
4.4 Verifying implementations68
4.5 Schemas69
5 Content Components78
5.1 Schema-based content78
5.2 Configuration via ZCML83
5.3 Content types87
5.4 Factories89
6 Persistency94
6.1 The problem of object storage94
6.2 Making persistent objects97
6.2 Making persistent objects97
6.3 Working with persistent objects99
6.4 BTrees103
7 Simple Views and Browser Pages106
7.1 Introduction to views106
7.2 Page Templates110
7.3 A simple view Page Template117
7.4 Enhanced browser pages121
8 Browser Forms126
8.1 Schema-based forms126
8.2 Adding objects and add forms133
8.3 Custom widgets135
Part II Intermediate147
9 Internationalization148
9.1 Overview149
9.2 Messages and translation domains150
9.3 Internationalizing an application154
9.4 Message catalogs165
9.5 Localization170
10 Customizing a Site’s Layout176
10.1 Layers and skins176
10.2 Page Template macros182
10.3 Custom skins187
10.4 Content providers and viewlets193
11 Adapters201
11.1 Size201
11.2 File representation205
11.3 Customizing an existing adapter212
12 Automated Testing215
12.1 Introduction215
12.2 Unit tests217
12.3 Doctests220
12.4 Running tests223
12.5 Integration tests229
13 Advanced Views241
13.1 Browser pages with non-HTML content241
13.2 Browser menus250
13.3 Other HTTP protocols253
14 Metadata263
14.1 Annotations263
14.2 The Dublin Core267
15 Containers286
15.1 Object hierarchies and traversal286
15.2 Containment and location289
15.3 Containment constraints294
15.4 Names of contained objects299
15.5 File representation304
16 Events309
16.1 Introduction309
16.2 Object events312
16.3 Sending emails for event notification320
Part III Expert334
17 Sources and Vocabularies335
17.1 Sources335
17.2 Vocabularies337
17.3 Using vocabularies342
18 Sites348
18.1 Introduction348
18.2 Local utilities352
18.3 Implementing sites356
19 Indexing and Searching362
19.1 Indexing and object references362
19.2 The catalog and its indices365
19.3 Querying the catalog for searching370
19.4 Database generations375
20 Browser Sessions379
20.1 Identifying clients379
20.2 Storing session data382
20.3 Using sessions385
21 Security390
21.1 Overview390
21.2 Permissions397
21.3 Roles401
22 Authentication and User Management406
22.1 The Pluggable Authentication Utility406
22.2 Login and logout with credential plug-ins408
22.3 Managing principals with authenticator plug-ins412
22.4 Principal metadata425
23 Debugging Zope432
23.1 Self-documenting code with APIDoc432
23.2 Online debugging tools436
23.3 Using the Python debugger439
24 Packaging and Deployment442
24.1 Packaging an application442
24.2 Preparing a production instance447
24.3 Virtual hosting449
24.4 Improving scalability455
Part IV Appendices459
A API Reference460
B ZCML Reference499
References545
Index553