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

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

version 1.15, 2001/03/27 19:47:12 version 1.24, 2001/04/26 19:42:07
Line 2 
Line 2 
                                 TO-DO List                                 TO-DO List
                                 ==========                                 ==========
  
     - Having problems with reference on Repository::createInstance() and  -   Instances:
       Repository::getInstance(). References not always in standard form.  
       Also, resolve() fails when instance has properties of difference      -   Implement CIMRepository::getProperty()
       case.  
       -   Implement CIMRepository::setProperty()
     - Super class name does not seem to be set in enumerateClasses operation.  
       -   Implement CIMRepository::deleteInstance()
   
     ------------------------------------------------------------------------      -   Implement CIMRepository::modifyInstance()
   
     -   Remove "std::" qualifiers and use a macro and use #define for      -   Implement CIMRepository::enumerateInstances()
         PEGASUS_NAMESPACE_STD.  
       -   Implement CIMRepository::enumerateInstanceNames()
     -   Change getLength() to length() or size()?  
       -   Handle inheritance in all instance operations.
     -   Change find<Object> to find<Object>ByIndex().  
       -   Double check that all these operations work across protocol.
     -   Need get by name.  
       -   Check that they have keys during validation.
     Now:  
   -   Associations:
     -   Add convenience functions: addProperty().  
     -   Change CimException to CIMException      -   Implement CIMRepository::referencesOf()
     -   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.  
  
       -   Implement CIMRepository::associatorsOf()
  
     ------------------------------------------------------------------------      -   Implement protocol stubs for these operations.
  
     (A) Install shield install of Pegasus.  -   Exceptions:
  
     (A) Handle escaping of strings inside object names. Example:      -   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\""                 X.key1="Hello \"You\""
  
     (A) Notice that there is a bug where you select Scope::REFERENCE and  -   Protocol:
         and the validation routines still say the scope is wrong for  
         qualifiers applied actual references (they are checking for      -   Improve protocol tracing to show messages in both directions.
         property instead).  
       -   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:
  
     (A) There is an odering problem when applying the qualifiers with      -   Replace "std::something" with "STD(something)"
         association scope to classes. If the association qualifier does not  
         come first, then application of prior qualifiers fail.  
         Checking this should be moved to class resolution.  
  
     ------------------------------------------------------------------------      -   Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"
  
     (B) Hide setPropagated() and setClassOrigin() methods (only the resolve  -   Aesthetics/Consistency/Usability:
         method should touch these).  
  
     (B) Change make system to rename dll's before link so that they      -   Change getLength() and getSize() to just size(): "Brevity is the soul
         can be used by the server.          of genius and of Lingerie".
  
     (B) Finish other CIM/HTTP protocol operations.      -   Add methods to get objects by their names, in addition to index. For
           example:
  
     (B) Use the description that comes back with an error code in the XML              CIMProperty CIMClass::getProperty(const String& name);
         protocol. Perhaps it should become an extra message field of  
         XmlException.  
  
     (B) Source documentation.      -   Perform walkthrough to expose consistency problems.
  
     (B) Put README in each directory.      -   Distinguish between private and public classes (otherwise, users may
           come to depend on classes with unstable interfaces).
  
     (B) Handle UCS2 characters in XML (parsing and writing).  -   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) 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.15  
changed lines
  Added in v.1.24

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2