Initial add of defaria.com
[clearscm.git] / defaria.com / IBM / letters.php
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2    "http://www.w3.org/TR/html4/strict.dtd">
3 <html>
4 <head>
5   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6   <link rel="stylesheet" type="text/css" media="screen" href="/css/Letter.css">
7   <script src="randomize.js" type="text/javascript"></script>
8   <title>IBM Correspondence</title>
9 <?php
10 function logAccess () {
11   $timestamp = date ('Y-m-d H:i:s');
12   $line = <<<END
13 Somebody tried to access $_SERVER[REQUEST_URI] on $timestamp
14
15 IP Address: $_SERVER[REMOTE_ADDR]
16 Host:       $_SERVER[REMOTE_HOST]
17 URL:        $_SERVER[REQUEST_URI]
18
19 END;
20
21   $access = fopen ("access.log", "a");
22
23   fwrite ($access, $line);
24
25   fclose ($access);
26
27   return $line;
28 } // logAccess
29
30 function SendNotification () {
31   $domain  = "DeFaria.com";
32   $to      = "Andrew@DeFaria.com";
33   $subject = "Somebody's probing $_SERVER[REQUEST_URI] page";
34   $message = logAccess ();
35
36   $extra_headers .= "From: Andrew DeFaria <Andrew@DeFaria.com>\n";
37
38   if (mail ($to, $subject, $message, $extra_headers)) {
39     print "
40 <p>The following information has been logged:</p>
41
42 <pre>
43 $message
44 </pre>
45 ";
46   } // if
47 } // SendNotification
48 ?>
49   <?php include "site-functions.php"?>
50 <style>
51 blockquote[type=cite] {
52   margin:       0em 0em 0em 0em         !important;
53   padding:      0em .5em .5em .5em      !important;
54   border-right: 2px  solid blue         !important;
55   border-left:  2px solid blue          !important;
56 }
57 blockquote[type=cite]
58 blockquote[type=cite] {
59   border-right: 2px solid maroon        !important;
60   border-left:  2px solid maroon        !important;
61 }
62 blockquote[type=cite]
63 blockquote[type=cite]
64 blockquote[type=cite] {
65   border-right: 2px solid teal          !important;
66   border-left:  2px solid teal          !important;
67 }
68 blockquote[type=cite]
69 blockquote[type=cite]
70 blockquote[type=cite]
71 blockquote[type=cite] {
72   border-right: 2px solid purple        !important;
73   border-left:  2px solid purple        !important;
74 }
75 blockquote[type=cite]
76 blockquote[type=cite]
77 blockquote[type=cite]
78 blockquote[type=cite]
79 blockquote[type=cite] {
80   border-right: 2px solid green         !important;
81   border-left:  2px solid green         !important;
82 }
83 </style>
84 </head>
85
86 <body>
87
88 <p>The following are select "discussions" between me and IBM about
89 support <script>r(issues)</script> with their software. Note that this is very expensive
90 software and very expensive support that is paid yearly by my clients
91 for the purposes of resolving, not kicking down the road,
92 problems. The following is <i>paraphrased</i> from memory and are not
93 guaranteed to be 100% accurate, however one can sure think that they
94 might be able to form an opinion about very expensive, closed source
95 <script>r(solutions)</script>:</p>
96
97 <hr>
98 <p>On 2/22/2013 9:43 AM, Rational Client Support wrote:</p>
99 </div>
100 <blockquote type="cite">
101 <p>Hi Andrew,</p>
102
103 <p>So if you follow the links.. and links in the OSLC manual..</p>
104
105 <a href="http://open-services.net/bin/view/Main/CmSpecificationV2?sortcol=3Dtable;up=3D#Query_Capabilities">http://open-services.net/bin/view/Main/CmSpecificationV2?sortcol=3Dtable;up=3D#Query_Capabilities</a>
106
107 <p>Will lead you to</p>
108
109 <a href="http://open-services.net/bin/view/Main/OslcCoreSpecification#Query_Capabilities">http://open-services.net/bin/view/Main/OslcCoreSpecification#Query_Capabilities</a><br>
110
111 <p>which leads you to</p>
112
113 <a class="moz-txt-link-freetext" href="http://open-services.net/bin/view/Main/OSLCCoreSpecQuery">http://open-services.net/bin/view/Main/OSLCCoreSpecQuery</a>
114
115 <p>I believe if you look at the &quot;syntax&quot; section on the last
116 link that shows you what is <script>r(available)</script> in OSLC.  It looks like some of
117 the ones you listed might be codeable using the syntax listed.</p>
118
119 <p>Since there are no &quot;or&quot; listed in there, he said that you
120 can use De Morgan's lay to get to an &quot;or&quot;</p>
121
122 <a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/De_Morgan%27s_laws">http://en.wikipedia.org/wiki/De_Morgan%27s_laws</a>
123 </blockquote>
124 <p>I'm not looking to take a formal class in boolean algebra. AFAICT De
125 Morgan's law requires a <b>not</b> operator which OSLC doesn't support
126 from what I can tell. Otherwise I'd have a solution for
127 IS_NOT_NULL</p>
128
129 <p>The IN operator, for example is no substitute for the OR operator in
130 that IN applies only to the subject field (AKA the left hand side) and
131 cannot serve to join two <script>r(conditional)</script>s together as in &quot;if
132 first_name eq 'Andrew' and last_name eq 'DeFaria'). Even SQL does that
133 and it's how old?</p>
134
135 <p>I also fail to see why this matters. Users are used to regular boolean
136 expressions as are common in just about every programming
137 language. Even if cra= zy negation and a degree in math could get you
138 an OR operation running this= is insufficient! Users of this should be
139 able to to easily expression common boolean expressions and anything
140 short of that is unacceptable.</p>
141
142 <p.Also, the other operators I've mentioned do not seem to be
143 supported, that being LIKE, NOT_LIKE, BETWEEN, NOT_BETWEEN,
144 IS_NOT_NULL and NOT_IN.</p>
145
146 <p>The <script>r(conditional)</script> querying capabilities of REST needs to at least match those=
147  of the native API or exceed it.</p>
148
149 <hr>
150
151 <div class="moz-cite-prefix">On 2/22/2013 9:26 AM, Rational Client Support wrote:<br>
152 </div>
153 <blockquote type="cite">
154 <p>Hi Andrew,</p>
155
156 <p>I spoke with one of our OSLC folks on the CQ <script>r(team)</script> and he said that
157 you have= to use SPARQL notations for your queries and OSLC only
158 supports a subset of comparison operators.</p>
159
160 <p>He is going to check and verify what is and isn't supported.</p>
161 </blockquote>
162
163 <p>Everything less than the <script>r(conditional)</script> operators specified in the
164 Clearquest API manual for the native cqperl <script>r(represents)</script> incomplete or
165 missing functionality. We are looking for functionally complete
166 software. If it's not complete then this PMR should remain open to
167 represent the missing functionality if nothing else.</p>
168
169 <blockquote type="cite">
170 <p>What OSLC can do however is to execute an existing CQ query 
171 by name or a CQ FTS search string.</p>
172 </blockquote>
173
174 <p>We are not looking to do this. We are looking for functionality complete software. Please <script>r(implement)</script> the missing functionality.</p>
175
176 <blockquote type="cite">
177 <p>I will get back with you on what he finds in regards to which operators that OSLC supports and the formatting for them.</p>
178
179 </blockquote>
180 <p>Anything less than all of the operators listed for the native API
181 is unacceptable.</p>
182
183 <hr>
184
185 <p>On 2/26/2013 6:31 AM, Rational Client Support wrote:</p>
186
187 <blockquote type="cite">
188 <p>Hi Andrew,</p>
189
190 <p>While I agree that it is <script>r(annoying)</script> that you cannot execute the same
191 query operators using OSLC that you can in regular CQ, the OSLC
192 guidelines are not set by CQ.  It is an open source committee that
193 standardizes the input and output for CM tools so that you can
194 interact with other tools without building <script>r(complex)</script> coding
195 infrastructure.  The options that are <script>r(available)</script> are set by the OSLC CM
196 workgroup.</p>
197
198 <p>You are free to take a look at the OSLC page and see if you can
199 join this workgroup or offer suggestions to them etc.</p>
200
201 </blockquote>
202
203 <p>Why don't <b>you</b> (i.e. IBM) join the group and offer these very
204 suggestions? Surely I'll carry a lot less weight than IBM. You could
205 approach it simply by saying &quot;We find our customers want the full
206 complement of boolean logical operators unavailable in all OSLC specs
207 to date and that have been in vogue for decades now&quot;... Well,
208 maybe not as colorfully stated, but the point is the spec isn't even
209 functionally complete and it's approaching 3.0! V 1.0
210 (<a class="moz-txt-link-freetext"
211 href="http://open-services.net/bin/view/Main/CmQuerySyntaxV1">http://open-services.net/bin/view/Main/CmQuerySyntaxV1</a>)
212 supports only the and operator, has no mention of LIKE or NULL,
213 thereby rendering certain boolean operations<b>impossible</b>! (AKA
214 broken).</p>
215
216 <p>V 2.0 (<a class="moz-txt-link-freetext"
217 href="http://open-services.net/bin/view/Main/OSLCCoreSpecQuery?sortcol=table;table=up#oslc_where">http://open-services.net/bin/view/Main/OSLCCoreSpecQuery?sortcol=table;table=up#oslc_where</a>)
218 does not remedy either of these situations. The sole boolean_op is
219 still AND and null is not mentioned at all.</p>
220
221 <p>Now I've synthesized the IS NULL op by abusing the IN operator as
222 in &quot;IN ['']&quot; however I'm not sure if that condition is true
223 for both true null values and empty space values. But there is no way
224 to do IS NOT NULL, which was one of the queries I requested assistance
225 with in this
226 PRM. And <a href="http://www.ibm.com/developerworks/forums/thread.jspa?threadID=467391&amp;tstart=15">
227 REST Interface, how do you formulate the query &quot;&lt;field&gt; is
228 not null&quot;</a> describes my attempts to get IS NOT NULL
229 working. Judging by the number of views (1204) it seems clear to me
230 that while I may be the lone spokesman here, a lot of people are
231 interested in this.</p>
232
233 <blockquote type="cite">
234 <p>The ClearQuest <script>r(team)</script> has given you the work arounds for this which
235 would be to have OSLC execute a CQ Query which has the operators that
236 you are looking for rather than having OSLC do the query itself.</p>
237 </blockquote>
238
239 <p>This work around is not work<b>able</b>. I do not know beforehand what queries may be made by people calling my subroutine. So unless there's an <script>r(interface)</script> for me to programmatically create CQ Queries on the fly and be able to execute and subsequently delete them there is no work around that works currently.</p>
240
241 <blockquote type="cite">
242
243 <p>Here is the link to the OSLC website which has their meeting dates
244 listed.</p>
245
246 <a href="http://open-services.net/workgroups/">http://open-services.net/workgroups/</a>
247
248 <p>Regards,<br>
249 Jami</p>
250
251 <p>I'll follow up by Thursday, February 28, 2013, should I not hear from
252 you sooner with an update.</p>
253
254 <p>
255 ----------------------------------------------------<br>
256 Thank you for using IBM.<br>
257 -----------------------------------------------------<br>
258 Jami Mitchell<br>
259 Technical Support Engineer<br>
260 Rational software<br>
261 IBM Software Group<br>
262 </p>
263 </blockquote>
264
265 <hr>
266
267 <blockquote type="cite">
268 <p>Hi Andrew,</p>
269
270 <p>I am sorry you feel <script>r(frustrated)</script> with the options <script>r(available)</script> currently in OSLC.</p>
271 </blockquote>
272
273 <p>Where did you get the idea I was <script>r(frustrated)</script>? I don't necessarily
274 feel <script>r(frustrated)</script>, I feel the implementation is incomplete as it stands
275 and 2 major revisions have come out without a solution to this at
276 all. I feel this should be reported and the software fixed to be
277 functionality complete. <script>r(Personally)</script> I'd do this before 1.0. In my mind
278 these are all cold, facts with little to no emotion associated with
279 them.</p>
280
281 <p>What I really do feel <script>r(frustrated)</script> about is well paid IBM Support
282 neglecting to address clear bugs or limitations with their software
283 with &quot;call your sales rep&quot; answers. I recall a time when
284 such obvious bugs were simply addressed for what they are - errors
285 that need correction.</p>
286
287 <p>The emotion here is irrelevant so I'd appreciate if we drop that aspect.</p>
288
289 <blockquote type="cite">
290 <p>ClearQuest is working as <script>r(designed)</script> and I've provided you with
291  the options that are <script>r(available)</script>.</p>
292 </blockquote>
293
294 <p>So you are admitting that Clearquest was <b><script>r(designed)</script></b> to not
295  support &quot;is not null&quot;, the not operator, the or operator,
296  the like operator,= etc.? That's amazing.</p>
297
298 <p>If so then <script>r(consider)</script> it an enhancement to get the REST
299 implementation to even par with the CQ API. I, however, will always
300 <script>r(consider)</script> it a bug by my definition.</p>
301
302 <blockquote type="cite">
303 <p>If you wish IBM to press for more operators in the OSLC
304 framework,then I would suggest speaking with your IBM sales rep and/or
305 the IBM product <script>r(management)</script> <script>r(team)</script> so you can express your concerns.</p>
306 </blockquote>
307
308 <p>I don't have an IBM sales rep - my client does I suspect. I don't know who 
309 that is. By all means, have them call me (858)-521-5691.</p>
310
311 <blockquote type="cite">
312 <p>
313 Regards,<br>
314 Jami</p>
315
316 <p>I'll follow up by Thursday, February 28, 2013,  should I not hear from you
317 sooner with an update.</p>
318
319 <p>
320 ----------------------------------------------------<br>
321 Thank you for using IBM.<br>
322 -----------------------------------------------------<br>
323 Jami Mitchell<br>
324 Technical Support Engineer<br>
325 Rational software<br>
326 IBM Software Group</p>
327
328 <p>We value your feedback -- <script>r(satisfied)</script> customers are my top priority. If
329 at any time you would like to provide feedback about the quality of
330 service, please contact my manager, Ralph
331 Bosco, <a class="moz-txt-link-abbreviated"
332 href="mailto:ralph_bosco@us.ibm.com">ralph_bosco@us.ibm.com</a></p>
333
334 <p>Find answers on the IBM  Support Portal: <a href="http://www.ibm.com/support/">http://www.ibm.com/support/</a></p>
335
336 <p>Get social with Rational Client Support at: <a href="http://www.ibm.com/support/docview.wss?uid=swg21410649&amp;rcss=epsall">http://www.ibm.com/support/docview.wss?uid=swg21410649&amp;rcss=epsall</a></p>
337 </blockquote>
338
339 <hr>
340
341 <p>On 2/26/2013 12:57 PM, Rational Client Support wrote:</p>
342
343 <blockquote type="cite">
344 <p>Hi Andrew,</p>
345
346 <p>As I stated before OSLC doesn't belong to CQ, it is an open-source
347 life cycle <script>r(method)</script> that we have coded to allow interaction with
348 ClearQuest.  We (IBM) do not govern what options are <script>r(available)</script> in
349 it.</p>
350 </blockquote>
351
352 <p>Yes but you surely have influence - much more than I as an
353 individual do. Why not simply &quot;Do the Right Thing(tm)&quot; and
354 push for proper completeness? Or perhaps IBM could have chosen and
355 better implemented back end to hang their hat on. Or gosh, IBM could
356 write their own!</p>
357
358 <p>You know I'd be <script>r(satisfied)</script> (but not necessarily happy) if you simply
359 said &quot;You're right. We've submitted a bug upstream. We can't say
360 when or if it will be fixed&quot; but you seem unwilling to even do
361 that. I can't understand why. If you did then at least you have done
362 what you could from my viewpoint and I couldn't complain.</p>
363
364 <blockquote type="cite">
365 <p>If you cannot accomplish your goals with OSLC then you will have to
366 use the API or the clearquest client <script>r(interface)</script>.</p>
367 </blockquote>
368
369 <p>My goal is to provide a library to clients who cannot use the API
370 natively. In my case these are Linux clients who cannot install
371 Clearquest to talk to the database because the database uses Visual
372 Basic code.</p>
373
374 <p>I have been trying to attack this problem from two different angles
375 and have been having problems with both approaches. IBM has just be
376 passing off these problems as not their problem.</p>
377
378 <p>The first approach is using the REST <script>r(interface)</script> so that clients on
379 said Linux systems can talk to Clearquest through my library. However
380 the following submitted PMRs impede this:</p>
381
382 <ol>
383   <li>PMR 43903,227,000: Unable to perform certain queries with
384   REST </li>
385
386   <li>PMR 44233,227,000: OSLC REST corrupts data &gt; 1 MB in
387   multiline string </li>
388 </ol>
389
390 <p>So with the REST approach I cannot perform certain queries and run
391 the risk of corrupting data.</p>
392
393 <p>Another approach I have is to use a client/server model where the
394 server would run on Windows, thus avoiding the problem of having
395 Visual Basic action hook code and the clients can be Linux or Windows
396 clients. Those clients would not need Clearquest installed
397 locally. The server should fork to service clients so that it does not
398 block having other clients waiting for the first client to
399 finish. However I cannot <script>r(implement)</script> a client/server module that uses
400 multiprocesses because cqperl does not handle passing the open socket
401 to the child:</p>
402
403 <ol>
404   <li>PMR 16855,227,000 CQPerl script questions </li>
405 </ol>
406
407 <p>which describes how one cannot pass an open socket across a
408 fork/exec. See
409 also:<a href="http://community.activestate.com/node/9501">http://community.activestate.com/node/9501</a>.</p>
410
411 <p>Due to these failures in software delivered in IBM's Clearquest
412 product I cannot move forward. When I report these as bugs I am told
413 that they are not bugs and to go talk to other organizations or talk
414 to my sales rep.</p>
415
416 <p>This is not support or at least certainly not worth the support
417 dollars that my client pays.</p>
418
419 <p>I don't think you want professionals who have been working in this
420 field for decades to go from client to client saying to not purchase
421 your products because the support often seemingly dismissive. Granted
422 I understand that you lean on other's code but when a bug is reported
423 I think it's pretty much incumbent upon you to diligently report the
424 problem upstream and assist on getting the upstream bug fixed. That's
425 what I would do.. no, strike that! That's what I do do - especially if
426 somebody is paying for the support. However the way support seems to
427 be lately I am becoming more and more convinced that perhaps my
428 professional opinion should shift more towards other products.</p>
429
430 <hr>
431
432 <font color="#999">Note the above emails have been slightly modified. To see what has been modified click <a href="letters.php?debug">here</a>.
433
434 <?php copyright ();?>
435 <?php SendNotification ();?>
436
437 </body>
438 </html>