(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.10 and 1.19

version 1.10, 2001/05/30 16:12:14 version 1.19, 2001/06/16 17:30:34
Line 1 
Line 1 
 Urgent  
 ======  
  
     -   Fix case sensitivity problems in repository (just add an _Open method      -   Consider eliminating const CIM element classes.
         that ignores the case of the file).  
  
     -   Add newly implemented repository operations to protocol and to      -   Support for NULL property lists (in interface and protocol).
         dispatcher.  
  
     -   Change INVALID_CLASS exceptions to NOT_FOUND (they're wrong in      -   Rename tests (prepend "Test" to each test).
         Repository).  
  
     -   Add tracing of output HTTP messages.      -   Fix bug with cimserver.exe causing it to fail to start without te
           "-l" option.
  
     -   Need CIMInstance::removeMethod() and CIMInstance::removeProperty().      -   Resolve whether the backslash should be permitted in namespaces.
  
 Topical To-Do List      -   Create CIMOMContext (interface to CIMOM used b the provider).
 ==================  
  
     -   Template bloat reduction.      -   Define Encoding module interface.
   
     -   Use YACC on Linux.  
   
     -   Need a tool to say which features are supported by a compiler.  
  
     -   Support unloading of dynamic libraries (presently only load() is      -   Develop XMLEncodings module.
         supported).  
  
 -   Instances:      -   Develop BinaryEncodings module.
  
     -   Implement CIMRepository::getProperty()      -   Develop MOFEncodings module.
  
     -   Implement CIMRepository::setProperty()      -   Employ BinaryEncodings module in repository (reduce disk usage).
  
     -   Implement CIMRepository::deleteInstance()      -   Combine repository instances, classes, and qualifiers  into their
           respective files (to reduce the number of files).
  
     -   Implement CIMRepository::modifyInstance()      -   Employ an efficient indexing scheme in repository (B-trees or hashing).
  
     -   Implement CIMRepository::enumerateInstances()      -   Develop module manager: interface, lookup scheme, and loading scheme.
  
     -   Implement CIMRepository::enumerateInstanceNames()      -   Package Encodings classes as a module.
  
     -   Handle inheritance in all instance operations.      -   Finalize repository assocations.
  
     -   Double check that all these operations work across protocol.      -   Add association CIM/HTTP operations.
  
     -   Check that they have keys during validation.      -   Design association provider infrastructure.
  
 -   Associations:      -   Implement missing CIM protocol operations.
  
     -   Implement CIMRepository::referencesOf()      -   Implement good observer module interface which allows different levels:
  
     -   Implement CIMRepository::associatorsOf()          -   Observation of client/CIMMOM connections/disconnection.
  
     -   Implement protocol stubs for these operations.          -   Observation of client/CIMOM communication.
  
 -   Exceptions:          -   Observation of CIMOM/repository communication.
  
     -   Force __FILE__ and __LINE__ argument on every usage of CIMException.          -   Observation of CIMOM/provider communication.
  
     -   Clean up and consolidate exception classes.          -   Observation of CIMOM state transitions.
  
     -   Propagate underlying error messages across the CIM protocol.      -   Pegasus providers for Sun WBEM Services.
  
 -   References:      -   Pegasus providers for WMI.
  
     -   Validate arguments to CIMReference compound constructor and modifiers.      -   Sun WBEM Services providers for Pegasus.
         (namespaces, hosts, classnames, and keybindings)  
  
     -   Be sure that escape sequences are handled inside of object names. For      -   CIM/HTTP Proxy for WMI.
         example:  
  
             X.key1="Hello \"You\""      -   Web Server/Pegasus Integration (use HTTP protocol capabilities of
           web server rather than Pegasus).
  
 -   Protocol:      -   Add CIMRepository::namespaceExists() method.
  
     -   Improve protocol tracing to show messages in both directions.      -   Change HTTP message id's to this format: "YYYY.MM.DD.HH.MM.SS.NNNNN".
  
     -   The TCPChannel::writeN() method blocks when the client and server      -   GetInstances() and GetClasses() need to use iterators on
         are in the same process. That is because the client cannot read          provider and repository end. Otherwise, all classes or instance
         anything as long as writeN() is blocked on a synchronous write.          to be enumerated, must be sucked into memory.
  
     -   Figure out how to handle getProperty() return type.      -   Template bloat reduction.
   
     -   Provide ACE Channel implementation (for porting purposes)?  
  
     -   Handle PARAMETER.REFARRAY in Procotol?      -   Need a tool to say which features are supported by a compiler.
  
     -   Ignore extraneous XML elements (loosely valid).      -   Support unloading of dynamic libraries (presently only load() is
           supported).
  
 -   Porting:      -   Clean up and consolidate exception classes.
  
     -   Replace "std::something" with "STD(something)"      -   Asynchronous socket writes in the CIMOM (need write enabled flags).
  
     -   Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"      -   Handle PARAMETER.REFARRAY in Procotol?
  
 -   Aesthetics/Consistency/Usability:      -   Implemented stream oriented XML parsing.
  
     -   Change getLength() and getSize() to just size(): "Brevity is the soul      -   Ignore extraneous XML elements (implement "loose validation" concept).
         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.  
  
     -   Suggest use of "/** ... */" instead of "///"      -   Provide ACE Channel implementation (for porting purposes)?
  
     -   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):      -   Implement MOF provider registration scheme (according to the
           standard).
 -   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.      -   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 208 
Line 138 
  
     -   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.10  
changed lines
  Added in v.1.19

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2