version 1.23, 2001/04/26 01:34:11
|
version 1.25, 2001/04/27 00:00:59
|
|
|
| |
TO-DO List |
Topical To-Do List |
========== |
================== |
| |
- Propagate error messages back in CIM/HTTP requests (right now the |
- Instances: |
static error messages are propagated; it would be nice to have |
|
the original error string to give more information). |
|
| |
- Be sure that namespaces are limited to be CIM names (as given in |
- Implement CIMRepository::getProperty() |
Names.h). |
|
| |
- Remove jdaux.exe from CVS repository. |
- Implement CIMRepository::setProperty() |
| |
- Finalize the headers (put authors in all the modules). |
- Implement CIMRepository::deleteInstance() |
| |
- Fix the trace function so that it prints out the messages going |
- Implement CIMRepository::modifyInstance() |
both ways. |
|
|
- Implement CIMRepository::enumerateInstances() |
|
|
|
- Implement CIMRepository::enumerateInstanceNames() |
|
|
|
- Handle inheritance in all instance operations. |
|
|
|
- Double check that all these operations work across protocol. |
|
|
|
- Check that they have keys during validation. |
|
|
|
- Associations: |
|
|
|
- Implement CIMRepository::referencesOf() |
|
|
|
- Implement CIMRepository::associatorsOf() |
|
|
|
- Implement protocol stubs for these operations. |
|
|
|
- Exceptions: |
|
|
|
- Clean up and consolidate exception classes. |
|
|
|
- Propagate underlying error messages across the CIM protocol. |
|
|
|
- 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 | - The TCPChannel::writeN() method blocks when the client and server |
are in the same process. That is because the client cannot read | are in the same process. That is because the client cannot read |
|
|
| |
- Figure out how to handle getProperty() return type. | - Figure out how to handle getProperty() return type. |
| |
- Having problems with reference on Repository::createInstance() and |
- Provide ACE Channel implementation (for porting purposes)? |
Repository::getInstance(). References not always in standard form. |
|
Also, resolve() fails when instance has properties of difference |
|
case. |
|
|
|
- Super class name does not seem to be set in enumerateClasses |
|
operation. |
|
|
|
------------------------------------------------------------------------ |
|
|
|
- Remove "std::" qualifiers and use a macro and use #define for |
|
PEGASUS_NAMESPACE_STD. |
|
|
|
- Change getLength() to length() or size()? |
|
|
|
- Change find<Object> to find<Object>ByIndex(). |
|
|
|
- Need get by name. |
|
|
|
Now: |
|
|
|
- Add convenience functions: addProperty(). |
|
- Change CimException to CIMException |
|
- Get ACE working on Tandem (or remove ACE from Pegasus). |
|
- Port Pegasus to Tandem (look for Tandem machine at BMC). |
|
- Instance repository. |
|
- Delete namespace. |
|
- Finalize provider interface. |
|
- Associations (basic). |
|
- Provider registration (by the standard). |
|
- MOF compiler (finalize). |
|
- Write short paper on Pegasus data objects. |
|
- Integrate DOC++ with make system. |
|
- Compaq requested SQL level-1 description. |
|
- Get rid of ACE (required if no ACE on Tandem). |
|
- Need query capability for Compaq. |
|
- Threading (and process forking). |
|
- Implement protocol module (the default uses ACE). |
|
- Package up pegasus in Install Shield application. |
|
| |
|
- Handle PARAMETER.REFARRAY in Procotol? |
| |
------------------------------------------------------------------------ |
- Ignore extraneous XML elements (loosely valid). |
| |
(A) Install shield install of Pegasus. |
- Porting: |
| |
(A) Handle escaping of strings inside object names. Example: |
- Replace "std::something" with "STD(something)" |
| |
X.key1="Hello \"You\"" |
- Replace "using namespace std" with "USING_NAMESPACE_PEGASUS" |
|
|
|
- Aesthetics/Consistency/Usability: |
| |
(A) Notice that there is a bug where you select Scope::REFERENCE and |
- Change getLength() and getSize() to just size(): "Brevity is the soul |
and the validation routines still say the scope is wrong for |
of genius and of Lingerie". |
qualifiers applied actual references (they are checking for |
|
property instead). |
|
| |
(A) There is an odering problem when applying the qualifiers with |
- Add methods to get objects by their names, in addition to index. For |
association scope to classes. If the association qualifier does not |
example: |
come first, then application of prior qualifiers fail. |
|
Checking this should be moved to class resolution. |
|
| |
------------------------------------------------------------------------ |
CIMProperty CIMClass::getProperty(const String& name); |
| |
(B) Hide setPropagated() and setClassOrigin() methods (only the resolve |
- Perform walkthrough to expose consistency problems. |
method should touch these). |
|
| |
(B) Change make system to rename dll's before link so that they |
- Distinguish between private and public classes (otherwise, users may |
can be used by the server. |
come to depend on classes with unstable interfaces). |
| |
(B) Finish other CIM/HTTP protocol operations. |
- Documentation: |
| |
(B) Use the description that comes back with an error code in the XML |
- Suggest newlines after methods. |
protocol. Perhaps it should become an extra message field of |
|
XmlException. |
|
| |
(B) Source documentation. |
- Suggest use of "/** ... */" instead of "///" |
|
|
|
- Refine header file documentation. |
|
|
|
- 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 standard). |
|
|
|
- WBEM Query Language |
|
|
|
- Find someone to work on standard. |
|
|
|
- Implement leve-1 parser. |
|
|
|
- MOF compiler: |
|
|
|
- Work with Bob to identify work items. |
|
|
|
- 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. |
| |
(B) Put README in each directory. |
|
| |
(B) Handle UCS2 characters in XML (parsing and writing). |
- Install |
| |
(B) Check for overflow on the number of attributes in XML. |
- Need install mechanism for Unix and Windows. |
| |
(B) Handle PARAMETER.REFARRAY in XML. |
- Interoperability |
| |
(B) Add validNamespace() method and use it. |
- Fix reported bugs. |
| |
------------------------------------------------------------------------ |
- Internationalization |
| |
(C) Suppress error message printed by ACE caused by constructing an |
- Handle UCS2 characters in XML (parsing and writing). |
address from a non existent host. |
|
| |
(C) Ignore extraneous XML elements (loosely valid). |
- Repository: |
| |
(C) Get rid of fullyQualified flag. |
- Export to MOF. |
| |
(C) Handling of hexadecimal integer values. |
- Miscellaneous |
| |
(C) VALUE.REFERENCE within INSTANCENAME and KEYBINDING. |
- Figure out how to handle CIM null values. |
| |
(C) Resolve whether MOF is a requirement. |
- Generalize iteration. |
| |
(C) Handle case sensitivity of CIM identifiers. |
- Figure out how inheritance of keys works. |
| |
(C) Figure out how to handle CIM null values. |
- Investiage weak assocations. |
| |
(C) Make iteration scheme more general. |
- Provide conversions between DateTime and time_t. |
| |
(C) Develop XML repository importation mechanism. |
- Constraint hanlding |
| |
(C) Move internal headers to ./internal directory |
- Enforce constraint qualifiers. |
| |
(C) Split up XxxRep objects from Xxx objects. |
- Disallow resetting size of fixed length arrays. |
| |
(C) Handle case insentive requirement on repository file names. |
- Optimization/Tuning |
| |
(C) Devise a way to detect whether a class has instances. |
- Shrink object sizes. |
| |
(C) Cleanup of execeptions. |
- Use lighter I/O system (than C++ streams). |
| |
(C) Verify that fixed length arrays are properly handled. |
- Run Purify on all sources (port to Sun first). |
| |
(C) Check for null string pointers in String class. |
- Optimize clear method on arrays (to not release memory). |
| |
(C) Verify that instances are property keyed (during validation). |
- Porting |
| |
(C) Thread safety. |
- Port to Solaris |
| |
(C) Use UTF8 for strings. |
- Port to HPUX |
| |
(C) Shrink object sizes. |
- Port to AIX |
| |
(C) Use lighter I/O system (get rid of C++ streams). |
- Testing |
| |
(C) Provide conversion between DateTime and time_t. |
- Run Purify on all sources (port to Sun first). |
| |
(C) Purify source. |
- Run CIM/XML test suite. |
| |
(C) Improve the representation of fixed arrays (is that pesky fixed-array |
- Server |
flag really necessary?) |
|
| |
(C) Modify clear() methods on Array and String so that they don't |
- Use Service class in cimserver |
release the old resource (more efficient for GetLine()). Add |
|
a resize() method. |
|
| |
|
- Implement Service class on Unix (daemonization from Comer book). |