Z Object Publishing Environment

Search | Download | Documentation | Resources | Development

Search  

 

 Guest

Join Zope.org
Log in


Developer Home
Get Involved!
The Fishbowl
Resources
Proposals
Projects


 Zope Exits

ZopeZen
Zope Newbies
Zope Labs
EuroZope
ZDP
Appwatch.com


Zope.org is sponsored by Digital Creations

PythonMethods Table of Contents Last edited on Jan 21, 2001 12:50 am

PythonMethods Proposal

Note - this document is for historical purposes only, please do not make changes to it. This proposal has evolved into the VisionStatement - please contribute to that document instead.

Problem

As Zope developers build increasingly complex applications, they find that DTML is a poor way to implement non-trivial application logic. DTML was never really intended for complex logic, but lack of an alternate way to express through-the-web editable logic has caused the "source" of many sites to become ugly and difficult to maintain as site developers push the envelope of DTML.

Proposed Solution

PythonMethods provides objects that can encapsulate more complex logic expressed in Python while retaining the through-the-web benefits that people like about DTMLMethodsx. There is already a prototype implementation of PythonMethods in fairly wide use. We propose to resolve the outstanding issues and make PythonMethods available as a standard object type in the Zope platform.

Builtin PythonMethods support will give developers "out of the box" the ability to better manage the complexity of their applications by putting significant logic into PythonMethods and leaving presentation issues to DTML. The builtin PythonMethodx objects:

  • Will allow logic to be written in a language suitable for logic (Python)

  • Will be editable via the Web (minimally) and probably by other protocols of the sort supported by DTML (FTP, WebDAVx, etc).

  • Will be tightly integrated with the Zope security machinery. Because they will be editable via the web, they will enforce security restrictions very similar to those enforced in DTML. They will not allow access to arbitrary modules or system resources.

  • Will provide synchronized distribution of logic for free when used with ZEO.

Risk Factors

  • There is an existing PythonMethods prototype that is in fairly wide use. We should assess backward compatibility issues as a part of this project.

Scope

This project will provide an implementation of PythonMethodx objects to be included in the Zope core and associated documentation.

Deliverables

This project is expected to produce:

  • A stable implementation of PythonMethodx objects to be included in a future release of Zope

  • Zope help system pages for each screen in the user interfaces of the objects in the product

  • API documentation for inclusion in the help system covering the public interfaces of PythonMethodx objects

  • Documentation suitable for inclusion as a section of the Zope Content Manager's Guide covering the use of PythonMethods

View source OriginalProposal
Advanced Actions / History
Visitor: Anonymous User
Jump to:
... by pagename prefix or search term.
For a plain search:
SearchPage
 
 
Privacy policy       Printable Page       Feedback about Zope.org
 
 

served by app1