Open Issues/To-Do Items |
Open Issues/To-Do Items |
|
|
Targeted for 0.5 Alpha 1 |
Targeted for 0.5 Alpha 3 |
|
|
|
* peak.events migration |
|
|
|
- 'running.IProcessProxy' should use conditions/values instead of |
|
listeners, and drop 'checkStatus()' method |
|
|
|
- 'running.IMainLoop' should have a value for 'lastActivity', and combine |
|
'setExitCode' and 'childForked' as 'exitWith()'. |
|
|
|
- 'ISignalManager' should offer events and ability to check signal name |
|
|
|
- Implement basic 'events.ISelector' |
|
|
|
- 'UntwistedReactor' should use an 'events.ISelector' to implement |
|
I/O functions |
|
|
|
- Add 'events.twisted_support', with 'TwistedScheduler', |
|
'TwistedSelector', and 'DeferredAsTaskSwitch' |
|
|
|
* peak.naming |
|
|
|
- 'ILoadingService', 'IObjectLoader' and 'load:kind@URL' scheme |
|
|
|
* peak.config |
|
|
|
- plugin keys ordered by definition sequence, rather than randomly |
|
|
|
- ZConfig factory support to allow "smart" interpretation of strings, |
|
section names, etc. |
|
|
|
* peak.running.logs |
|
|
|
- Separate formatters from publishers |
|
|
|
- ZConfig schema for logging plugins, allowing multiple handlers/category |
|
|
|
|
|
|
|
* peak.binding |
|
|
|
- Cleanup/document attribute binding interface |
|
|
|
* peak.running.timers |
|
|
|
- Factor out state into separate object so timers aren't shared state |
|
|
|
- Look at possible integration of peak.query and cursor formatters, in |
|
order to view stats as an in-memory mini-DB w/reporting. |
|
|
|
* peak.web (some of this may get bumped to alpha 4) |
|
|
|
- clean up DOMlet parse/build framework (e.g. add line number info) |
|
|
|
- default error templates, w/useful info |
|
|
|
- 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) |
|
|
|
* Misc. |
|
|
|
- 'csv' output format for cursor dumps |
|
|
* Review possible cross-locational or "root" things like |
|
'PropertyName' -- should these things move to the API? |
|
Or where? They're not 'util' things, certainly. Perhaps |
|
there should be a 'peak.core' module or package for things |
|
that are foundational to all the packages? |
|
|
|
* Updated reference docstrings for 'peak.api', 'peak.binding', |
|
'peak.config', 'peak.exceptions', and 'peak.naming'. |
|
|
|
* Additional content for the tutorial's chapter on binding |
|
|
|
Targeted for 0.5 Final Release (or sooner) |
|
|
|
General |
|
|
|
* Update tutorial documentation |
|
|
|
* Up-to-date and complete Persistence package |
|
|
|
peak.storage |
|
|
|
- SQL cursor(joinTxn=flag) shortcut for .joinTxn() |
|
|
|
- SQL cursor error logging, close conn on error, and rewrap errors |
|
w/SQL in error object |
|
|
|
- SQL field type conversion |
|
|
|
- LDAP field type conversion |
|
|
|
- Rack -> DM |
|
|
|
- "facade" DM base class(es) |
|
|
|
- "query" DM base class(es) |
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.running.commands |
|
|
|
- Add option parsing framework based on optparse (backported to 2.2) |
|
|
|
* peak.config |
|
|
|
- Writable and subscribable config sources, including editable .ini's |
|
|
|
* 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 'Obtain' or 'Make' bindings to |
|
get its configuration). |
|
|
|
* Drop 'persistence' package, since ZODB 4 has been derailed. Change to |
|
"state-delegation" model, which will integrate better with 'peak.query'. |
|
|
|
|
|
|
|
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) |
|
|
|
peak.storage |
|
|
- unit tests for more complex object scenarios: references, thunks..? |
- unit tests for more complex object scenarios: references, thunks..? |
|
|
- docstrings for reference |
peak.naming |
|
|
- URL+driver for postgres |
- useful example "flat" naming context (e.g. like AppUtils.URLkeys) |
|
|
peak.model |
- useful example hierarchical naming context (e.g. like JNDI's LDAP |
|
context or a filesystem context) |
|
|
- add support for lazy-loaded attributes |
- rework smtp: to return a factory object that supports open(). |
|
Also think about whether smtp should move to peak.net? |
|
|
- clean up TW docstrings & interfaces |
|
|
|
peak.running |
|
|
|
- more docs for new 'cluster' tools |
|
|
|
- make 'cluster' parser complain about things that would cause |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
the clusterit tools to choke or barf on the file, or which would |
produce ambiguous or unintended results. |
produce ambiguous or unintended results. (Or replace with ZConfig |
|
schema that can generate clusterit files. And/or replace clusterit |
|
tools with PEAK ones.) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- create a basic LogFile logging provider w/URL comparable to AppUtils |
|
|
|
- simple daemons comparable to those in MetaDaemon |
|
|
|
- unit tests for daemons |
|
|
|
- docstrings for reference |
|
|
|
peak.config |
|
|
|
- "Rule"-oriented configuration files (section specifies component |
|
rather than property name prefix). |
|
|
|
peak.util |
|
|
|
- docstrings for reference |
|
|
|
- more unit tests? |
|
|
|
|
|
|
|
relevant as written, they are being kept on this list as placeholders for |
relevant as written, they are being kept on this list as placeholders for |
ideas or problem areas that may need to be re-considered in future.) |
ideas or problem areas that may need to be re-considered in future.) |
|
|
|
Miscellaneous |
|
|
|
* Functional tests that access "real" databases, LDAP, etc. |
|
|
Simulator/Module Inheritance |
Simulator/Module Inheritance |
|
|
|
* Allow 'declareModule()' to bootstrap non-existent modules; this might |
|
let us create "virtual packages" made by assembling other packages and |
|
modules. |
|
|
* Need a strategy for handling "del" operations; they are currently |
* Need a strategy for handling "del" operations; they are currently |
untrapped. This might be okay under most circumstances, but need to |
untrapped. This might be okay under most circumstances, but need to |
consider edge cases. |
consider edge cases. |
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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
peak.model |
peak.model |
|
|
* Review other-end-notification protocols in the light of managed storage |
|
models (e.g. database Records using virtual sequence objects as fields) |
|
|
|
* Marshalling interface in Services; implementations for Enumeration, etc. |
|
|
|
* More S-E-F metadata: features, subclasses, svc.<->class, nested services |
|
|
|
* A way to generate Z3 Interfaces from Feature-based specifications? |
|
|
|
* Implement WarpCORE-oriented structural model, w/Querying support |
* Implement WarpCORE-oriented structural model, w/Querying support |
|
|
* "Indexed" version of in-memory model? |
* "Indexed" version of in-memory model? |
|
|
* "Persistent" StructuralModel (indexes w/BTrees? Catalog?) |
|
|
|
|
|
Queries |
Queries |
|
|
|
|
|
|
|
|
peak.metamodels.uml |
|
|
|
* Need to write an MMX or XMI -> Python generator, and hook it back up into |
|
the UML package, since we're right now relying on a module generated |
|
by code that depends on stuff which is going away. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
peak.metamodels.uml |
|
|
* Helper methods in Elements & Services for marshalling, common queries, etc. |
* Helper methods in Elements & Services for marshalling, common queries, etc. |
|
|
- What determines whether an implemented Service actually stores objects |
- What determines whether an implemented Service actually stores objects |
or delegates this to its subclass services? |
or delegates this to its subclass services? |
|
|
* Simple Zope product demo (upload XMI, then browse the model via the web) |
* Simple demo (browse XMI model via the web) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
peak.metamodels.xmi |
|
|
|
* Re-org to self-contain all XMI stuff inside an _XMI sub-component/service |
|
|
|
* Refactoring to pure S-E-F model using Persistence |
|
|
|
* Document version of standard used |
|
|
|
* Metamodel identity/version checking |
|
|
|
* XMI.Writing |
|
|
|
* Strict parsing and/or diagnostics on files that don't match the metamodel? |
|
|
|
* UUID/GUID support |
|
|
|
* Support for advanced references, external references? |
|
|
|
* XML Namespaces (do any current XMI tools need this? Which spec version |
|
requires this?) |
|
|
|
* DOM StructuralModel (so files can be edited without affecting vendor XMI |
|
extensions) |
|
|
|
|
|