(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.16 and 1.17

version 1.16, 2001/06/12 09:02:26 version 1.17, 2001/06/15 13:43:31
Line 1 
Line 1 
 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).
Line 240 
Line 136 
  
     -   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).  
   


Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2