(file) Return to todo.txt CVS log (file) (dir) Up to [Pegasus] / pegasus / doc / Attic

Diff for /pegasus/doc/Attic/todo.txt between version 1.11 and 1.25

version 1.11, 2001/05/30 21:50:24 version 1.25, 2001/07/06 04:27:20
Line 1 
Line 1 
 Urgent  
 ======  
  
     -   Add CIMOM handle to provider interface.      -   Revisit use of namespace v.s. objectName in all CIM operations.
  
     -   Fix case sensitivity problems in repository (just add an _Open method      -   What do we do when getInstance() is called and the nameSpace is
         that ignores the case of the file).          provided both as an argument and as part of the instance name?
  
     -   Add newly implemented repository operations to protocol and to      -   ReferenceNames should return classes not just instances?
         dispatcher.  
  
     -   Change INVALID_CLASS exceptions to NOT_FOUND (they're wrong in      -   Remove final const from const methods in non-const CIM element classes.
         Repository).  
  
     -   Add tracing of output HTTP messages.      -   Null vs. empty CIM/HTTP parameters.
  
     -   Need CIMInstance::removeMethod() and CIMInstance::removeProperty().      -   Resolve constness problems. (get rid or Const classes?)
  
 Topical To-Do List      -   Change CIMReference to CIMObjectPath?
 ==================  
  
     -   Template bloat reduction.      -   Finish associations.
  
     -   Use YACC on Linux.      -   Provide CIMOM Context.
  
     -   Need a tool to say which features are supported by a compiler.      -   Complete conventions document.
  
     -   Support unloading of dynamic libraries (presently only load() is      -   The CIMServer.exe program should probably create the logs directory
         supported).          under PEGASUS_HOME.
  
 -   Instances:      -   Clean up exceptions.
  
     -   Implement CIMRepository::getProperty()      -   Resolve redundancy in which the namespace is passed to certain methods
           (getClass) and the CIMReference itself may contain a namespace arguent.
  
     -   Implement CIMRepository::setProperty()      -   Implement consistency and constraint checking on classes and instances.
  
     -   Implement CIMRepository::deleteInstance()      -   Implement filtering (using includeQualifiers, localOnly, etc.)
  
     -   Implement CIMRepository::modifyInstance()      -   Consider eliminating const CIM element classes.
  
     -   Implement CIMRepository::enumerateInstances()      -   Support for NULL property lists (in interface and protocol).
  
     -   Implement CIMRepository::enumerateInstanceNames()      -   Rename tests (prepend "Test" to each test).
  
     -   Handle inheritance in all instance operations.      -   Fix bug with cimserver.exe causing it to fail to start without te
           "-l" option.
  
     -   Double check that all these operations work across protocol.      -   Resolve whether the backslash should be permitted in namespaces.
  
     -   Check that they have keys during validation.      -   Create CIMOMContext (interface to CIMOM used b the provider).
  
 -   Associations:      -   Define Encoding module interface.
  
     -   Implement CIMRepository::referencesOf()      -   Develop XMLEncodings module.
  
     -   Implement CIMRepository::associatorsOf()      -   Develop BinaryEncodings module.
  
     -   Implement protocol stubs for these operations.      -   Develop MOFEncodings module.
  
 -   Exceptions:      -   Employ BinaryEncodings module in repository (reduce disk usage).
  
     -   Force __FILE__ and __LINE__ argument on every usage of CIMException.      -   Combine repository instances, classes, and qualifiers  into their
           respective files (to reduce the number of files).
  
     -   Clean up and consolidate exception classes.      -   Employ an efficient indexing scheme in repository (B-trees or hashing).
  
     -   Propagate underlying error messages across the CIM protocol.      -   Develop module manager: interface, lookup scheme, and loading scheme.
  
 -   References:      -   Package Encodings classes as a module.
  
     -   Validate arguments to CIMReference compound constructor and modifiers.      -   Finalize repository assocations.
         (namespaces, hosts, classnames, and keybindings)  
  
     -   Be sure that escape sequences are handled inside of object names. For      -   Add association CIM/HTTP operations.
         example:  
  
             X.key1="Hello \"You\""      -   Design association provider infrastructure.
  
 -   Protocol:      -   Implement missing CIM protocol operations.
  
     -   Improve protocol tracing to show messages in both directions.      -   Implement good observer module interface which allows different levels:
  
     -   The TCPChannel::writeN() method blocks when the client and server          -   Observation of client/CIMMOM connections/disconnection.
         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.          -   Observation of client/CIMOM communication.
  
     -   Provide ACE Channel implementation (for porting purposes)?          -   Observation of CIMOM/repository communication.
  
     -   Handle PARAMETER.REFARRAY in Procotol?          -   Observation of CIMOM/provider communication.
  
     -   Ignore extraneous XML elements (loosely valid).          -   Observation of CIMOM state transitions.
  
 -   Porting:      -   Pegasus providers for Sun WBEM Services.
  
     -   Replace "std::something" with "STD(something)"      -   Pegasus providers for WMI.
  
     -   Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"      -   Sun WBEM Services providers for Pegasus.
  
 -   Aesthetics/Consistency/Usability:      -   CIM/HTTP Proxy for WMI.
  
     -   Change getLength() and getSize() to just size(): "Brevity is the soul      -   Web Server/Pegasus Integration (use HTTP protocol capabilities of
         of genius and of Lingerie".          web server rather than Pegasus).
  
     -   Add methods to get objects by their names, in addition to index. For      -   Add CIMRepository::namespaceExists() method.
         example:  
  
             CIMProperty CIMClass::getProperty(const String& name);      -   Change HTTP message id's to this format: "YYYY.MM.DD.HH.MM.SS.NNNNN".
  
     -   Perform walkthrough to expose consistency problems.      -   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.
  
     -   Distinguish between private and public classes (otherwise, users may      -   Template bloat reduction.
         come to depend on classes with unstable interfaces).  
  
 -   Documentation:      -   Need a tool to say which features are supported by a compiler.
  
     -   Suggest newlines after methods.      -   Support unloading of dynamic libraries (presently only load() is
           supported).
  
     -   Suggest use of "/** ... */" instead of "///"      -   Clean up and consolidate exception classes.
  
     -   Refine header file documentation.      -   Asynchronous socket writes in the CIMOM (need write enabled flags).
  
     -   Write Pegasus Architecture Paper.      -   Handle PARAMETER.REFARRAY in Procotol?
  
     -   Integrate DOC++ with make system (put all docs in doc tree):      -   Implemented stream oriented XML parsing.
  
 -   Namespaces:      -   Ignore extraneous XML elements (implement "loose validation" concept).
  
     -   Implement create and destroy namespace (according to the standard).      -   Add methods to get objects by their names, in addition to index. For
           example:
  
 -   Providers              CIMProperty CIMClass::getProperty(const String& name);
  
     -   Add CIM-Server handles to provider interface.      -   Distinguish between private and public classes (otherwise, users may
           come to depend on classes with unstable interfaces).
  
     -   Implement MOF provider registration scheme (according to the standard).      -   Walk through all code to expose consistency/aesthetic issues.
  
 -   WBEM Query Language      -   Provide ACE Channel implementation (for porting purposes)?
  
     -   Find someone to work on standard.      -   Expand datatime (setCurrentTime() and comparison and increment
           functions).
  
     -   Implement leve-1 parser.      -   Write Pegasus Architecture Paper.
  
 -   MOF compiler:      -   Implement MOF provider registration scheme (according to the
           standard).
  
     -   Work with Bob to identify work items.      -   WBEM Query Language and integration.
  
 -   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).
Line 210 
Line 171 
  
     -   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).      -   SLP
               - Eliminate lib directory.


Legend:
Removed from v.1.11  
changed lines
  Added in v.1.25

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2