Open Issues/To-Do Items |
Open Issues/To-Do Items |
|
|
Targeted for 0.5 Final Release |
Targeted for 0.5 Alpha 3 |
|
|
General |
* Refactor binding and naming frameworks to |
|
|
* Update tutorial documentation |
- get rid of cruft (such as JNDI 'attrs' hangover) and duplication |
|
|
* Up-to-date and complete Persistence package |
- streamline descriptor mechanisms used by binding and model to make them |
|
uniform and cleanly functional (in both senses of the word functional) |
|
|
peak.binding |
- clean up attribute metadata framework and get rid of all the special |
|
cases (e.g. isinstance() checks, special attribute names, etc.) |
|
|
- add binding.Acquire |
- make indirection convenient (e.g. bind to looking up something from |
|
another binding) |
|
|
- docstrings for reference |
* Implement "contextual protocols" (c.f. "object teams") and "parameterized |
|
protocols" (E.g. 'ListOf(IFoo)', 'MappingOf(keys=IBar,values=IBaz)') |
|
|
- move out 'imports' module (to util? naming?) |
* Rough-out web publishing framework |
|
|
peak.config |
- Publication interfaces |
|
|
- Config files: |
- Viewer/Controller adaptation mechanisms |
|
|
- add "Include Files" section (?=filename) |
|
|
|
- add "Utility Providers" section (interface=provider) |
Targeted for 0.5 Beta 1 |
|
|
- delay eval() until rule is accessed |
* Up-to-date reference docstrings for all packages |
|
|
- Change GlobalConfig to load environ and peak.ini directly, |
* Finish tutorial chapter 2 (?) |
rather than as load-on-demand rules |
|
|
|
- docstrings for reference |
* Web publishing framework sufficient to deploy page-based or object- |
|
published apps |
|
|
peak.model |
|
|
|
- make Element Persistent; add support for lazy-loaded attributes |
|
|
|
- review XMI/Querying extensions for forward compatibility planning |
|
|
|
- clean up TW docstrings & interfaces |
|
|
|
peak.naming |
|
|
|
- move LDAP URL support to peak.storage.ldap |
|
|
|
- move lockfile URL support to peak.running.lockfiles |
|
|
|
- move factories.__init__ stuff to peak.naming.spi, loaded via peak.ini |
|
|
|
- move reference classes to peak.naming.names |
|
|
|
- ParsedURL refactoring (fromArgs, automatic re.compile, body parsing) |
|
|
|
- docstrings for reference |
|
|
|
peak.running |
|
|
|
- create a basic LogFile logging provider |
|
|
|
- unit tests for daemons? |
Targeted for 0.5 Final Release (or sooner) |
|
|
- simple daemons comparable to those in MetaDaemon? |
|
|
|
- docstrings for reference |
|
|
|
peak.storage |
peak.storage |
|
|
- URLs and drivers for LDAP, gadfly, Sybase, and postgres |
|
|
|
- "alternate key" rack base class(es) |
|
|
|
- "query" rack base class(es) |
|
|
|
- add logging to transaction error handlers |
|
|
|
- unit tests for more complex object scenarios: references, thunks..? |
- unit tests for more complex object scenarios: references, thunks..? |
|
|
- docstrings for reference |
peak.naming |
|
|
|
|
|
|
|
|
peak.util |
|
|
|
- docstrings for reference |
|
|
|
- more unit tests? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- useful example "flat" naming context (e.g. like AppUtils.URLkeys) |
|
|
|
- useful example hierarchical naming context (e.g. like JNDI's LDAP |
|
context or a filesystem context) |
|
|
|
- rework smtp: to return a factory object that supports open(). |
|
Also think about whether smtp should move elsewhere. Maybe |
|
there should be peak.network or peak.internet for things like |
|
smtp, ftp, etc contexts? |
|
|
|
- add in Ty's cool "n2" (Namespace Navigator) shell for working with |
|
naming providers. |
|
|
|
|
|
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.) |
|
|
|
|
Future Releases |
Future Releases |
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. |
|
|
|
|
|
|
|
|
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) |
|
|
|
|
|