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

Diff for /pegasus/doc/Attic/TODO between version 1.8 and 1.25

version 1.8, 2001/02/12 15:14:47 version 1.25, 2001/04/27 00:00:59
Line 1 
Line 1 
                                 TO-DO List  
                                 ==========  
  
   Topical To-Do List
   ==================
  
     ------------------------------------------------------------------------  -   Instances:
  
     Now:      -   Implement CIMRepository::getProperty()
  
     -    Get ACE working on Tandem (or remove ACE from Pegasus).      -   Implement CIMRepository::setProperty()
     -    Port Pegasus to Tandem (look for Tandem machine at BMC).  
     -    Instance repository.      -   Implement CIMRepository::deleteInstance()
     -    Finalize provider interface.  
     -    Associations (basic).      -   Implement CIMRepository::modifyInstance()
     -    Provider registration (by the standard).  
     -    MOF compiler (finalize).      -   Implement CIMRepository::enumerateInstances()
     -    Write short paper on Pegasus data objects.  
     -    Integrate DOC++ with make system.      -   Implement CIMRepository::enumerateInstanceNames()
     -    Implement the process provider.  
     -    Compaq requested SQL level-1 description.      -   Handle inheritance in all instance operations.
     -    Get rid of ACE (required if no ACE on Tandem).  
     -    Need query capability for Compaq.      -   Double check that all these operations work across protocol.
     -    Threading (and process forking).  
     -    Implement protocol module (the default uses ACE).      -   Check that they have keys during validation.
     -    Package up pegasus in Install Shield application.  
   -   Associations:
   
       -   Implement CIMRepository::referencesOf()
   
       -   Implement CIMRepository::associatorsOf()
   
       -   Implement protocol stubs for these operations.
  
   -   Exceptions:
  
     ------------------------------------------------------------------------      -   Clean up and consolidate exception classes.
  
     (A) Modify clear() methods on Array and String so that they don't      -   Propagate underlying error messages across the CIM protocol.
         release the old resource (more efficient for GetLine()). Add  
         a resize() method.  
  
     (A) Handle escaping of strings inside object names. Example:  -   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\""                 X.key1="Hello \"You\""
  
     (A) Change make system to rename dll's before link so that they  -   Protocol:
         can be used by the server.  
       -   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?
   
       -   Ignore extraneous XML elements (loosely valid).
   
   -   Porting:
   
       -   Replace "std::something" with "STD(something)"
   
       -   Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"
  
     (A) Hide setPropagated() and setClassOrigin() methods (only the resolve  -   Aesthetics/Consistency/Usability:
         method should touch these).  
  
     (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.  
  
     (A) Implement instances.              CIMProperty CIMClass::getProperty(const String& name);
  
     (A) Providers.      -   Perform walkthrough to expose consistency problems.
  
     ------------------------------------------------------------------------      -   Distinguish between private and public classes (otherwise, users may
           come to depend on classes with unstable interfaces).
  
     (B) Finish other CIM/HTTP protocol operations.  -   Documentation:
   
       -   Suggest newlines after methods.
   
       -   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) Use the description that comes back with an error code in the XML  
         protocol. Perhaps it should become an extra message field of  
         XmlException.  
  
     (B) Source documentation.  -   Install
  
     (B) Put README in each directory.      -   Need install mechanism for Unix and Windows.
  
     (B) Handle UCS2 characters in XML (parsing and writing).  -   Interoperability
  
     (B) Check for overflow on the number of attributes in XML.      -   Fix reported bugs.
  
     (B) Handle PARAMETER.REFARRAY in XML.  -   Internationalization
  
     (B) Add validNamespace() method and use it.      - Handle UCS2 characters in XML (parsing and writing).
  
     ------------------------------------------------------------------------  -   Repository:
  
     (C) Suppress error message printed by ACE caused by constructing an      - Export to MOF.
         address from a non existent host.  
  
     (C) Ignore extraneous XML elements (loosely valid).  -   Miscellaneous
  
     (C) Get rid of fullyQualified flag.      - Figure out how to handle CIM null values.
  
     (C) Handling of hexadecimal integer values.      - Generalize iteration.
  
     (C) VALUE.REFERENCE within INSTANCENAME and KEYBINDING.      - Figure out how inheritance of keys works.
  
     (C) Resolve whether MOF is a requirement.      - Investiage weak assocations.
  
     (C) Handle case sensitivity of CIM identifiers.      - Provide conversions between DateTime and time_t.
  
     (C) Figure out how to handle CIM null values.  -   Constraint hanlding
  
     (C) Make iteration scheme more general.      - Enforce constraint qualifiers.
  
     (C) Develop XML repository importation mechanism.      - Disallow resetting size of fixed length arrays.
  
     (C) Move internal headers to ./internal directory  -   Optimization/Tuning
  
     (C) Split up XxxRep objects from Xxx objects.      -   Shrink object sizes.
  
     (C) Handle case insentive requirement on repository file names.      -   Use lighter I/O system (than C++ streams).
  
     (C) Devise a way to detect whether a class has instances.      -   Run Purify on all sources (port to Sun first).
  
     (C) Cleanup of execeptions.      -   Optimize clear method on arrays (to not release memory).
  
     (C) Verify that fixed length arrays are properly handled.  -   Porting
  
     (C) Check for null string pointers in String class.      -   Port to Solaris
  
     (C) Verify that instances are property keyed (during validation).      -   Port to HPUX
  
     (C) Thread safety.      -   Port to AIX
  
     (C) Use UTF8 for strings.  -   Testing
  
     (C) Shrink object sizes.      -   Run Purify on all sources (port to Sun first).
  
     (C) Use lighter I/O system (get rid of C++ streams).      -   Run CIM/XML test suite.
  
     (C) Provide conversion between DateTime and time_t.  -   Server
  
     (C) Purify source.      -   Use Service class in cimserver
  
     (C) Improve the representation of fixed arrays (is that pesky fixed-array      -   Implement Service class on Unix (daemonization from Comer book).
         flag really necessary?)  


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2