WebSmart 5 Beta Shipping Soon

The WebSmart development team is approaching completion of version 5. Over the last few months you have seen a small sampling of the new features in the tech update. Highlights include the following:

   • A completely revamped change management interface.
   • An ILE/RPG to PML conversion tool.
   • A DDS to HTML conversion tool.
   • Many new HTML wizards for adding challenging web page elements.
   • An SQL prototyping tool.
   • New Vertical HTML view.
   • The generator has been rewritten to improve overall performance (details in upcoming months).

We are now accepting applications for candidates to join our beta program.

By participating in the beta test, you will get immediate access to all the new features, as well as the developers ear and a chance to provide valuable input on things like the ILE/RPG to PML conversion tool and the performance of the rewritten generator.

If you use ProGen WebSmart regularly and would be interested in working with us on the WebSmart 5 beta, we encourage you to visit the WebSmart 5 Beta Request page at our web site.

If you have any questions about the beta, you can contact Technical Support. We will be happy to answer any questions you may have on the upgrade process or any of the new features.

Spool-Explorer IV Beta and Upcoming Release

The beta version of Spool-Explorer 4 is now being prepared for shipment, and BCD is now accepting applications to participate in the beta. By beta-testing Spool-Explorer IV you will get early access to all the latest features, and also have the opportunity to provide us with valuable feedback on this latest version, including suggestions on further features you think should be added.

If you are a regular Spool-Explorer user who is familiar with many of the features in the existing version, and are interested in participating in the beta, please contact us at (250) 655-1766, or by email.

HTML Tech Tip: Style Sheets and Table Borders

Have you ever wanted to have every cell in one table on your page have a border, while other tables don't? In HTML it's simple; just specify the following for the table with borders:

<table border="1">

However, in CSS (Cascading Style Sheets) it's not so simple because:

table.bord { border-style: 1px solid black;}

just puts a border around the outer perimeter of the entire table. An alternative would be to specify a class for each <td> element, but that's a pain.

We've posted an elegant solution (not ours!) at the top of this page.

BCD Technical Support Feedback Survey

If you have had the need (upside-down opportunity?) to contact our support team during the last few months, please take a few minutes to complete our latest Technical Support Survey.

The valuable information that you provide us through this survey will help us to improve the way that the BCD Technical Support Team works for you. Providing excellent support is a dynamic process requiring us to be aware of your companies' growing and changing needs, so that where necessary, we can shift the focus of our team to better assist you.

If after filling out the survey you have any suggestions, questions or concerns that fall outside the scope of the survey, please contact Marcel Sarrasin, our support supervisor, directly.

WebSmart Survey Draw Winners

Our August and September Technical Updates included a request to complete a WebSmart-related survey. The winner of the $100.00 draw was Jorge Machado of Bristol Hospital.

Runners-up, winning T-shirts, were: David Daugherty of Team Air Express, Jason Estrada of Frontier General Insurance, Ray Nelson of Outagamie County, Tammy Joyce of Stanley Furniture Co. and Gary Stewart of Hickory Farms.

Thanks to everyone else who also participated!

BCD @ Toronto COMMON and Las Vegas Tech Conference

If you are planning to attend the Fall COMMON IT Education Conference & EXPO on October 17th-19th in Toronto, please drop by our booth for a visit. You'll find the several BCD sales and technical reps ready to give you demos on all the upcoming software release (including the new versions of WebSmart, Nexus and Spool-Explorer). You'll also have an opportunity to discuss any directions you'd like to see our products taking with both sales and development managers. At the fall COMMON you'll find us in booth 405.

We will also be leading a lab session at COMMON titled "Web Development with ProGen WebSmart" on Tuesday, October 19th from 8:00 to 10:45 AM, in Room 205A/C. Sign up for the lab early! At the opening session in Toronto, Kevin Cronin will be receiving the "Best Traditional Lab" award from the COMMON User Group for his instruction of this lab at the spring COMMON. After that, it will fill up fast!

Later this fall (November 8-10) we'll also have a booth at the IBM eServer iSeries Technical Conference EXPO in Las Vegas. If you plan to attend, drop us a note and we'll let you know where to find us.

BCD Software Minimum Release Level: V5R1

As of September 27, 2004, we have upgraded our development iSeries to V5R3. This means that all software updates and releases prepared as of that date require that your iSeries be at OS/400 Release V5R1 or higher.

If you have any questions or comments about how this affects you, please drop us a note

About the Service Program

The Service Program (XL_WEBSPT/PW_RTSxxx) is the main component of the WAS (Web Application Server). So as to not affect production applications as the WAS is entended, fixed, or improved, new versions of the service program are released [A significant change to a service program yields a level check, just like a change to a file, and would thus break all existing programs the moment the update was installed].

Over time, the more stable and older programs will start to 'lag' the current service program. Generally this is not a problem, except when IBM does something which breaks backward compatibility, which they have done in this case.

WebSmart Programs and Upgrading to V5R3

Up until WebSmart service program level 44 (created in April of 2003) WebSmart service programs were compiled against an internal IBM service program called QTMHCGI. As of V5R3 use of this service program will result in an error (or two) in the joblog, as follows:

Error code parameter not valid.

Because of this error, old programs which have not been recompiled in a long time may fail after upgrading to V5R3. The browser will display the following error:

Error 500: Internal Server Error.

The Apache error log will say:

ZSRV_MSG0107: Premature end of script headers:

To address this problem, you just need to regenerate and recompile your programs.

Potential Apache Security Problem with WebSmart Programs

We have just recently discovered a potential security problem with Apache. In the Original HTTP server, once a CGI program has finished running, the HTTP server resets the user profile to a specific value. In Apache this is not the case. What this means is that any program which changes the user profile leaves the CGI job in a problem state for the next CGI invocation. If the user profile used is of low authority, the subsequent CGI call (handled by that job) will fail and the error log will report:

ZSRV_MSG0107: Premature end of script headers: File name is <x>.PGM, referer: <x>

(Note that this error may be issued for other reasons as well; it is a bit of a catch-all for any error which prevented the CGI program from actually producing output.)

However, if the user profile is of high authority, subsequent CGI programs will be able to run, and they will run under this higher authority, and potentially enable users to access information to which they not entitled.

There are three WebSmart functions which change the user profile for the CGI job: setusr, getusrexp and chgusrpwd. The purpose of the first function is to change the profile, while the other two change it as a way of gaining authority to the user profile in order to get information about it (getusrexp) or change it (chgusrpdw).

This problem can be hard to pin down because:
  1. Programmers often have high authority profiles, so they don't notice until the application goes to production.
  2. The program which changes the user profile completes normally, it is the NEXT program which fails.
  3. On failure, even though the Apache CGI job ends, no joblog is produced. If you were to force a joblog to be produced, it would in any case tell you that the job ended normally.
IBM's response so far to our queries on this issue has been to say that change was intentional for performance and security reasons, though they have not yet responded to the question of how exactly security is improved by this behaviour.

We have now resolved this problem in the following way: Prior to changing the user profile we note the current user profile. We then do all the things we normally do, except that at the end of the process we set the user profile back to whatever it was when we started. In the case of the getusrexp and the chgusrpwd functions this all occurs within the single call of the function. For the setusr function however, the process takes place when the programmer calls rlsusr.

This fix is included in WebSmart Update 6.

With this change in place, things will for the most part work as expected with one change: under the Original Web Server, it did not make a significant difference if someone did not call rlsusr after having called setusr. After these changes, a failure to call rlsusr will create either an error or a security risk (on Apache only).

As Apache will eventually become the only web server on the iSeries, it is important that you download this update ASAP.

If you have any questions about this issue, please contact Technical Support.

WebSmart 5 Directions: Vertical HTML

Another new feature for WebSmart 5 (for which we're now accepting beta requests) is the Vertical HTML view. Normally when you are working with the HTML, sections are separated into 'segments', with tabs for each segment displayed along the top of the main window. The Vertical HTML view allows you to work with your HTML segments as they are organized into previews.

Page previews are sets of related HTML segments grouped into an order in which they would normally be displayed on a page. The Vertical HTML view allows you to work with a preview group of segments together in a continuous vertical display, as shown here:

The Vertical HTML feature still presents a tabbed view of the HTML, except there are only tabs for each of the existing previews. In the above example the definition has four previews: Main List, Display, Change and Add. Each of these previews contains only the set of HTML required to display the selected page. This means that some segments may appear in multiple previews, while there may be others that you have not yet added to any preview.

The individual HTML segments are still easily identifiable in the vertical view. Each one is preceded by a header, outlined in grey, consisting of the segment name and description. This header is read-only and cannot be altered or deleted. In the left margin level with each segment header is an icon that changes from a - to a + depending on whether you have clicked on it. This icon is used for collapsing and expanding each segment. When you collapse a segment everything except the header disappears from the view.

If you have any questions about WebSmart 5, please contact Technical Support.

New WebSmart Example Programs: Date Validation, Conversion and Editing

There have been two new WebSmart example programs published this month:
  • Example 76 - This program uses Javascript to validate a simple text field before the form is submitted.
  • Example 75 - An example of date validation, conversion and formatting.
  • Example 74 - This is an illustration of keeping a count of records loaded from a file, and displaying it at the bottom of the list.
For further details on any of the WebSmart examples, or if you have any questions on how to implement the techniques they demonstrate, please contact Technical Support.

New Portlet in Nexus 2.50: Web Messaging

The Nexus Web Messaging Portlet (available soon in Nexus 2.50) allows you to send messages to both iSeries and Nexus Users. Here is an illustration of this portlet (click on the image to see a full-size version):

As mentioned above, using this portlet class you can send the message to an iSeries user, Nexus user and/or a Nexus Group. Just enter the message in the box, and then add the recipient(s).

If you send to an iSeries user, the message is sent to the specified user's message queue. If you send the message to a Nexus User, Nexus will present a popup window to that user with the message text. In your site settings there is also a polling interval, from which you can control how often Nexus will check for messages.

To add this portlet to the pages available to one or more of your groups, just select the Manage Site option, and select the Design Group Pages option. Or if you just want to add it to your personal pages, start by clicking the My Portal Settings option, then on Design My Pages.

From either location you can then either create a new page that includes just this portlet, or add the portlet to one of the existing pages in the list.

If you have any questions on how to add this portlet to your pages, or how to use it, please contact Technical Support.

 Summary List of Recent Updates

WebSmart 4.02
  • W402006P.EXE - 2004/09/30 - Please note that this update requires a minimum OS/400 release level of V5R1. If you try and apply the update while at a lower release of the operating system, the update will fail (though WebSmart will continue to run without changes). You should also note that once you have applied the update, any programs that you generate will not be distributable to any system with an OS/400 release level previous to V5R1.

    Update 6 includes all previous enhancements and fixes plus:

    • Fix for Apache security problem.
    • Improved ECRTCGI and SQLCONNECT interaction.
    • Sqlquery changes for V5R3.
    • Other minor fixes.
Please visit the WebSmart Updates page for further information on the available updates.

Catapult 5.15.2

Catapult version 5.15.2 is now available for download. This version addresses a number of reported problems, and also includes several new features, mostly related to the WOW. Please visit the Catapult Updates page for further information on this update.

© 2004 ExcelSystems Software Development, Inc.
ProGen Plus and ProGen WebSmart are Trademarks in the US and Canada.
[an error occurred while processing this directive]