version 1.16, 2001/06/12 09:02:26
|
version 1.17, 2001/06/15 13:43:31
|
|
|
Urgent |
|
====== |
|
| |
- Fix problem with cimserver not running properly when run without |
- Support for NULL property lists (in interface and protocol). |
options. |
|
| |
- Put cimserver back in the makefile. |
- Rename tests (prepend "Test" to each test). |
| |
- Resolve whether the backslash should be permitted int namespaces. |
- Fix bug with cimserver.exe causing it to fail to start without te |
|
"-l" option. |
| |
- Work on developer's guidlines document. |
- Resolve whether the backslash should be permitted in namespaces. |
| |
No STL (or other third party software). |
- Create CIMOMContext (interface to CIMOM used b the provider). |
Indent by three. |
|
Braces on the next line. |
|
Always run regression tests before committing and do cvs -q update. |
|
| |
- Add CIMOM handle to provider interface. |
- Define Encoding module interface. |
| |
- Fix case sensitivity problems in repository (just add an _Open method |
- Develop XMLEncodings module. |
that ignores the case of the file). |
|
| |
- Add newly implemented repository operations to protocol and to |
- Develop BinaryEncodings module. |
dispatcher. |
|
| |
- Change INVALID_CLASS exceptions to NOT_FOUND (they're wrong in |
- Develop MOFEncodings module. |
Repository). |
|
| |
- Add tracing of output HTTP messages. |
- Employ BinaryEncodings module in repository (reduce disk usage). |
| |
- Need CIMInstance::removeMethod() and CIMInstance::removeProperty(). |
- Combine repository instances, classes, and qualifiers into their |
- Add a exists namespace operation under the repository stuff. Maybe we |
respective files (to reduce the number of files). |
need more than this. |
|
| |
Topical To-Do List |
- Employ an efficient indexing scheme in repository (B-trees or hashing). |
================== |
|
| |
- Sun uses string message-ids. Pegasus uses integer. |
- Develop module manager: interface, lookup scheme, and loading scheme. |
Sun uses 2000.5.12.... format. Changed Pegasus to |
|
use string message-ids. DONE. |
|
| |
- Some clients send '\n\n' to terminate HTTP headers. |
- Package Encodings classes as a module. |
We were only accepted '\r\n\r\n'. DONE. |
|
| |
- Provide way of printing out command line options help from cimserver. |
- Finalize repository assocations. |
| |
- GetInstances() and GetClasses() need to use iterators on |
- Add association CIM/HTTP operations. |
provider and repository end. Otherwise, all classes or instance |
|
to be enumerated, must be sucked into memory. |
|
|
|
- Template bloat reduction. |
|
| |
- Use YACC on Linux. |
- Design association provider infrastructure. |
| |
- Need a tool to say which features are supported by a compiler. |
- Implement missing CIM protocol operations. |
| |
- Support unloading of dynamic libraries (presently only load() is |
- Implement good observer module interface which allows different levels: |
supported). |
|
| |
- Instances: |
- Observation of client/CIMMOM connections/disconnection. |
| |
- Implement CIMRepository::getProperty() |
- Observation of client/CIMOM communication. |
| |
- Implement CIMRepository::setProperty() |
- Observation of CIMOM/repository communication. |
| |
- Implement CIMRepository::deleteInstance() |
- Observation of CIMOM/provider communication. |
| |
- Implement CIMRepository::modifyInstance() |
- Observation of CIMOM state transitions. |
| |
- Implement CIMRepository::enumerateInstances() |
- Pegasus providers for Sun WBEM Services. |
| |
- Implement CIMRepository::enumerateInstanceNames() |
- Pegasus providers for WMI. |
| |
- Handle inheritance in all instance operations. |
- Sun WBEM Services providers for Pegasus. |
| |
- Double check that all these operations work across protocol. |
- CIM/HTTP Proxy for WMI. |
| |
- Check that they have keys during validation. |
- Web Server/Pegasus Integration (use HTTP protocol capabilities of |
|
web server rather than Pegasus). |
| |
- Associations: |
- Add CIMRepository::namespaceExists() method. |
| |
- Implement CIMRepository::referencesOf() |
- Change HTTP message id's to this format: "YYYY.MM.DD.HH.MM.SS.NNNNN". |
| |
- Implement CIMRepository::associatorsOf() |
- GetInstances() and GetClasses() need to use iterators on |
|
provider and repository end. Otherwise, all classes or instance |
|
to be enumerated, must be sucked into memory. |
| |
- Implement protocol stubs for these operations. |
- Template bloat reduction. |
| |
- Exceptions: |
- Need a tool to say which features are supported by a compiler. |
| |
- Force __FILE__ and __LINE__ argument on every usage of CIMException. |
- Support unloading of dynamic libraries (presently only load() is |
|
supported). |
| |
- Clean up and consolidate exception classes. | - Clean up and consolidate exception classes. |
| |
- Propagate underlying error messages across the CIM protocol. |
- Asynchronous socket writes in the CIMOM (need write enabled flags). |
|
|
- References: |
|
|
|
- Validate arguments to CIMReference compound constructor and modifiers. |
|
(namespaces, hosts, classnames, and keybindings) |
|
|
|
- Be sure that escape sequences are handled inside of object names. For |
|
example: |
|
|
|
X.key1="Hello \"You\"" |
|
|
|
- Protocol: |
|
|
|
- Improve protocol tracing to show messages in both directions. |
|
|
|
- The TCPChannel::writeN() method blocks when the client and server |
|
are in the same process. That is because the client cannot read |
|
anything as long as writeN() is blocked on a synchronous write. |
|
|
|
- Figure out how to handle getProperty() return type. |
|
|
|
- Provide ACE Channel implementation (for porting purposes)? |
|
| |
- Handle PARAMETER.REFARRAY in Procotol? | - Handle PARAMETER.REFARRAY in Procotol? |
| |
- Ignore extraneous XML elements (loosely valid). |
- Implemented stream oriented XML parsing. |
|
|
- Porting: |
|
|
|
- Replace "std::something" with "STD(something)" |
|
| |
- Replace "using namespace std" with "USING_NAMESPACE_PEGASUS" |
- Ignore extraneous XML elements (implement "loose validation" concept). |
|
|
- Aesthetics/Consistency/Usability: |
|
|
|
- Change getLength() and getSize() to just size(): "Brevity is the soul |
|
of genius and of Lingerie". |
|
| |
- Add methods to get objects by their names, in addition to index. For | - Add methods to get objects by their names, in addition to index. For |
example: | example: |
| |
CIMProperty CIMClass::getProperty(const String& name); | CIMProperty CIMClass::getProperty(const String& name); |
| |
- Perform walkthrough to expose consistency problems. |
|
|
|
- Distinguish between private and public classes (otherwise, users may | - Distinguish between private and public classes (otherwise, users may |
come to depend on classes with unstable interfaces). | come to depend on classes with unstable interfaces). |
| |
- Documentation: |
- Walk through all code to expose consistency/aesthetic issues. |
| |
- Suggest newlines after methods. |
- Provide ACE Channel implementation (for porting purposes)? |
|
|
- Suggest use of "/** ... */" instead of "///" |
|
| |
- Refine header file documentation. |
- Expand datatime (setCurrentTime() and comparison and increment |
|
functions). |
| |
- Write Pegasus Architecture Paper. | - Write Pegasus Architecture Paper. |
| |
- Integrate DOC++ with make system (put all docs in doc tree): |
|
|
|
- Namespaces: |
|
|
|
- Implement create and destroy namespace (according to the standard). |
|
|
|
- Providers |
|
|
|
- Add CIM-Server handles to provider interface. |
|
|
|
- Implement MOF provider registration scheme (according to the | - Implement MOF provider registration scheme (according to the |
standard). | standard). |
| |
- WBEM Query Language |
- WBEM Query Language and integration. |
|
|
- Find someone to work on standard. |
|
|
|
- Implement leve-1 parser. |
|
|
|
- MOF compiler: |
|
|
|
- Work with Bob to identify work items. |
|
| |
- Threading | - Threading |
| |
- Write thread queuing document (input and output thread queue per |
|
provider). |
|
|
|
- Implement queuing. |
|
|
|
- Make reference counted objects thread safe (Mutexing and atomic |
|
increments). |
|
|
|
- Connectors |
|
|
|
- Work out basic concepts (write paper). |
|
|
|
- Package up pegasus in Install Shield application. | - Package up pegasus in Install Shield application. |
| |
|
- Internationalization: Handle UCS2 characters in XML |
|
(parsing and writing). |
| |
- Install |
- Export of repository to MOF. |
|
|
- Need install mechanism for Unix and Windows. |
|
|
|
- Interoperability |
|
|
|
- Fix reported bugs. |
|
|
|
- Internationalization |
|
|
|
- Handle UCS2 characters in XML (parsing and writing). |
|
|
|
- Repository: |
|
|
|
- Export to MOF. |
|
|
|
- Miscellaneous |
|
| |
- Change CompareNoCase() to String::compareNoCase(). | - Change CompareNoCase() to String::compareNoCase(). |
| |
- Place configuration startup parameters in Repository (e.g., port). |
- Figure out how to handle CIM NULL values. |
|
|
- Integrate logging |
|
|
|
- Figure out how to handle CIM null values. |
|
|
|
- Generalize iteration. |
|
| |
- Figure out how inheritance of keys works. | - Figure out how inheritance of keys works. |
| |
- Investiage weak assocations. | - Investiage weak assocations. |
| |
- Provide conversions between DateTime and time_t. |
|
|
|
- Constraint hanlding |
|
|
|
- Enforce constraint qualifiers. | - Enforce constraint qualifiers. |
| |
- Disallow resetting size of fixed length arrays. | - Disallow resetting size of fixed length arrays. |
| |
- Optimization/Tuning |
|
|
|
- Shrink object sizes. | - Shrink object sizes. |
| |
- Use lighter I/O system (than C++ streams). | - Use lighter I/O system (than C++ streams). |
|
|
| |
- Optimize clear method on arrays (to not release memory). | - Optimize clear method on arrays (to not release memory). |
| |
- Porting |
- Provide conversions between DateTime and time_t. |
| |
- Port to Solaris | - Port to Solaris |
| |
- Port to HPUX |
- Support multiple providers of the extact same class. |
|
DiskController example and LanController. |
- Port to AIX |
|
|
|
- Testing |
|
|
|
- Test case insensitivity of class names and qualifier names. |
|
|
|
- Run Purify on all sources (port to Sun first). |
|
|
|
- Run CIM/XML test suite. |
|
|
|
- Server |
|
|
|
- Use Service class in cimserver |
|
|
|
- Implement Service class on Unix (daemonization from Comer book). |
|
|
|