(file) Return to todo.txt CVS log (file) (dir) Up to [Pegasus] / pegasus / doc

File: [Pegasus] / pegasus / doc / Attic / todo.txt (download)
Revision: 1.9, Wed May 23 23:48:34 2001 UTC (23 years ago) by mike
Branch: MAIN
CVS Tags: version_0_97_2, version_0_97_1
Changes since 1.8: +3 -0 lines
Port to HP

Urgent
======

    -	Fix case sensitivity problems in repository (just add an _Open method
	that ignores the case of the file).

    -	Add newly implemented repository operations to protocol and to
	dispatcher.

    -	Change INVALID_CLASS exceptions to NOT_FOUND (they're wrong in 
	Repository).

    -	Add tracing of output HTTP messages.

    -   Need CIMInstance::removeMethod() and CIMInstance::removeProperty().

Topical To-Do List
==================

    -   Support unloading of dynamic libraries (presently only load() is
	supported).

-   Instances:

    -	Implement CIMRepository::getProperty()

    -	Implement CIMRepository::setProperty()

    -	Implement CIMRepository::deleteInstance()

    -	Implement CIMRepository::modifyInstance()

    -	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:

    -	Force __FILE__ and __LINE__ argument on every usage of CIMException.

    -	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
	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"

-   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
	example:

	    CIMProperty CIMClass::getProperty(const String& name);

    -	Perform walkthrough to expose consistency problems.

    -	Distinguish between private and public classes (otherwise, users may
	come to depend on classes with unstable interfaces).

-   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.


-   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

    -   Change CompareNoCase() to String::compareNoCase().

    -	Place configuration startup parameters in Repository (e.g., port).

    -	Integrate logging 

    -	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

    -	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).

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2