(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.6 and 1.22

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2