html5-img
1 / 154

Zope for Content Managers

Zope for Content Managers. 8 th Annual International Python Conference January 24, 2000 Christopher Petrilli / Digital Creations, Inc. What is Zope?. What is Zope?.

Télécharger la présentation

Zope for Content Managers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Zope for Content Managers 8th Annual International Python Conference January 24, 2000 Christopher Petrilli / Digital Creations, Inc.

  2. What is Zope?

  3. What is Zope? • Zope is the leading Open Source application server, specializing in interactive content such as portals and content management systems. • Mature system, based on many years of work in application servers

  4. That Thing You Do • Zope specializes in two well known areas • Portals • Content Management

  5. What is That Thing You Do? • Portal • explain • Content Management • explain

  6. Advantages: Customer • Zope doesn’t just deliver pages to the customer, it provides the ability to engage in interactive, customized content. • URLs that “Mom” can understand

  7. Advantages: Content Managers • Everything is through-the-web • Choose your weapon • Content re-use, order prevails over chaos • Flexible searching

  8. Advantages: Developers • Modular architecture • Customizable searching • Rich object model • Integrated object database • Extensible security • Integration of external data

  9. Advantages: Business • Keeping control. • Your website is the heart-beat of your electronic presence. If your site isn’t in business, you aren’t in business. • Unfortunately, the most important thing in the world to your technology vendor is their business plan, not yours. • Source code, right to fix, right to modify.

  10. Advantages: Business • Price Advantage • Zope’s commercial competitors operate on a simple principal: account control. Everything is structured to make you pay a lot and pay repeatedly. • Competitive software can cost up to $1M just for the licenses, often $100K+ just to get started. Moreover, these other alternatives cash in on hidden charges, such as yearly transaction fees. • Zope is “free of charge.” Money saved on license feeds can be applied to actually getting a solution, rather than a piece of software.

  11. Core Zope Advantages • Simple: Zope isn’t delivered on 2 CDs • Separation of roles • Delegation of control • Integrated environment • True web objects • Passionate community • Customers that have customers • Scalability

  12. Simple • Manageable code base • ~88,000 lines of Python • ~45,000 lines of C • For comparison PHP4 is ~150K lines of C code • Built on core Python 1.5.2 distribution • Python has been described best as “executable pseudo-code.”

  13. Separation of Roles • Robust security expression • Differentiation between users, roles and permissions • Users may have roles only in a “local” context. This is granular to the object level.

  14. Delegation of Control • Content managers control content • Developers control logic • Administrators control server • You can structure control any way you desire

  15. Integrated Environment • Object management through-the-web • Simple interface • Provides a unified OO interface to both Zope data as well as legacy information

  16. True Web Objects • Conversion of URLs to objects • Ability to hide the low-level transport (HTTP) from the developer • Develop reusable objects which present themselves via multiple methods

  17. Passionate Community • Over 1,500 members of the mailing lists • Lists have reached saturation point in volume • For reference, 2500/month = over 80/day

  18. Scalability • > 1,000,000 hits/day on commodity hardware • Compares favorably with other application servers • Tries to play friendly with caching • Commercial solutions for high-scale situations (Zope Enterprise Option)

  19. Architecture

  20. Architecture: Python • “And now for something completely different…” • Why Python?

  21. Architecture: ZServer • Asynchronous multi-protocol server • PCGI, FastCGI • HTTP, XML-RPC (SOAP soon), WebDAV • FTP • Monitor client (Python interface) • Based on Medusa (Sam Rushing) • Similar architecture to two top performing web servers: thttpd and Zeus.

  22. Architecture: ZPublisher • Converts URLs to objects • Provides for a simple URL design: • http://www.acme.com/UK/Sales/Employeesrather than:http://www.acme.com/cgi-bin/employees.cgi?country=uk&dept=sales

  23. Architecture: Framework • Provides for web page design and scripting (Document Templates/DTML) • Core object types • Ability to extend with new classes (ZClasses) • Robust security paradigm

  24. Architecture: ZODB • In its 3rd major revision (ZODBv3) • Full transactional database with distributed commits • Provides full undo capabilities

  25. Architecture: ZSQL Methods • Provide advanced integration with relational data • Dynamic query generation (no more canned queries) • Advanced caching of results • Database independent • Integrates with all major databases

  26. Administration Overview

  27. Installing

  28. Installation Options • Binary distributions • Win32 • Linux • Source distribution • Most any other platform on which Python has been installed

  29. Windows Installation

  30. Unpacking the Software

  31. Unpacking the Software • The Windows binary for Zope is packaged using WISE • This gives a friendly installation scheme • Double-click on the .EXE file and answer questions

  32. License Review • Review/Accept the Zope Public License • ZPL = Open Source™

  33. Destination Directory • Select destination directory • Check disk free space

  34. Superuser Name/Password • Specify the initial superuser username and password • Can be changed at any time • Only referenced on process start. Any changes require a restart

  35. Security

  36. Install files • Install files • Program groups • Registry entries

  37. Web Server Selection • Built-in ZServer • Integrating with existing server • Apache • IIS • Netscape • Others

  38. Win32 Registry Artifacts • Entries in the Windows registry... • Under: MyComputer\HKEY_LOCAL_MACHINE\SOFTWARE\Digital Creations\zope\

  39. The Access Files • How do you create the first user? • The access file in the Zope directory gives username and password for “superuser” • The format is significant, and the default is SHA1 encoded.

  40. A Directory Tour • bin contains Python binary • lib contains the software • var holds the data (specifically, the Data.fs file!)

  41. Zope From Source • Setup Python sources • Run Zope build script • Consider using public CVS

  42. Adding Products • Zope is modularized into separate products • Additional products are unpacked into the lib/python/Products directory • When Zope is restarted, the new product should be available • Import problems can be debugged in the Control Panel

  43. Zope v2 and ZServer • Zope v2 makes it far easier to setup Zope • Taking process activation out of PCGI makes integrating with web servers significantly simpler • Connect simultaneously through Apache, internal web server, or FTP • Internal monitor allows login to the Python prompt inside the server

  44. Common Issues • Integrating with Apache is very hard • Directory permissions are important • Changing from built-in server to Apache takes a few steps • Incorrectly installing a product

  45. Using the Management Environment

  46. Zope Management Model • Zope is designed to be managed “through the web” • A few operations (e.g. adding products) require disk access • Content is not “strewn” around the file system

  47. Zope Management Interface • Two-paned UI like Windows Explorer • Navigator (on the left) • Workspace (on the right) • Views along top • HTML 3.2 with/some JavaScript • Available at:http://server.com/. . ./manage

  48. Roles for Managing Zope • Sneak peek to security: • Using Zope management interfaces requires that the user authenticate as a user with the Manager role • Immediately following installation there is one (1) user defined in the access file in the Zope home directory • By definition this user has all roles

  49. Zope Management Interface • Logging In • Authentication initially controlled with username and password stored in access file • access file stored in the root of Zope installation • formatsuperuser:{alg}password • Superuser has all roles!

  50. Authenticating to /manage • Accessing the /manage interfaces will challenge the user or a password using Basic Authentication • Password is in clear text • Can be used in conjunction with Secure Sockets Layer (SSL) for more security • Although you don’t type it in each time, login is transmitted on each request

More Related