Open Issues/To-Do Items |
Open Issues/To-Do Items |
|
|
Targeted for 0.5 Alpha 1 |
Targeted for 0.5 Alpha 3 |
|
|
* "Assembly Events" - have a way for root components to notify subcomponents that |
* Refactor binding and naming frameworks to |
they are connected to a root. This is important for things like periodic tasks, |
|
GUI components, etc., that need to perform actions as soon as they are part of |
|
a valid "whole". |
|
|
|
* ZConfig Integration |
- make indirection convenient (e.g. bind to looking up something from |
|
another binding) |
|
|
- A 'config.ZConfigurable' mixin class that gives you a 'fromZConfig()' |
- eliminate remaining introspection/'isinstance()' checks |
constructor for your object classes, suitable for designating as a |
|
section datatype in schemas |
|
|
|
- A 'config.ZConfig' module that provides "PEAK-aware" versions of ZConfig |
|
services (e.g. it will use 'peak.naming' to resolve URLs) |
|
|
|
- ZConfig 1.0 will be distributed with the release, and installed if |
* peak.binding |
Zope X3 isn't on 'sys.path' at install time. |
|
|
|
- Support for 'urllib2' protocols will be added to 'peak.naming' so that |
- Cleanup/document attribute binding interface |
it can be used as the basis for the ZConfig services. |
|
|
|
- App startup tools based on ZConfig files. |
- Attribute -> AttribDef |
|
|
|
- binding.AttribDef has an adequate docstring |
|
|
|
- Review all current usage of NameNotFound in binding and naming |
|
packages. If possible, push default values closer to the point of |
|
retrieval. (The idea is to minimize the possibility that an unrelated |
|
NameNotFound error gets hidden by a routine catching NameNotFound |
|
in order to return a default value.) |
|
|
|
- Ensure default __repr__'s for all bindings are acceptable |
|
|
|
- Update tutorial for current kwargs |
|
|
|
|
|
|
|
|
|
|
|
|
Targeted for 0.5 Alpha 2 |
* peak.web (some of this may get bumped to alpha 4) |
|
|
* Fix issue w/reading XMI 1.1 files where metamodel has nested packages |
- default error templates, w/useful info |
|
|
* Generate UML 1.4 and 1.5 and CWM 1.0 and 1.1, and add them to the |
- Refactor skin/layer/resource machinery so that layers can be shared |
'setup.py' package lists. |
between skins (because i18n will probably want skins and that's going |
|
to greatly multiply memory requirements) |
* Get XMI writing in place, w/transaction support |
|
|
|
* Generate ZConfig schemas from 'peak.model' or MOF models? |
|
|
|
* 'peak.running' refactorings: use standard 'logging' module's log levels, |
|
add 'logging' distro to 'peak.util' for 2.2 backward compatibility, |
|
make daemons based on 'peak.model' (or at least define ZConfig schemas), |
|
and possibly adjust cluster stuff to work off ZConfig primary and |
|
generate clustertools file(s). |
|
|
|
* 'peak.naming' refactorings: 'peak.model'-based syntax utilities for |
- clean up DOMlet parse/build framework (e.g. add line number info) |
creating address syntaxes. |
|
|
|
|
- A set of simple, basic form controls that handle value rendering only |
|
(form metadata, validation, etc. will be handled by peak.web.forms in |
|
a later release) |
|
|
|
- try/catch DOMlet (and related error rendering interface/framework) |
|
|
|
|
|
|
|
|
|
|
|
|
Targeted for 0.5 Beta 1 |
|
|
|
* Document interface expected of "active descriptors" and their complements |
|
(e.g. __class_provides__), refactoring for cleanliness as needed. |
|
|
|
* Updated reference docstrings for 'peak.api', 'peak.binding', |
|
'peak.config', 'peak.exceptions', and 'peak.naming'. |
|
|
|
* Finish tutorial chapter 2 (?) |
|
|
|
* On-the-fly class combination (think "runtime module inheritance", |
|
without the modules) for DMs. |
|
|
|
|
|
|
Targeted for 0.5 Alpha 4 |
|
|
|
* Transaction/storage refactorings |
|
|
|
- transaction scopes for commands and tasks |
|
|
|
- integrate locks with transactions |
|
|
|
- transactable persistent queues |
|
|
|
- DM.find()/DM.get() queries |
|
|
|
|
|
* peak.web |
|
|
|
- allow use of // in DOMlets' data paths, to access resource space |
|
|
|
- DOMlets for layout/region, as defined in "A layout framework":http://www.eby-sarna.com/pipermail/transwarp/2003-August/000684.html |
|
|
|
- conditional GET support (last modified/ETag) for static resources |
|
|
|
- image resources |
|
|
|
- the return of the Specialist |
|
|
|
|
|
* Have a way to easily in-line custom component usage (e.g. automatically |
|
create a subclass component with specified 'bindTo' bindings to get its |
|
configuration). |
|
|
|
* Implement "contextual protocols" (c.f. "object teams") and "parameterized |
|
protocols" (E.g. 'ListOf(IFoo)', 'MappingOf(keys=IBar,values=IBaz)') |
|
|
|
|
|
|
|
|
|
|
|
|
|
Targeted for 0.5 Beta 1 |
|
|
|
* Up-to-date reference docstrings for all packages |
|
|
|
* Finish tutorial chapter 2 (?) |
|
|
|
* Web publishing framework sufficient to deploy page-based or object- |
|
published apps |
|
|
|
|
|
|
Targeted for 0.5 Final Release (or sooner) |
Targeted for 0.5 Final Release (or sooner) |
|
|
General |
|
|
|
* Tutorial complete through chapter 4 |
|
|
|
peak.storage |
peak.storage |
|
|
- unit tests for more complex object scenarios: references, thunks..? |
- unit tests for more complex object scenarios: references, thunks..? |
|
|
- lock management interfaces/API |
|
|
|
- docstrings for reference |
|
|
|
peak.model |
|
|
|
- clean up TW docstrings & interfaces |
|
|
|
peak.naming |
peak.naming |
|
|
- useful example "flat" naming context (e.g. like AppUtils.URLkeys) |
- useful example "flat" naming context (e.g. like AppUtils.URLkeys) |
|
|
- useful example hierarchical naming context (e.g. like JNDI's LDAP |
- useful example hierarchical naming context (e.g. like JNDI's LDAP |
context or filesystem context) |
context or a filesystem context) |
|
|
- rework smtp: to return a factory object that supports open(). |
- rework smtp: to return a factory object that supports open(). |
Also think about whether smtp should move elsewhere. Maybe |
Also think about whether smtp should move to peak.net? |
there should be peak.network or peak.internet for things like |
|
smtp, ftp, etc contexts? |
|
|
|
peak.running |
|
|
|
- make 'cluster' parser complain about things that would cause |
|
the clusterit tools to choke or barf on the file, or which would |
|
produce ambiguous or unintended results. |
|
|
|
- simple daemons comparable to those in MetaDaemon, unit tests |
|
|
|
- docstrings for reference |
|
|
|
|
|
peak.config |
|
|
|
- "Rule"-oriented configuration files (section specifies component |
|
rather than property name prefix), so that daemons and other simple |
|
apps can be fully configured and run via a config file. |
|
|
|
peak.util |
|
|
|
- docstrings for reference |
|
|
|
- more unit tests? |
|
|
|
|
Targeted for version 0.6 |
|
|
|
* Get XMI writing in place, w/transaction support |
|
|
|
* Generate UML 1.5 and CWM 1.0 and 1.1, and add them to the |
|
'setup.py' package lists. |
|
|
|
* On-the-fly class combination (think "runtime module inheritance", |
|
but possibly without the modules) for DMs. |
|
|
|
* Lock management interfaces/API for peak.storage |
|
|
|
* Make 'cluster' parser complain about things that would cause |
|
the clusterit tools to choke or barf on the file, or which would |
|
produce ambiguous or unintended results. (Or replace with ZConfig |
|
schema that can generate clusterit files. And/or replace clusterit |
|
tools with PEAK ones.) |
|
|
|
|
|
|
Messaging/ObjectSpaces |
Messaging/ObjectSpaces |
|
|
* Support for sending and receiving remote cache invalidation |
* Support for sending and receiving remote cache invalidation |
messages between RecordManagers. |
messages between DataManagers. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|