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

Diff for /pegasus/doc/Attic/TODO between version 1.23 and 1.24

version 1.23, 2001/04/26 01:34:11 version 1.24, 2001/04/26 19:42:07
Line 2 
Line 2 
                                 TO-DO List                                 TO-DO List
                                 ==========                                 ==========
  
     -   Propagate error messages back in CIM/HTTP requests (right now the  -   Instances:
         static error messages are propagated; it would be nice to have  
         the original error string to give more information).  
  
     -   Be sure that namespaces are limited to be CIM names (as given in      -   Implement CIMRepository::getProperty()
         Names.h).  
  
     -   Remove jdaux.exe from CVS repository.      -   Implement CIMRepository::setProperty()
  
     -   Finalize the headers (put authors in all the modules).      -   Implement CIMRepository::deleteInstance()
  
     -   Fix the trace function so that it prints out the messages going      -   Implement CIMRepository::modifyInstance()
         both ways.  
       -   Implement CIMRepository::enumerateInstances()
   
       -   Implement CIMRepository::enumerateInstanceNames()
   
       -   Handle inheritance in all instance operations.
   
       -   Double check that all these operations work across protocol.
   
       -   Check that they have keys during validation.
   
   -   Associations:
   
       -   Implement CIMRepository::referencesOf()
   
       -   Implement CIMRepository::associatorsOf()
   
       -   Implement protocol stubs for these operations.
   
   -   Exceptions:
   
       -   Clean up and consolidate exception classes.
   
       -   Propagate underlying error messages across the CIM protocol.
   
   -   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     -   The TCPChannel::writeN() method blocks when the client and server
         are in the same process. That is because the client cannot read         are in the same process. That is because the client cannot read
Line 22 
Line 56 
  
     -   Figure out how to handle getProperty() return type.     -   Figure out how to handle getProperty() return type.
  
     -   Having problems with reference on Repository::createInstance() and      -   Provide ACE Channel implementation (for porting purposes)?
         Repository::getInstance(). References not always in standard form.  
         Also, resolve() fails when instance has properties of difference  
         case.  
   
     -   Super class name does not seem to be set in enumerateClasses  
         operation.  
   
     ------------------------------------------------------------------------  
   
     -   Remove "std::" qualifiers and use a macro and use #define for  
         PEGASUS_NAMESPACE_STD.  
   
     -   Change getLength() to length() or size()?  
   
     -   Change find<Object> to find<Object>ByIndex().  
   
     -   Need get by name.  
   
     Now:  
   
     -   Add convenience functions: addProperty().  
     -   Change CimException to CIMException  
     -   Get ACE working on Tandem (or remove ACE from Pegasus).  
     -   Port Pegasus to Tandem (look for Tandem machine at BMC).  
     -   Instance repository.  
     -   Delete namespace.  
     -   Finalize provider interface.  
     -   Associations (basic).  
     -   Provider registration (by the standard).  
     -   MOF compiler (finalize).  
     -   Write short paper on Pegasus data objects.  
     -   Integrate DOC++ with make system.  
     -   Compaq requested SQL level-1 description.  
     -   Get rid of ACE (required if no ACE on Tandem).  
     -   Need query capability for Compaq.  
     -   Threading (and process forking).  
     -   Implement protocol module (the default uses ACE).  
     -   Package up pegasus in Install Shield application.  
  
       -   Handle PARAMETER.REFARRAY in Procotol?
  
     ------------------------------------------------------------------------      -   Ignore extraneous XML elements (loosely valid).
  
     (A) Install shield install of Pegasus.  -   Porting:
  
     (A) Handle escaping of strings inside object names. Example:      -   Replace "std::something" with "STD(something)"
  
                 X.key1="Hello \"You\""      -   Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"
  
     (A) Notice that there is a bug where you select Scope::REFERENCE and  -   Aesthetics/Consistency/Usability:
         and the validation routines still say the scope is wrong for  
         qualifiers applied actual references (they are checking for  
         property instead).  
  
     (A) There is an odering problem when applying the qualifiers with      -   Change getLength() and getSize() to just size(): "Brevity is the soul
         association scope to classes. If the association qualifier does not          of genius and of Lingerie".
         come first, then application of prior qualifiers fail.  
         Checking this should be moved to class resolution.  
  
     ------------------------------------------------------------------------      -   Add methods to get objects by their names, in addition to index. For
           example:
  
     (B) Hide setPropagated() and setClassOrigin() methods (only the resolve              CIMProperty CIMClass::getProperty(const String& name);
         method should touch these).  
  
     (B) Change make system to rename dll's before link so that they      -   Perform walkthrough to expose consistency problems.
         can be used by the server.  
  
     (B) Finish other CIM/HTTP protocol operations.      -   Distinguish between private and public classes (otherwise, users may
           come to depend on classes with unstable interfaces).
  
     (B) Use the description that comes back with an error code in the XML  -   Documentation:
         protocol. Perhaps it should become an extra message field of  
         XmlException.  
  
     (B) Source documentation.      -   Suggest newlines after methods.
  
     (B) Put README in each directory.      -   Suggest use of "/** ... */" instead of "///"
  
     (B) Handle UCS2 characters in XML (parsing and writing).      -   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) Check for overflow on the number of attributes in XML.  
  
     (B) Handle PARAMETER.REFARRAY in XML.  -   Install
  
     (B) Add validNamespace() method and use it.      -   Need install mechanism for Unix and Windows.
  
     ------------------------------------------------------------------------  -   Interoperability
  
     (C) Suppress error message printed by ACE caused by constructing an      -   Fix reported bugs.
         address from a non existent host.  
  
     (C) Ignore extraneous XML elements (loosely valid).  -   Internationalization
  
     (C) Get rid of fullyQualified flag.      - Handle UCS2 characters in XML (parsing and writing).
  
     (C) Handling of hexadecimal integer values.  -   Repository:
  
     (C) VALUE.REFERENCE within INSTANCENAME and KEYBINDING.      - Export to MOF.
  
     (C) Resolve whether MOF is a requirement.  -   Miscellaneous
  
     (C) Handle case sensitivity of CIM identifiers.      - Figure out how to handle CIM null values.
  
     (C) Figure out how to handle CIM null values.      - Generalize iteration.
  
     (C) Make iteration scheme more general.      - Figure out how inheritance of keys works.
  
     (C) Develop XML repository importation mechanism.      - Investiage weak assocations.
  
     (C) Move internal headers to ./internal directory      - Provide conversions between DateTime and time_t.
  
     (C) Split up XxxRep objects from Xxx objects.  -   Constraint hanlding
  
     (C) Handle case insentive requirement on repository file names.      - Enforce constraint qualifiers.
  
     (C) Devise a way to detect whether a class has instances.      - Disallow resetting size of fixed length arrays.
  
     (C) Cleanup of execeptions.  -   Optimization/Tuning
  
     (C) Verify that fixed length arrays are properly handled.      -   Shrink object sizes.
  
     (C) Check for null string pointers in String class.      -   Use lighter I/O system (than C++ streams).
  
     (C) Verify that instances are property keyed (during validation).      -   Run Purify on all sources (port to Sun first).
  
     (C) Thread safety.      -   Optimize clear method on arrays (to not release memory).
  
     (C) Use UTF8 for strings.  -   Porting
  
     (C) Shrink object sizes.      -   Port to Solaris
  
     (C) Use lighter I/O system (get rid of C++ streams).      -   Port to HPUX
  
     (C) Provide conversion between DateTime and time_t.      -   Port to AIX
  
     (C) Purify source.  -   Testing
  
     (C) Improve the representation of fixed arrays (is that pesky fixed-array      -   Run Purify on all sources (port to Sun first).
         flag really necessary?)  
  
     (C) Modify clear() methods on Array and String so that they don't      -   Run CIM/XML test suite.
         release the old resource (more efficient for GetLine()). Add  
         a resize() method.  
  


Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2