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

  1 mike  1.3 Urgent
  2           ======
  3           
  4 mike  1.11     -   Add CIMOM handle to provider interface.
  5            
  6 mike  1.3      -	Fix case sensitivity problems in repository (just add an _Open method
  7            	that ignores the case of the file).
  8 mike  1.1  
  9 mike  1.5      -	Add newly implemented repository operations to protocol and to
 10            	dispatcher.
 11            
 12 karl  1.14     -	Change INVALID_CLASS exceptions to NOT_FOUND (they're wrong in
 13 mike  1.5  	Repository).
 14 mike  1.4  
 15 mike  1.7      -	Add tracing of output HTTP messages.
 16            
 17 mike  1.8      -   Need CIMInstance::removeMethod() and CIMInstance::removeProperty().
 18 karl  1.14     -   Add a exists namespace operation under the repository stuff.  Maybe we
 19                need more than this.
 20 mike  1.8  
 21 mike  1.1  Topical To-Do List
 22            ==================
 23            
 24 mike  1.15     - 	Sun uses string message-ids. Pegasus uses integer.
 25            	Sun uses 2000.5.12.... format. Changed Pegasus to
 26            	use string message-ids. DONE.
 27            
 28                -   Some clients send '\n\n' to terminate HTTP headers.
 29            	We were only accepted '\r\n\r\n'. DONE.
 30            
 31 mike  1.13     -	Provide way of printing out command line options help from cimserver.
 32            
 33 karl  1.14     - 	GetInstances() and GetClasses() need to use iterators on
 34 mike  1.12 	provider and repository end. Otherwise, all classes or instance
 35            	to be enumerated, must be sucked into memory.
 36 karl  1.14 
 37 mike  1.10     -   Template bloat reduction.
 38            
 39                -	Use YACC on Linux.
 40            
 41                - 	Need a tool to say which features are supported by a compiler.
 42            
 43 mike  1.9      -   Support unloading of dynamic libraries (presently only load() is
 44            	supported).
 45            
 46 mike  1.1  -   Instances:
 47            
 48 mike  1.5      -	Implement CIMRepository::getProperty()
 49 mike  1.1  
 50 mike  1.5      -	Implement CIMRepository::setProperty()
 51 mike  1.1  
 52 mike  1.5      -	Implement CIMRepository::deleteInstance()
 53 mike  1.1  
 54 mike  1.5      -	Implement CIMRepository::modifyInstance()
 55 mike  1.1  
 56 mike  1.5      -	Implement CIMRepository::enumerateInstances()
 57 mike  1.1  
 58 mike  1.5      -	Implement CIMRepository::enumerateInstanceNames()
 59 mike  1.1  
 60 mike  1.5      -	Handle inheritance in all instance operations.
 61 mike  1.1  
 62                -	Double check that all these operations work across protocol.
 63            
 64 mike  1.5      -	Check that they have keys during validation.
 65 mike  1.1  
 66            -   Associations:
 67            
 68 mike  1.5      -	Implement CIMRepository::referencesOf()
 69 mike  1.1  
 70 mike  1.5      -	Implement CIMRepository::associatorsOf()
 71 mike  1.1  
 72                -	Implement protocol stubs for these operations.
 73            
 74            -   Exceptions:
 75            
 76 mike  1.5      -	Force __FILE__ and __LINE__ argument on every usage of CIMException.
 77 mike  1.2  
 78 mike  1.1      -	Clean up and consolidate exception classes.
 79            
 80 mike  1.5      -	Propagate underlying error messages across the CIM protocol.
 81 mike  1.1  
 82            -   References:
 83            
 84                -	Validate arguments to CIMReference compound constructor and modifiers.
 85            	(namespaces, hosts, classnames, and keybindings)
 86            
 87 mike  1.5      -	Be sure that escape sequences are handled inside of object names. For
 88 mike  1.1  	example:
 89            
 90            	    X.key1="Hello \"You\""
 91            
 92            -   Protocol:
 93            
 94 mike  1.5      -	Improve protocol tracing to show messages in both directions.
 95 mike  1.1  
 96 mike  1.5      -	The TCPChannel::writeN() method blocks when the client and server
 97 mike  1.1  	are in the same process. That is because the client cannot read
 98            	anything as long as writeN() is blocked on a synchronous write.
 99            
100 mike  1.5      -	Figure out how to handle getProperty() return type.
101 mike  1.1  
102 mike  1.5      -	Provide ACE Channel implementation (for porting purposes)?
103 mike  1.1  
104 mike  1.5      -	Handle PARAMETER.REFARRAY in Procotol?
105 mike  1.1  
106 mike  1.5      -	Ignore extraneous XML elements (loosely valid).
107 mike  1.1  
108            -   Porting:
109            
110                -	Replace "std::something" with "STD(something)"
111            
112 mike  1.5      -	Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"
113 mike  1.1  
114            -   Aesthetics/Consistency/Usability:
115            
116 mike  1.5      -	Change getLength() and getSize() to just size(): "Brevity is the soul
117 karl  1.14 	of genius and of Lingerie".
118 mike  1.1  
119 mike  1.5      -	Add methods to get objects by their names, in addition to index. For
120 mike  1.1  	example:
121            
122            	    CIMProperty CIMClass::getProperty(const String& name);
123            
124 mike  1.5      -	Perform walkthrough to expose consistency problems.
125 mike  1.1  
126 mike  1.5      -	Distinguish between private and public classes (otherwise, users may
127 mike  1.1  	come to depend on classes with unstable interfaces).
128            
129            -   Documentation:
130            
131 mike  1.5      -	Suggest newlines after methods.
132 mike  1.1  
133 mike  1.5      -	Suggest use of "/** ... */" instead of "///"
134 mike  1.1  
135                -	Refine header file documentation.
136            
137                -	Write Pegasus Architecture Paper.
138            
139 mike  1.5      -	Integrate DOC++ with make system (put all docs in doc tree):
140 mike  1.1  
141            -   Namespaces:
142            
143 mike  1.5      -	Implement create and destroy namespace (according to the standard).
144 mike  1.1  
145            -   Providers
146            
147 mike  1.5      -	Add CIM-Server handles to provider interface.
148 mike  1.1  
149 karl  1.14     -	Implement MOF provider registration scheme (according to the
150                standard).
151 mike  1.1  
152            -   WBEM Query Language
153            
154                -	Find someone to work on standard.
155            
156 mike  1.5      -	Implement leve-1 parser.
157 mike  1.1  
158            -   MOF compiler:
159            
160 mike  1.5      -	Work with Bob to identify work items.
161 mike  1.1  
162            -   Threading
163            
164 mike  1.5      -	Write thread queuing document (input and output thread queue per
165 mike  1.1  	provider).
166            
167 mike  1.5      -	Implement queuing.
168 mike  1.1  
169 mike  1.5      -	Make reference counted objects thread safe (Mutexing and atomic
170 mike  1.1  	increments).
171            
172            -   Connectors
173            
174 mike  1.5      -	Work out basic concepts (write paper).
175 mike  1.1  
176                -	Package up pegasus in Install Shield application.
177            
178            
179            -   Install
180            
181 mike  1.5      -	Need install mechanism for Unix and Windows.
182 mike  1.1  
183            -   Interoperability
184            
185 mike  1.5      -	Fix reported bugs.
186 mike  1.1  
187            -   Internationalization
188            
189 mike  1.5      -	Handle UCS2 characters in XML (parsing and writing).
190 mike  1.1  
191            -   Repository:
192            
193 mike  1.5      -	Export to MOF.
194 mike  1.1  
195            -   Miscellaneous
196            
197 mike  1.6      -   Change CompareNoCase() to String::compareNoCase().
198            
199 mike  1.5      -	Place configuration startup parameters in Repository (e.g., port).
200            
201 karl  1.14     -	Integrate logging
202 mike  1.1  
203 mike  1.5      -	Figure out how to handle CIM null values.
204 mike  1.1  
205 mike  1.5      -	Generalize iteration.
206 mike  1.1  
207 mike  1.5      -	Figure out how inheritance of keys works.
208 mike  1.1  
209 mike  1.5      -	Investiage weak assocations.
210 mike  1.1  
211 mike  1.5      -	Provide conversions between DateTime and time_t.
212 karl  1.14 
213 mike  1.1  -   Constraint hanlding
214            
215 mike  1.5      -	Enforce constraint qualifiers.
216 mike  1.1  
217 mike  1.5      -	Disallow resetting size of fixed length arrays.
218 mike  1.1  
219            -   Optimization/Tuning
220            
221 mike  1.5      -	Shrink object sizes.
222 mike  1.1  
223 mike  1.5      -	Use lighter I/O system (than C++ streams).
224 mike  1.1  
225 mike  1.5      -	Run Purify on all sources (port to Sun first).
226 mike  1.1  
227 mike  1.5      -	Optimize clear method on arrays (to not release memory).
228 mike  1.1  
229            -   Porting
230            
231 mike  1.5      -	Port to Solaris
232 mike  1.1  
233 mike  1.5      -	Port to HPUX
234 mike  1.1  
235 mike  1.5      -	Port to AIX
236 mike  1.1  
237            -   Testing
238            
239 mike  1.5      -	Test case insensitivity of class names and qualifier names.
240            
241                -	Run Purify on all sources (port to Sun first).
242 mike  1.1  
243 mike  1.5      -	Run CIM/XML test suite.
244 mike  1.1  
245            -   Server
246            
247 mike  1.5      -	Use Service class in cimserver
248 mike  1.1  
249 mike  1.5      -	Implement Service class on Unix (daemonization from Comer book).
250 karl  1.14 

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2