You are not logged in Log in Join
You are here: Home » Members » Coventry » Original Project Proposal for PSCI » View Document

Log in
Name

Password

 

Original Project Proposal for PSCI

Contacts

Coventry - Originator of the proposal. [email protected]

No other members have yet to join this project

Problem

During the course of development on Zope, many users/developers have encountered small problems or bugs, made small changes to the Zope Core, or made feature suggestions. Traditionally, these changes are submitted to the Collector and/or made available as downloads on the Zope site. Many of these changes are useful additions to Zope, but due to their author's lack of CVS access and/or time, may never make it into the Zope Core, and are thus lost to the community.

Proposed Solution

I suggest that we create a loose team of Integrators. These team members would contribute to this project by investigating, verifying, and integrating any small changes or features that we find or are submitted to the project and/or the collector. This process of merging a patch/change into the Zope Core is explained in more detail here:

Investigation:

The proposed change, bug fix or patch is examined. The license (if one exists) is checked for compatibility with the ZPL, or the author is contacted to determine their license preference. The item is passed off to other projects if its scope is within another project (A Squishdot feature would be forwarded to the Squishdot owner, etc). If the item does not fall within the scope of a particular project and is Useful, and is not overtly large then it is passed onto the Verification stage.

Verification:

The change is implemented in a test environment and is verified to Work, along with verifying that it does not hinder, delete or break functionality in other aspects of Zope. Either before or after this testing, or in parallel, the project team will discuss the proposed change. During these discussions it will be determined if the change is worthwhile to introduce to the Zope Core. If the change is not rejected unanimously then it is submitted to the Zope-dev mailing list. Feedback from the list will be used to determine if Integration should proceed. During discussion within the Project group, and on the mailing list, representatives from DC would have input and be able to override spurious changes except in cases of overwhelming contradictory opinions from the rest of the community.

Integration:

The change is submitted to CVS for inclusion in the Zope Core. Documentation about the change is made public, and any/all documentation (help-files, etc) affected by the change are updated.

Risk Factors

The primary risk factor from this project is that unneeded features and code would cause bloat and turn the Zope Core into a mass of spaghetti code. It is my intention that the Investigation and Verification mechanisms be used to prevent this by allowing Project Team to use common sense, and the community at large to voice their opinions and objections/approvals.

Another Risk Factor is documentation. If features are ever added and not properly documented, then they may as well of not been added. Thus we have the documentation update as a part of the Integration mechanism.

Yet another Risk Factor is scope collision - a feature submitted to our Team may come under the Scope of another project. This is handled in the Investigation phase.

And Lastly, we have developer interest. If Developers are not willing to participate in this project, then it will not succeed in its goals. Hopefully, the bite-sized-chunk nature of the work will encourage developers within the community to contribute whenever possible.

Scope

This project is intended to merge only small changes into the Zope Core. Thus, any full Products or Add-ons of a significant size (patch or new code consisting of over 250 lines) must not be considered. Also, it is not the intent of this Project to maintain and/or change or contribute to existing stand-alone projects other then the Zope Core itself: Thus we must avoid, and hand-off to the appropriate Teams, any changes which fall under the umbrella of specific projects.

Deliverables

This project will produce a stream of many small changes to the Zope Core Documentation describing these changes, and updates to help-files will also be produced.