WebSmart Training Course in Sidney, BC

A WebSmart Fundamentals class will be held the week of January 22-25, at the BCD development group's headquarters in Sidney, BC (Canada). If you are interested in attending this class, or another later in the spring, please fill out the Training Request form at our website and we'll provide you with additional details on our training classes.

Course Content
The WebSmart Fundamentals class is a comprehensive course that will give you a working knowledge of all the areas you need to be familiar with in order to begin developing applications with WebSmart. The course begins with an introduction to HTML (page structure elements, tables, images and links), then continues on to creating simple WebSmart programs. As you familiarize yourself with the tool, you'll add more features to your application: passing parameters between programs, customizing file access, and then prompting users for input and validating what they enter. The class concludes with some exercises in securing applications, SQL, WebSmart's Change Management interface and the new interactive debugger integrated into the WebSmart IDE.

Course Location
The oceanside Town of Sidney, BC is a 5-minute drive from Victoria International Airport (YYJ) only 10 minutes from the world-famous Butchart Gardens. In the nearby City of Victoria you'll find a broad range of dining and entertainment options.

Additional Information
For more information on the training class, or visiting the Victoria area, visit our training information page. And if you have any other questions about the location, content or pre-requisites for the classes, please contact Tech Support by email or phone [250-655-1766].

Why Upgrade to WebSmart 6?

WebSmart 6 has been in General Availability for a couple of months now, and you can download it from our site today (you can also get it from myBCDsoftware.com).

While some of us have an innate tendency to stick with older software versions that we feel comfortable with, here are a few reasons to upgrade to WebSmart 6 ASAP:

Better Templates.
WebSmart 6 includes three completely new template families that are of a much higher quality than those available in previous versions.

While the new template families do produce better looking programs with cleaner code than earlier models, their main raison d'ętre is that they can be easily converted or enhanced to serve as starting points for creating your own custom templates. In addition, we have used more neutral design elements so you can also integrate programs into your current site without clashing with your existing content. By using Cascading Style Sheets extensively, we have also created an easy pathway for you to regularly upgrade the appearance of your applications without having to make any programmatic or HTML changes, or recompile your programs. The new template families are available for creating both WebSmart and Clover programs.

All New Template Assistant.
It's great that we keep adding more templates for you to choose from, but they aren't so useful if every time you want to create a new program, you first have to create a few other throwaway programs just to test templates. Fortunately, that's not necessary! The WebSmart 6 New Program window has been transformed to include illustrations of generated programs for every template type, as well as bulleted lists of the key features. This feature will save you a lot of time when you're trying to decide which template to use for a new program.

Brand New IDE Debugger.
If you want to spend less time getting to the bottom of your application's more obscure undocumented features, the new debugging tools are extremely helpful. The debugger is fully integrated into the IDE, eliminating the need to fire up an iSeries session and wrestle with identifying that elusive job that runs for a fraction of second to present your web page.

Cool Extras
WebSmart 6 features a broad range of IDE tweaks and improvements which you'll have to read about in the New Features Guide, but a local favorite is the HTML right-click option to insert a calendar (very useful with date fields). Any time you have an input-capable date on a page, you can use the right-click menu to insert a calendar next to it. The entire process takes about 15 seconds, and it just... works. But you'll have to read the documentation or attend a training class to get the full scoop on the rest of the cool tips!

Avoid the Lineups
And if you're still emotionally scarred from your campaign to get yourself a Wii, you'll be happy to know that this holiday season there are no lineups to get WebSmart 6. Just drop by our website and download it now. WebSmart 6 is available in unlimited quantities, bandwidth permitting. Gift wrapping not included.

If you have any questions about your WebSmart 6 upgrade, please give our Technical Support team a call today. You can reach us at (250) 655-1766 [07:30-17:00 PST]

File-Flash Plus Feature Profiles: Easy Updates & Mass Deletes

When we're troubleshooting issues in Technical Support we will often ask the caller to make a quick file change and re-run a procedure to test the results. To our ongoing surprise, at this point our calls frequently bog down because quite a number of people don't have to hand a quick and easy way to make a simple change to a database file.

Introducing File-Flash Plus
If you have ever found yourself needing to make a file change and it has taken you more than 30 seconds to do it, you should give File-Flash Plus a try. With FFPlus you can easily open a file, select a subset of fields and/or records, and make the change(s) that you need. File-Flash allows you to change individual records or fields in up to 12 records at a time, much as you would with an input-capable subfile program.

Example Update Screen
Here is an illustration of a typical File-Flash screen:

In the screen above we are looking at the first 12 records in one of our demo files. From this screen we can position the list by key, press F9 to select a different subset of fields, or press F10 to run a query over the file using any of our selected fields. Then, to make the change, we just type into the list and hit Enter. FFPlus also supports a wide variety of other display options, such as the ability to work with unformatted data.

Performing Mass Updates and Deletes
You can also use File-Flash Plus to perform mass updates and deletes. To perform a mass delete, you start by using the FILMNT command to maintain your file. In the second illustration (below) we are working with the demo file FFPDEMO40/CUSTMST. When the main records list was loaded, we pressed F10=OPNQRYF to enter a query selecting the records to be selected. Once you enter your query, you can choose to either update or delete the selected records.

In the screen above we are preparing to delete all the customers with an account balance of zero, and for whom the last invoice date is prior to 1998. After entering your query, you type a Y for the option to perform the mass delete, then press Enter.

When you do this, File-Flash presents a window similar to the one illustrated.

The confirmation window defaults to previewing the records to be deleted. Obviously, this is the recommended choice!

Press Enter to display the selected records in multi-record mode, then press F10 to either fine-tune your query or proceed with the deletion. To continue with the deletion, select option 2=Mass Delete from the confirmation window when you again press Enter at the panel above, and the deletion will commence!

More Information
If you have any questions about this feature, or would like to try out File-Flash Plus 4.0, please contact Technical Support.

You can also visit the File-Flash Features page at the new BCD website for information on other features.

WebSmart Feature Profile: Leveraging Legacy Code

When you start to evaluate whether you should upgrade your applications to support a Web interface, one of the main areas of concern is whether you must rebuild everything from scratch or salvage your existing code. Because the Web is such a different medium than the green screen (see Exhibits A & B, in the File-Flash article above) in many cases you'll actually be better off redesigning the application from the ground up, rather than trying to retain too many concepts based on old design models.

However, even when you redesign your application, you'll find that when you build your new site with WebSmart, there will be many elements that can be salvaged and effectively re-used.

WebSmart has a number of facilities that let you leverage existing application logic in new Web applications. These facilities make it possible for you to reuse code with ease, and to separate the business rules and database processing from the user interface. For example, you might have a complex item pricing module that depends on a customer's purchasing volume, region or number of units ordered. If you use WebSmart to rebuild your application, you can package that module in any number of ways so that it can be readily included in your application's business logic.

Including Other Components in WebSmart Programs
WebSmart has features for using almost any kind of code or application logic you may have on your iSeries. These include objects such as programs, modules or service programs, or code snippets such as subroutines or inline code fragments. There is also full support for RPG ILE subprocedure or C function calls (a module or service program may contain any number of subprocedures or functions, for example). Commonly used techniques include:
  • Object calls to modules & service programs written in any ILE language, or programs written in OPM languages or Java. Any of these calls can send or receive information using parameters or a similar mechanism. The WebSmart PML includes CALL and CALLB functions similar to ILE RPG, to allow you to directly call these objects.
  • Any code snippet written in ILE RPG can also be included. Your code snippet can consist of a combination of global (program level) or local (subprocedure level) variables (D-specs) or calculations. You can include code snippets in a number of ways, such as by building program fields, or by extending the WebSmart programming language (the PML).
  • You can modify the templates to include legacy code, whether via a program field, a CALL or CALLB, or with a user-defined function.
  • You can also create repository extensions to automatically pull specific blocks of legacy code into your WebSmart programs every time you use a particular file or field.
And finally, WebSmart also includes an extensive, built-in facility for converting existing RPG and DDS source members to PML and HTML. This facility is called RDW (RPG and DDS to Web).

Get Firebug!

Duncan's many official responsibilities here at ESDI include surfing the Web to find the latest, coolest development tools. In this vein, Duncan recently alerted us to the existence of Firebug.

In his words - "Firebug 1.0 beta for FireFox puts a wealth of development tools at your fingertips while you browse! If you do any web development then this is for you! It's even better than the FireFox developer toolbar. Go to the URL below to install it (on FireFox) and to find out more about its capabilities. This is an indispensable tool!"

– Get Firebug –

Using RDW
You can use RDW from the WebSmart IDE to help incorporate discrete units of RPG business and programming logic into your WebSmart programs, or to migrate entire programs into WebSmart where you can modify them to make them work in a web environment.

Here are some examples of how you can use RDW:
  • You could convert a complex pricing routine from RPG to PML and encapsulate the resulting code in the IDE for use in any WebSmart program.
  • If you are an experienced WebSmart programmer you can migrate an entire interactive application into the IDE and make the necessary modifications to make it work in WebSmart. Note that the level of modification required will vary greatly, based on the code being converted and your level of experience using WebSmart.
  • You can use the HTML conversion to provide a starting point for creating a web interface that is familiar to your users, or just as a starting point to ensure you have all the fields you need on your new page.
RDW takes RPG or RPGLE source code and instantly converts it to PML, the language used within the WebSmart IDE for developing web applications. In addition, you can take the DDS source code for the associated display file of interactive programs and convert it to HTML, CSS and JavaScript. This provides you with a web-based equivalent of your green-screen look and feel. RDW takes each line of the original RPG and DDS source and produces the equivalent statement in the respective language (PML or HTML). In cases where a direct translation of code is not supported, RDW generates informative comments for you to review and decide what needs to be done. You can expect 70-90% of your RPG code and 95% of your display file DDS to be converted depending on features of the RPG and DDS language used in the original code.

You can integrate converted PML and HTML into new or existing WebSmart definitions. If you are just getting started with WebSmart, you can use this technique to import routines with key business logic. To do this, go through the conversion wizard in an open definition and then copy the converted code into the WebSmart definition you are actually building.

RDW is not a screen-scraper. You only need to do a conversion once, at development time. After doing this, you permanently incorporate the converted code in your applications. It becomes part of the compiled objects that run when the application is deployed.

Look for a more in-depth overview of RDW in next month's Tech Update.

www.bcdsoftware.com Feature Profile: In Depth Feature Lists

BCD launched its new website a few weeks ago [see the initial announcement]. While the site's cosmetic changes are what you'll notice first, our most important objective has been to provide more extensive, higher quality information on each of our products. This is presented in the form of categorized, illustrated feature lists with annotated illustrations.

In last month's newsletter we profiled the At a Glance product overviews (also new), which are a useful way to digest what a product does in just a few minutes. But if you are past the 'browsing' stage, you'll find the new features lists very useful.

In the illustration below, the underlying page is an example of the feature lists we have added for each product on the site (you can click on each area of the image to load the page shown). The Features pages include lists that highlight the most important areas of each product, and the key features within each category. You can further click on any of the entries within each category for additional detail.

The second page shown above (on the right) includes additional information on each of the bulleted items on the main Features page, and in the foreground is an example of the pages displaying detailed information about an individual feature.

What we are striving to do is put at your fingertips the information you need to know in order to justify taking the time to download and evaluate one of our software tools. And remember that if you have any questions about our software and prefer to speak to a real person, you can call either our sales or support offices and we'll be happy to answer any questions you may have from both sales and technical perspectives. You can reach the BCD sales office at (630) 986-0800, and the Technical Support team at (250) 655-1766.

Product Review: BCD's License Free Portal

MC Magazine recently published a Nexus product review by Duncan Kenzie. Duncan's latest article follows up on his discussion of internet portals in MC Showcase about a year ago.

You can read the review online at our website, or at the MC Press online website (if you have a login for their site).

As Duncan states in the review, Nexus has had some major enhancements in its most recent release, growing from a simple solution to the need for secure Web application access into a full-featured iSeries portal product. Read the produce review for a succinct overview of how you can use Nexus as your portal solution.

Nexus 3 is available for download, and we are currently performing in-house testing on several exciting new features that will be made available in version 3.30.

ESDI Welcomes a New Developer to Our Team

ESDI (ExcelSystems Software Development, Inc., the Development and Technical Support arm of BCD) is pleased to welcome a new developer to our staff. Liping Jiang is originally from Beijing, China where she graduated from the Department of Computer and System Sciences of Nankai University in Tianjin 10 years ago. Before coming to Canada Liping worked on the development of a lottery system (the China Sports Lottery), as well as on Vitria's Enterprise Application Integration System. In the few minutes a day in which she is not working on exciting new projects here at BCD, Liping enjoys some traditional Canadian wintertime activities – reading and music.

Liping has only been here a couple of weeks but she is already starting to contribute to some exciting new projects. We could tell you about them, but... you'll have to settle for watching this space for hints!

 Summary List of Recent Updates

Catapult 6.11
Catapult 6.11 is now available for download from our website. Version 6.11 includes the following features and fixes:
  • Added a new PDF Page Setup option that allows you to specify the maximum number of lines per page.You can use this to set correct page breaks in your PDF document for reports that don't already include page break control characters.
  • Added Request and History List logging for CC and BCC emails.
  • Solved reported problems with the Server status window accessed from the Poller application right click menu.
  • Changed the Catapult library label version.
  • Changed the iSeries installation to not automatically load the Catapult website.
  • Solved a problem with an unsupported formatting code not being filtered properly.
  • Resolved some start/stop issues when running Catapult as a service. To address the reported problems all registry keys have been reverted to using Local_Machine instead of Current_User.
  • Resolved a problem where the Poller would attempt to process both Spool File and Network Polling options rather than just the option currently selected in the grab rule.
  • Fixed a problem that triggered an Out of Bound error when moving the first column of the rule listing and then clicking on a folder.
  • If you had a Network Polling rules that sent an "Other" file type as a link, when you saved the rule it would revert to sending it as an attachment. This has been resolved.
Please visit the Catapult updates page for further information.

WebSmart 6.05
WebSmart 6.05 is now available for download. Release 6.05 addresses a number of issues reported in the initial release, and also includes some improvements to the Clover wizard and templates:
  • Resolved issue where debugger would no run on some foreign systems
  • Redesigned Clover SQL statement construction and is more robust.
  • New server command BCDDSPKEY, shows the installed license keys.
  • Generated source code includes the project and set, if applicable.
  • Fix to SQLEXEC, the statement will not contain extra spaces.
  • More robust and consistent Clover templates.
For additional information on this and other updates, please visit the WebSmart Updates page.

ProGen Plus 9.00
There are three new updates available for ProGen 9 this month:
  • PG90003 - 2006/12/19 - Addresses a serious issue where lookup program calls were losing parameters when you saved and regenerated existing definitions.
  • PG90002 - 2006/12/19 - Addresses an *RPG400 generator problem where *DATCVT code at *AP01 was incorrectly generated.
  • PG90001 - 2006/12/14 - This update resolves an issue where when executing a TIME action the timestamp program field was not getting populated. Note: Please note this involves a shell change. The update renames shell GN#GLES\GN#$PGMF2 to O9#$PGMF2 and replaces it with a new version. If you have a customized shell please back it up so you can copy your changes to the new shell member.
For additional information on this and other updates, please visit the ProGen Plus Updates page.

© 2006 ExcelSystems Software Development, Inc.
ProGen WebSmart and ProGen Plus are Registered Trademarks in the US and Canada, and Trademarks in all other countries.