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

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

version 1.6, 2001/02/11 06:44:59 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.  
     -    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.  
     -    Implement the process provider.  
     -    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).  
  
       -   Implement CIMRepository::deleteInstance()
  
     ------------------------------------------------------------------------      -   Implement CIMRepository::modifyInstance()
  
     (A) Change make system to rename dll's before link so that they      -   Implement CIMRepository::enumerateInstances()
         can be used by the server.  
  
     (A) Hide setPropagated() and setClassOrigin() methods (only the resolve      -   Implement CIMRepository::enumerateInstanceNames()
         method should touch these).  
  
     (A) Notice that there is a bug where you select Scope::REFERENCE and      -   Handle inheritance in all instance operations.
         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      -   Double check that all these operations work across protocol.
         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.  
  
     (A) Implement instances.      -   Check that they have keys during validation.
  
     (A) Providers.  -   Associations:
  
     ------------------------------------------------------------------------      -   Implement CIMRepository::referencesOf()
  
     (B) Finish other CIM/HTTP protocol operations.      -   Implement CIMRepository::associatorsOf()
  
     (B) Use the description that comes back with an error code in the XML      -   Implement protocol stubs for these operations.
         protocol. Perhaps it should become an extra message field of  
         XmlException.  
  
     (B) Source documentation.  -   Exceptions:
  
     (B) Put README in each directory.      -   Clean up and consolidate exception classes.
  
     (B) Handle UCS2 characters in XML (parsing and writing).      -   Propagate underlying error messages across the CIM protocol.
  
     (B) Check for overflow on the number of attributes in XML.  -   References:
  
     (B) Handle PARAMETER.REFARRAY in XML.      -   Validate arguments to CIMReference compound constructor and modifiers.
           (namespaces, hosts, classnames, and keybindings)
  
     (B) Add validNamespace() method and use it.      -   Be sure that escape sequences are handled inside of object names. For
           example:
  
     ------------------------------------------------------------------------              X.key1="Hello \"You\""
  
     (C) Suppress error message printed by ACE caused by constructing an  -   Protocol:
         address from a non existent host.  
  
     (C) Ignore extraneous XML elements (loosely valid).      -   Improve protocol tracing to show messages in both directions.
  
     (C) Get rid of fullyQualified flag.      -   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.
  
     (C) Handling of hexadecimal integer values.      -   Figure out how to handle getProperty() return type.
  
     (C) VALUE.REFERENCE within INSTANCENAME and KEYBINDING.      -   Provide ACE Channel implementation (for porting purposes)?
  
     (C) Resolve whether MOF is a requirement.      -   Handle PARAMETER.REFARRAY in Procotol?
  
     (C) Handle case sensitivity of CIM identifiers.      -   Ignore extraneous XML elements (loosely valid).
  
     (C) Figure out how to handle CIM null values.  -   Porting:
  
     (C) Make iteration scheme more general.      -   Replace "std::something" with "STD(something)"
  
     (C) Develop XML repository importation mechanism.      -   Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"
  
     (C) Move internal headers to ./internal directory  -   Aesthetics/Consistency/Usability:
  
     (C) Split up XxxRep objects from Xxx objects.      -   Change getLength() and getSize() to just size(): "Brevity is the soul
           of genius and of Lingerie".
  
     (C) Handle case insentive requirement on repository file names.      -   Add methods to get objects by their names, in addition to index. For
           example:
  
     (C) Devise a way to detect whether a class has instances.              CIMProperty CIMClass::getProperty(const String& name);
  
     (C) Cleanup of execeptions.      -   Perform walkthrough to expose consistency problems.
  
     (C) Verify that fixed length arrays are properly handled.      -   Distinguish between private and public classes (otherwise, users may
           come to depend on classes with unstable interfaces).
  
     (C) Check for null string pointers in String class.  -   Documentation:
  
     (C) Verify that instances are property keyed (during validation).      -   Suggest newlines after methods.
  
     (C) Thread safety.      -   Suggest use of "/** ... */" instead of "///"
  
     (C) Use UTF8 for strings.      -   Refine header file documentation.
  
     (C) Shrink object sizes.      -   Write Pegasus Architecture Paper.
  
     (C) Use lighter I/O system (get rid of C++ streams).      -   Integrate DOC++ with make system (put all docs in doc tree):
  
     (C) Provide conversion between DateTime and time_t.  -   Namespaces:
  
     (C) Purify source.      -   Implement create and destroy namespace (according to the standard).
  
     (C) Improve the representation of fixed arrays (is that pesky fixed-array  -   Providers
         flag really necessary?)  
       -   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.
   
   
   -   Install
   
       -   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
   
       - Figure out how to handle CIM null values.
   
       - Generalize iteration.
   
       - Figure out how inheritance of keys works.
   
       - Investiage weak assocations.
   
       - Provide conversions between DateTime and time_t.
   
   -   Constraint hanlding
   
       - Enforce constraint qualifiers.
   
       - Disallow resetting size of fixed length arrays.
   
   -   Optimization/Tuning
   
       -   Shrink object sizes.
   
       -   Use lighter I/O system (than C++ streams).
   
       -   Run Purify on all sources (port to Sun first).
   
       -   Optimize clear method on arrays (to not release memory).
   
   -   Porting
   
       -   Port to Solaris
   
       -   Port to HPUX
   
       -   Port to AIX
   
   -   Testing
   
       -   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.6  
changed lines
  Added in v.1.25

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2