home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / newsletter / 1998 / w1998-01.txt next >
Text File  |  1998-03-15  |  23KB  |  551 lines

  1. What's Up, DOCumentation?
  2.  
  3.  
  4.  
  5.        Robelle Consulting Ltd.
  6.        Unit 201, 15399-102A Ave.
  7.        Surrey, B.C.  Canada  V3R 7K1
  8.        Toll-free:    1-888-ROBELLE
  9.                     (1-888-762-3553)
  10.        Phone:       (604) 582-1700
  11.        Fax:         (604) 582-1799
  12.        E-mail: support@robelle.com
  13.        Web: www.robelle.com
  14.  
  15. Date:  March 1998
  16.  
  17. From:  Robert M. Green, CEO
  18.        David J. Greer, President
  19.        Hans Hendriks, Editor pro tem
  20.  
  21. To:    Users of Robelle Software
  22.  
  23. Re:    News of the HP 3000 and of HP-UX, 1998 #1
  24.  
  25.    What You Will Find in This News Memo:
  26.  
  27.    Qedit for Windows: Our Quest for Quality
  28.    Suprtool Classes
  29.    Why I Switched to Qedit for Windows
  30.    Hiding Database Passwords
  31.    What's New in Qedit for Windows
  32.    Improving Restore's Default
  33.    Double-Spacing
  34.    Suprtool and Year 2000
  35.    Using MPEX and Qedit for Year 2000 Changes
  36.    Need Your Own Manual?
  37.    How Are We Doing?
  38.  
  39.  
  40. Qedit for Windows: Our Quest for Quality
  41. ========================================
  42.  
  43. Part of the success of our products can be attributed to the fact that early
  44. in their development we started creating automated test suites. As a program
  45. grows in size, testing usually grows exponentially. The only way to ensure
  46. adequate testing is to use automated regression test suites.
  47.  
  48. What about our newest product, Qedit for Windows? Do we have a regression
  49. test suite? The answer to this question is that we do not, but not because we
  50. haven't tried to develop one. This story is about our attempts to automate
  51. Qedit for Windows testing.
  52.  
  53. First Approach:  Visual Test
  54.  
  55. Griffin Webster investigated automated testing tools for Windows products.
  56. After much research (see the September 1997 issue of What's Up,
  57. DOCumentation? for details), he determined that Visual Test was the best
  58. available product for automated Windows testing.
  59.  
  60. After Griffin wrote a number of tests for Qedit for Windows, they were moved
  61. to another machine to make sure they still worked. When we ran the test suite
  62. on Windows NT 4.0, however, we found that the automatically generated scripts
  63. would not work on the NT operating system.
  64.  
  65. At that point Griffin moved on to work on other things. None of his tests did
  66. actual file comparisons or included host file operations. As a result, we
  67. decided that, for the time being, Visual Test was not the right tool for our
  68. automated testing needs.
  69.  
  70. Second Approach:  WinBatch
  71.  
  72. WinBatch is a tool that lets you run scripts on Windows programs. At Robelle,
  73. we have been using WinBatch to automate some operational procedures for our
  74. Windows machines.
  75.  
  76. In our second approach, we used WinBatch to create scripts for testing Qedit
  77. for Windows. It worked, but the process was tedious because testsoften needed
  78. multiple files, which we had to keep track of by hand. Unlike Visual Test,
  79. WinBatch has no project environment.
  80.  
  81. We were making reasonable progress with the WinBatch testing when we released
  82. a new version of Qedit for Windows with completely rewritten child window
  83. support. At that point, our WinBatch tests started failing on Windows 95
  84. (even though most of the time they worked on Windows NT 4.0). Twice we ran
  85. into problems with tests for multiple machines and multiple versions of
  86. Windows.
  87.  
  88. Third Approach:  Scripting
  89.  
  90. Qedit for Windows is an object-oriented product. The architecture splits the
  91. user interface (UI) elements from the objects that perform the actions. When
  92. you open a host file for example, an open host command object is created.
  93. This in turn works with the host document object to issue a transaction that
  94. opens the host file, processes the response, retrieves lines and so on.
  95.  
  96. A scripting language cannot test the UI, but it can test the actual objects
  97. that do most of the work. We intend to use this scripting language to build
  98. automated tests to ensure that the fundamental objects within Qedit for
  99. Windows work correctly. For example, the paste manager has approximately five
  100. hundred code paths. We expect to use scripting to develop tests that invoke
  101. the majority of these code paths.
  102.  
  103. Scripting development is still in progress. In the next issue of What's Up,
  104. DOCumentation?, we might have to tell you about our fourth approach. But we
  105. hope not because a lot of design and careful development has gone into
  106. scripting. We hope to finally create an automated test suite for Qedit for
  107. Windows with scripting.
  108. [David Greer]
  109.  
  110.  
  111. Suprtool Classes
  112. ================
  113.  
  114. Here are some comments from recent attendees of our 2-day Suprtool training
  115. classes:
  116.  
  117.     "I work with Suprtool daily, but NOW I UNDERSTAND what I am doing."
  118.  
  119.     "Excellent instructor. Very knowledgeable."
  120.  
  121.     "I finally know how to use this program!"
  122.  
  123.     "A great pace, learned a lot. But no treats."
  124.  
  125. (In response to the last comment, we have corrected the situation by adding
  126. jellybeans.)
  127.  
  128. Next Class
  129.  
  130. Our next two-day class at Robelle will be held on May 28 - 29, or earlier if
  131. demand dictates. We can also do on-site training if required. For more
  132. information, call 1-888-ROBELLE.
  133.  
  134.  
  135. Why I Switched to Qedit for Windows
  136. ===================================
  137.  
  138. I have enjoyed working with Qedit for Windows as I use it extensively in its
  139. own development (we always try to use Robelle products). A recent one-hour
  140. development session probably best demonstrates why I switched from regular
  141. Qedit to Qedit for Windows.
  142.  
  143. We received an enhancement request to let users specify a different directory
  144. than their UNIX home directory as part of a UNIX connection. I started to
  145. investigate this request by opening the diary file for the Qedit server. At
  146. Robelle we keep diaries for each of our products on our MPE development
  147. machine. Every time we make a change to a product or investigate it, we
  148. update the associated diary. In this case, I entered the internal tracking
  149. number for the enhancement and some notes on what problems I was
  150. anticipating.
  151.  
  152. To support this enhancement, the UNIX login transaction would need another
  153. field. This would require a new tag, which meant that I had to open and
  154. change the master tag file on our MPE development machine. I also changed the
  155. tag file in the client source code on my local PC because this was easier
  156. than copying the whole master tag file to my PC. I then used MS Dev Studio to
  157. recompile the client and a Reflection session with Qedit on the MPE
  158. development machine to recompile the appropriate module for the server.
  159.  
  160. The documentation for all Qedit for Windows transactions is maintained
  161. on a Web page. To update this documentation, I opened the Web page on our
  162. UNIX Web server, updated it, saved the changes, then checked whether they
  163. were correct by viewing the transaction Web page with Internet Explorer on my
  164. local PC.
  165.  
  166. To edit the server source code so that it extracts the new tag, I returned to
  167. our MPE development machine. The generic server source code needed to call a
  168. UNIX-specific support routine with the name of the new directory. No problem,
  169. I just opened the appropriate file on our HP-UX development machine,
  170. recompiled all affected modules and relinked the Qedit server in various
  171. Reflection sessions (the process is quite complicated and involves multiple
  172. machines and more than just recompiling).
  173.  
  174. My source code changes included some test cases. As I tested each case, I
  175. continued changing both the server source on the MPE development machine and
  176. the support routine source on the HP-UX development machine. All of this was
  177. a breeze with the help of the CTRL-TAB keystroke in Qedit for Windows. And at
  178. the same time, the diary file, which I opened earlier in this development
  179. session, was kept up-to-date.
  180.  
  181. After I finished my hand-tested cases I wanted to test one more case in which
  182. the client source code had to be hardcoded. I did this with Qedit for
  183. Windows, switched to MS Dev Studio for compiling and debugging, then returned
  184. to Qedit for Windows to examine the HP-UX log file. Although I ran out of
  185. time to make the necessary user interface changes in the client, I was
  186. confident that the Qedit/UX server could support the new field in the login
  187. transaction.
  188.  
  189. In total I edited at least seven different files on four different machines
  190. (MPE development, HP-UX development, UNIX Web server, and my local PC) in six
  191. different languages (English documentation, SPL,  HTML, C, C++, and Qedit log
  192. format). I was able to do all of this with ease by exploiting the features of
  193. Qedit for Windows.
  194. [David Greer]
  195.  
  196.  
  197. Hiding Database Passwords
  198. =========================
  199.  
  200. A customer called to ask how he can let his users invoke Suprtool to access a
  201. database, without allowing them to see the database password. Here is a
  202. command file we created to do just that:
  203.  
  204. ST.USERCMD
  205.  
  206.     anyparm moreinfo=" "
  207.     run suprtool.pub.robelle; &
  208.     parm=8; info= "base mydb.db.acct,1,PASSWD;!moreinfo"
  209.  
  210. Users should now have execute access to this file, but not read access. They
  211. can invoke the file by including a parameter in the Info string:
  212.  
  213.     st.usercmd use myfile
  214.  
  215.  
  216. What's New in Qedit for Windows
  217. ===============================
  218.  
  219. As time marches on, so do updates to Qedit for Windows! Our R&D staff have
  220. been busy beavers since the last issue of What's Up, DOCumentation? graced
  221. your desk. (Or Web page if you're a virtual reader.)
  222.  
  223. The last issue of What's Up, DOCumentation? reported our first release,
  224. version 4.6.02. Qedit for Windows is now up to version 4.6.07.
  225.  
  226. As the most prolific source of Qedit for Windows enhancement requests at
  227. Robelle, I get to tell you what fun things have been added.
  228.  
  229. COBOL Tags--You're It!
  230.  
  231. Qedit for Windows now has built-in support for the tag area in COBOL source
  232. files.
  233.  
  234. Qedit for Windows can automatically tag your changes with whatever text you
  235. have defined in your Qeditmgr file. This can be the current date, your name
  236. or initials, the date and name, and so on. If you have the Set X List On
  237. option enabled, Qedit for Windows does not allow you to type directly into
  238. the tag area.
  239.  
  240. Right Mouse Button Support
  241.  
  242. The screen shot below shows an example of using the right mouse button to
  243. perform an action that is context specific. You can find, cut, paste, and so
  244. on by right-clicking the mouse when the cursor is in a document window and
  245. selecting an appropriate action.
  246.  
  247. Your Preferences
  248.  
  249. - Qedit now remembers the last 15 search strings.
  250. - The new Always Preserve Trailing Blanks option of the File Options dialog
  251.   box allows you to control how Qedit handles trailing spaces on a line.
  252. - The MPE server now has an option to execute Qeditmgr configuration files
  253.   in the Pub or logon group of the logon account.
  254. - Qedit now recognizes and uses tab stops defined in any of the specified
  255.   Qeditmgr configuration files on an MPE server.
  256. - The Selection option is now enabled automatically in the Print dialog box
  257.   if you have selected some text.
  258. - You can now set default search options in the Preferences dialog box.
  259. - You can now set the default font for document windows in the Preferences
  260.   or the File Options dialog box.
  261.  
  262. Directory Navigation
  263.  
  264. The navigation of directories in multiplatform environments is tricky.  For
  265. UNIX connections, you can now specify any accessible directory as your
  266. default login directory.
  267.  
  268. Instead of downloading an entire directory, you can navigate directly to MPE
  269. directories by specifying a group or directory in the File Open dialog box.
  270.  
  271. For both UNIX and MPE, you can now use wildcards to display a subset of files
  272. in the directory listing.
  273.  
  274. The problem with getting a directory listing from MPE/iX 4.0 has been fixed.
  275. Directory listings with a huge number of files no longer fail.
  276.  
  277. And There's More
  278.  
  279. - Qedit now supports 7-bit national replacement character sets.
  280. - The BACKSPACE key does not remove the previous character in Overtype mode.
  281. - When you start Qedit, it remembers the window attributes from its last use.
  282.  
  283. Please contact us (1-888-ROBELLE or support@robelle.com) if you would like to
  284. receive the latest version.
  285. [Ken Robertson]
  286.  
  287.  
  288. Improving Restore's Default
  289. ===========================
  290.  
  291. Vladimir Volokh from Vesoft called to remind us of an article they wrote
  292. about changing the Restore default. If you have the Vescl account the full
  293. article is in Archive.Ebook.Vecsl, but here is a summary.
  294.  
  295. Restore, by default, changes the creation date, modification date, last
  296. access date, and the state change date of files to whatever the date is when
  297. it is restored. In most cases, this is not what you want. Here is a UDC that
  298. changes this default:
  299.  
  300. RESTORE
  301.  
  302.     anyparm parms=;;create
  303.     comment Changes RESTORE's default to OLDATE.
  304.     if pos("NEWDATE",ups('!parms'))=0 then
  305.      RESTORE !parms;OLDDATE
  306.     else
  307.      RESTORE !parms
  308.     endif
  309.  
  310. This UDC appends ;Olddate to whatever parameters were entered, unless
  311. ;Newdate was specified.
  312.  
  313.  
  314. Double-Spacing
  315. ==============
  316.  
  317. Recently, we have had a spate of technical support questions about double-
  318. spacing. Here is the low down:
  319.  
  320. Qedit
  321.  
  322. When you use the List command on a file, you can use the $DBL option:
  323.  
  324.     "/listq $dbl myfile lp"
  325.  
  326. If you want to double-space your file (i.e., insert a blank line between all
  327. existing lines), use the Divide All command. The default is divide each line
  328. after the last nonblank character.
  329.  
  330. Suprtool
  331.  
  332. If you want your output for List Standard to be double-spaced, one sneaky but
  333. effective way to do this is to append a string of blanks to the extracted
  334. fields. This forces each record to wrap around to a second line:
  335.  
  336.     >extract field1\field9
  337.     >extract "              "
  338.  
  339.  
  340. Suprtool and Year 2000
  341. ======================
  342.  
  343. As the countdown to January 2000 continues, one of our most frequently asked
  344. support questions is, "Is Suprtool year-2000 compliant?" Unfortunately there
  345. is no simple one-line answer to that question. It depends on what you mean by
  346. year-2000 compliant.
  347.  
  348. We discuss this issue at some length in the support area of our Web site
  349. (http://www.robelle.com/support/faq/year2000.html), but here is a summary:
  350.  
  351. 1. If your date fields include the century component and the date is in a
  352. collating date format (year first, then month, then day, e.g.,  CCYYMMDD),
  353. then Suprtool will continue to sort, select, and output these dates
  354. correctly. In short, if your data is year-2000 compliant, then so is
  355. Suprtool. If the date includes the century, but is not in a collating format
  356. (e.g., DDMMCCYY, or MMDDCCYY), then Suprtool will continue to select records
  357. equal to a date, but will continue to refuse to do range selection (<, <=, >,
  358. and >=) against these date fields because the numeric value of these dates
  359. will not collate into date sequence. In all cases, Suprtool sorts and selects
  360. dates according to their numeric value.
  361.  
  362. 2. If your date fields do not include a century (e.g., YYMMDD), then Suprtool
  363. will not deliver logically consistent data after 1999. This is because the
  364. numeric value of YYMMDD no longer collates into date sequence for dates
  365. beyond December 31, 1999. In other words, January 1, 2000 is represented by a
  366. numeric value of 000101 in YYMMDD format, which collates before any date in
  367. the 20th century (19XX).
  368.  
  369. How Do $Today and $Date Work?
  370.  
  371. Suprtool's date functions ($date and $today) are a short-hand method of
  372. generating a numeric constant. For example, the following date selection:
  373.  
  374.     > item invoice-date,date,YYMMDD
  375.     > if invoice-date < $today
  376.  
  377. is exactly the same as
  378.  
  379.     > if invoice-date < 980401   {on 1 April 1998}
  380.  
  381. Suprtool selects records on the numeric value of the field, not on the
  382. implied date value. If we move the calendar ahead to January 1, 2000 and
  383. repeat the commands above, the result would be the same as if you had typed
  384.  
  385.     > if invoice-date < 000101   {on 1 January 2000}
  386.  
  387. If you have some invoice dates from the previous century (e.g., 991201 for
  388. December 1, 1999), they would not be selected. There are two solutions to
  389. this problem:
  390.  
  391. 1. Change the date storage format in all datasets and data files by including
  392. the century so that you can use the following Item command:
  393.  
  394.     > item invoice-date,date,CCYYMMDD
  395.  
  396. 2. Perform the above step every time date selection is required by adding a
  397. Suprtool pre-pass that adds the century component to the dates and creates a
  398. year-2000 compliant workfile that can then be used for date selection on
  399. CCYYMMDD format dates.
  400.  
  401. What about Set Date Cutoff?
  402.  
  403. In Suprtool 4.0 we introduced a new configuration option, Set Date Cutoff nn,
  404. which has caused some confusion among our users. This setting only influences
  405. the interpretation of dates specified in Suprtool commands. For example:
  406.  
  407.     > set date cutoff 50
  408.     > item invoice-date,date,CCYYMMDD
  409.     > if invoice-date = $date(60/12/25)
  410.  
  411. generates the constant 19601225, whereas
  412.  
  413.     > if invoice-date = $date(40/12/25)
  414.  
  415. generates a constant of 20401225.
  416.  
  417. Set Date Cutoff only influences the assumed century when calculating a
  418. constant during the parsing of the $date function. It does no conversion of
  419. the data records it reads.
  420.  
  421. More Error Checking
  422.  
  423. In Suprtool 4.0.11, we also added a check to issue an error when a date
  424. function generates a date constant in the next century if the date does not
  425. have a century component and the If command uses range selection. This set of
  426. conditions is considered an error because the date constant will rarely
  427. select all the desired records.
  428.  
  429.     > item invoice-date,date,yymmdd
  430.     > if invoice-date < $date(*+3/*/*)
  431.     Error: Cannot use a date beyond 1999 for this format
  432.  
  433. After some feedback from customers, Suprtool 4.1 (due for release in the
  434. spring) will allow users to override this error check with the new Set Date
  435. Ifyy2000Error command. While you can override the error check, the behavior
  436. of $today and $date has not changed.
  437.  
  438. Hopefully this clarifies some of the issues around Suprtool and year-2000
  439. compliance. As always, feel free to call 1-888-ROBELLE if you have questions.
  440. [Hans Hendriks]
  441.  
  442.  
  443. Using MPEX and Qedit for Year 2000 Changes
  444. ==========================================
  445.  
  446. A question was recently posted on the ROBELLE-L discussion list from someone
  447. who had used Suprtool to convert I2 (4-byte integer) date fields from a
  448. YYMMDD format to CCYYMMDD by adding 19,000,000 to their values. The user
  449. asked how to revise Suprtool job streams to reflect this change?
  450.  
  451. Because the length of the data item was not changed, the offset of subsequent
  452. fields will not be affected. As a result, only the Item commands need to be
  453. changed. If the user has both MPEX and Qedit, a single MPEX command can
  454. change each modified field in all the user's Job files:
  455.  
  456.     %qedit @.job,change "date,yymmdd"(u)"date,ccyymmdd" "trx-date" (u)
  457.  
  458. That is, for every file in the Job group add "cc" to any Item command for the
  459. trx-date field.
  460.  
  461. Of course if all date fields were expanded, the trx-date qualifier could be
  462. replaced with an at sign (@) in the example above.
  463.  
  464. To subscribe to ROBELLE-L, send e-mail to listserv@robelle.com, with
  465. "subscribe ROBELLE-L <first name> <last name>" in the body of the e-mail.
  466.  
  467.  
  468. Need Your Own Manual?
  469. =====================
  470.  
  471. Have you always wanted your own copy of the Qedit or Suprtool manual? Here is
  472. how you can get one:
  473.  
  474. 1. The annual update package includes a printed manual, which has a diskette
  475. with the WinHelp version of the manual. Use the diskette to run the Setup
  476. program that installs the WinHelp file on your PC.
  477.  
  478. 2. If another user, who shall remain nameless, has already lost the diskette,
  479. the same files are available in the Whelp group of the Robelle account on
  480. systems where our products have been installed (on HP-UX systems, they are in
  481. the /usr/robelle/winhelp directory). Run the program (Qedit or Suprtool),
  482. enter "help install" at the prompt, and follow the instructions to download
  483. and install the WinHelp files on your PC.
  484.  
  485. 3. If the latest version of the software has not been installed on your
  486. system, you can download the WinHelp files from our Web site:
  487. http://www.robelle.com/ftp/winhelp
  488.  
  489. 4. To get a paper copy of the manual, you have 3 choices:
  490. - For US$20 you can buy a printed copy of the latest version from us. Call
  491.   1-888-ROBELLE.
  492. - For US$10 you can buy a manual of a previous version from our remaining
  493.   stock.
  494. - To print a free copy of an MPE manual, simply run the Printdoc.Pub.Robelle
  495.   program and select the manual you need from the program menu.
  496.  
  497.  
  498. How Are We Doing?
  499. =================
  500.  
  501. At Robelle we review almost everything we do on a regular basis. Staff
  502. reviews happen every six months, product manuals annually, product release
  503. checklists twice a year and so on. However, there is one item that seems to
  504. have sneaked by reviewless for several years, and that is this newsletter.
  505. The "open prospectus" for What's Up, DOCumentation? editors is that the
  506. newsletter must be no longer than 8 pages (more than that becomes too onerous
  507. to read) and of value to our customers. So, how are we doing? Are we hitting
  508. the mark? In an effort to find out, we have included a simple survey form
  509. below. Kindly take a few moments to complete it and fax or e-mail it to us.
  510. If there are multiple readers at your site, feel free to copy the form and
  511. return one each.
  512.  
  513. What's Up, DOCumentation? Survey
  514.  
  515. 1. What I like about the What's Up, DOCumentation? newsletter:
  516. _____________________________________________________________________________
  517. _____________________________________________________________________________
  518. _____________________________________________________________________________
  519. _____________________________________________________________________________
  520.  
  521. 2 What I don't like about the newsletter:
  522. _____________________________________________________________________________
  523. _____________________________________________________________________________
  524. _____________________________________________________________________________
  525. _____________________________________________________________________________
  526.  
  527. 3. What I would like to see more of:
  528. _____________________________________________________________________________
  529. _____________________________________________________________________________
  530. _____________________________________________________________________________
  531. _____________________________________________________________________________
  532.  
  533. 4. And I really don't mind if you remove:
  534. _____________________________________________________________________________
  535. _____________________________________________________________________________
  536. _____________________________________________________________________________
  537. _____________________________________________________________________________
  538.  
  539. 5. Any general suggestions:
  540. _____________________________________________________________________________
  541. _____________________________________________________________________________
  542. _____________________________________________________________________________
  543. _____________________________________________________________________________
  544.  
  545. Please fax your response to Robelle at 1-604-582-1799 or e-mail it to
  546. support@robelle.com. Thank you for your feedback.
  547.  
  548.  
  549.  
  550.  
  551.