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