Nexus 3.3 Beta Now Available

The Nexus 3.3 beta is now available for download. If you are interested in participating in the beta and have not yet signed up, we will be accepting requests to participate in the beta for a few more weeks.

Our efforts for this release have been concentrated on the ECM (Enterprise Content Manager) and adding a number of enhancements that will make a significant difference to your users as they work with the Nexus portal on a daily basis. The ECM Navigator has seen the addition of several new features, while the Favorites menu (profiled in last month's Tech Update) automatically gives every user not only a way to create a portable, personal set of bookmarks, but also a secure area of the ECM where they can keep their own documents and objects. Another new feature that provides an immediate upgrade ROI is the option to reuse ECM templates; we've written more on this in a separate article below.

You can find an illustrated summary list of the features added to this version at our website. We will also continue adding more features during the course of the beta.

Participate in the Nexus 3.3 Beta!
For further information about the Nexus 3.3 Beta, please contact Technical Support. You can also go directly to the Nexus 3.3 Beta Request Form to sign up, and we'll get in touch with you to let you know how to download it. We'll look forward to your participation, and any suggestions you can provide on how we can further improve the Nexus Portal.


ProGen Plus 9 Training Course in Sidney, BC

A 4-day ProGen Plus 9 Fundamentals training course has been scheduled for the week of April 16. We will be hosting the class at our Sidney, BC location. If you are interested in attending this class, please submit a training request via our website.

This class is intended primarily for new users of the software, though even ProGen Plus veterans of many years have found these courses useful. The course is fairly dense, and moves quickly, using over a dozen hands-on exercises to cement concepts, as well as give you the opportunity to experiment with the product under the watchful eye of our trainer.

If you have any questions about the course content, or whether the level may be appropriate for you, give us a call at (250) 655-1766. Our Sidney, BC offices are located just a few minutes from Victoria International Airport (YYJ) and three blocks from a beautiful oceanfront facing the San Juan Islands. Spring is a great time to visit Vancouver Island, and this area abounds with recreational options.


Support & Development Office Closure April 4

The BCD Tech Support and Development office will be closed Wednesday, April 4 for our annual staff meeting.

If you need assistance, you will be able to leave messages and call back information with the BCD sales office at 630-986-0800. The sales office will be in touch with us during the course of the day to relay any issues requiring immediate attention.

For non-urgent support issues, please leave a voice mail message at our regular support number (250-655-1766), or send us an email. We will respond to voice and email messages promptly on Thursday morning.

We appreciate your understanding. If you have any questions or concerns, please contact Kris Waugh, our Technical Support supervisor.


BCD @ Spring COMMON in Anaheim, CA

This year's Spring COMMON Conference and ExpoOpens new window will be held in California, from April 29 to May 3, at the Anaheim Convention CenterOpens new window. As always, BCD will have a solid contingent there ready to answer your questions and tell you all about where we're heading with our various product lines. And depending on how the next few weeks go, we should be ready to make some announcements on a couple of highly exciting new projects we've been working on... so come by to hear about them, and maybe you can even get a quick demo on the sly.

If you'd like to talk with us, come by booth 510 at the Expo, or sign up for either of Duncan Kenzie's events. You can count on Duncan's willingness to stick around for a while afterwards to discuss your particular projects, and the team at the booth is always happy to have a chat.

Duncan Kenzie, President and CTO of ExcelSystems Software Development, Inc. will be leading a Lab entitled Rapid iSeries Web Application Development with WebSmart, on Monday, April 30th from 11:00 am to 1:45 pm, in room 201B. In his lab you will get a hands-on introduction to building ILE RPG CGI programs using WebSmart, a charter member of the IBM iSeries Developer Roadmap. Duncan will also introduce you to the advantages of web deployment using the Apache web server which ships as a standard component of OS/400. This lab (as taught by Kevin Cronin) has twice won the 'Best Traditional Lab' award at COMMON and fills up quickly, so sign up soon.

Duncan will also be delivering a session on WebSmart - Simplifying iSeries Web App Development (ILE RPG CGI) on Tuesday May 1st from 9:30-10:45 am in the Grand Blrm Salon G, and in that we will introduce the WebSmart development tool and demonstrate how browser-based applications can be developed using the WebSmart templates and design wizard. Duncan will focus on using the WebSmart Integrated Development Environment (IDE) and also review the report design facilities of Clover, which is incorporated into WebSmart. He will also discuss the benefits of deploying CGI applications using the Apache Web Server and highlight advantages of a true browser-based model using CGI vs. alternatives that capture and convert the 5250 data stream.

If you have any questions about these events, please drop us a note.


Nexus 3.3 Feature Profile: Faster ECM Document Loading

Concealed beneath the hood of the new, innocuously named 'Reuse ECM Templates' option is functionality that will turbocharge your ECM document load times. Because this feature does change how your ECM behaves, we're shipping the option unchecked for upgraders (it's switched on for new installs). But before we tell all you upgraders where you can find the option to turn it on, it's worth taking a moment to understand how and when it works.

ECM Templates
Unless you happen to be one of the 9 people who have read the Nexus User Guide cover to cover, you may not realize that the way in which every document and folder in your ECM is presented is controlled by an "ECM Page Template". You can see which ECM page template your document is using at the Advanced Options tab in the ECM Maintenance window:

As you can see in this illustration (which we took from the sample Nexus site shipped with the product), the page template is often inherited from a higher level document or folder. In our own sites we typically group like-documents together. When we do this, we specify the page template at the top of a folder, and allow all the included documents to inherit that template.

What is the Template?
Now you know where to find a document's template (and how to choose a different one). But what exactly is the template? Simply put, an ECM Template is a page design with the portlets it contains. For example, the Default ECM Template shipped with Nexus is set up to display a 2-column page with the ECM Navigator on the left and the main ECM Viewer window on the right. For most documents, this is a useful configuration: adequate screen space is allocated to the selected document or object, and you can still see a list of other documents to choose from.

But you can also create any number of customized page configurations, to include other portlets displaying content that supplements the chosen document. For example, if you had a set of Catapult reports that your users frequently used, you could create a new template with both a customized Navigator instance and an ECM Search window limited to just those files.

Loading Pages Faster By Reusing ECM Templates
You can find the new Reuse ECM Templates option in your ECM Defaults (at the Manage Site page):

When this option is selected, every time you click an ECM link Nexus checks whether or not the new document uses the same ECM template as the document currently displayed. If the documents use the same template, the portal just reloads the Viewer window, and not the other portlets that you have on the page.

The performance increase you experience will depend on how many portlets you have on your page and the size of the documents you typically view. But you can normally expect pages to load at least twice as fast as they would otherwise.

Having your Cake, and Eating it Too
However, savvy readers might have already spotted a catch here: by reloading only a portion of the page, we are no longer generating a unique page URL for every document. This would appear to make it impossible for you to use browser bookmarks for particular ECM documents (though Nexus Favorites always work). You may even recall that the ability to bookmark individual ECM documents was one of our highlighted features in version 3... In any case, this is also taken care of. If you need to bookmark an ECM location, just re-click the same link in the ECM Navigator, and the second time you do that Nexus will reload the page with a unique URL that refers to that specific document.

This feature, and many other equally useful ECM enhancements, is available in Nexus 3.3.


WebSmart Product Review Published in MC Press Online

We were pleased to see a recent WebSmart review by Duncan KenzieOpens new window published in MC Press Online. In this write-up Duncan has focused primarily on the collaboration features in WebSmart that help small and large teams of developers produce high-quality, robust Web applications for the iSeries platform.

The informative article includes a section on how you can use the WebSmart repository to create sophisticated DB extensions that you can then automatically pull into all the programs that use those files. The beauty of the repository is that it can save you lots of time (code once, use many times), but there is no imposed structure. You can pick and choose when and where to use the files and their associated extensions, and you can add new extensions at any time.

Included also is a discussion of the WebSmart Change Management system, as well as several other important features. If you are interested in reading a good introductory overview of WebSmart, this article is a good place to start.






Mitsubishi Fuso Consulting Profile

Jim Peary, Director of Corporate Systems, Mitsubishi Fuso of America, Inc.

Mitsubishi Fuso Truck of America is the North American distributor for Mitsubishi Fuso medium duty trucks. We import, sell, and support trucks and spare parts to businesses with needs ranging from a single truck with a cargo box to deliver furniture, to a fleet of trucks with specialized equipment, such as to refuel airplanes on a tarmac. We support a network of nearly 200 dealerships in the US and Canada.

Fusonet is an extranet portal we use to conduct business with the dealerships that sell Fuso trucks. WebSmart allowed us to write applications that tightly integrated with our ERP system running on our iSeries. This allows real time data and transactions when dealers inquire on availability of trucks or parts, buy trucks and spare parts, and manage warranty claims. We are able to present information on the complete life cycle of a truck from the time we order it from the factory to when our dealers sell it to an end user.

Our project was to develop an extranet portal for our truck dealers to conduct business with Mitsubishi Fuso. This replaced an existing mature application so it had a high level of expectation for maturity on day 1 of its release. Our programmers were new to WebSmart and while they were doing well learning it, they could not turn out complex applications quickly enough for the aggressive roll-out schedule required to meet a critical deadline.

The project consisted of several phases of development that involved different resources both at Mitsubishi Fuso and on the ExcelSystems team. These phases included:
  1. Vehicle Availability Inquiry
  2. New Vehicle and Pre-Delivery inspection entry
  3. Vehicle tracking
  4. Warranty claims entry
  5. New Vehicle order entry
  6. Dealer parts order entry
  7. Retail Delivery Notification entry, and
  8. Vehicle Recall entry.
We turned to ExcelSystems for help with our development. We never met with them in person before this, but the project management was very smooth. ExcelSystems produced very good quality programs quickly, having had little time to get to know our business. They were responsive to our deadline. They worked nights and weekends to help us meet a critical deadline.

Our team at Mitsubishi Fuso did a thorough job of preparing specifications for each phase of the project. We used PowerPoint to storyboard the application and to provide technical details. This proved to be an effective method of providing the information ExcelSystems needed to get started. We'd kick off each phase with a web conference call and follow-up every week or so to review progress with programmers and management from both companies. ExcelSystems was very customer service oriented in their approach and were flexible when our specifications might have been either not fully defined, or changed during development or testing. They always seemed to ask the right questions to clarify our requirements.

Managing the project via e-mail and telephone was very effective and communicating our needs and testing results went very smoothly. The three hour time difference worked to our advantage since our end-of-day test results would be fed back to programmers who still had several hours to work on them that day.

After the rollout of the portal, ExcelSystems willingly conducted technical reviews of the applications they had developed to train our programmers on advanced techniques. ExcelSystems programmers conducted these as web-based training sessions and it was a great help to build our in-house WebSmart skills. This knowledge transfer has enabled our programmers to maintain the applications in-house.

Here are some illustrations from the application that was built (click to enlarge and display detailed descriptions):


Vehicle Order Entry

Warranty Claims Entry

Sale Details


For further information about how this application was developed or for details on our consulting services, please contact Kevin Cronin.


WebSmart Application Profile: Using Flashmaps to Display Sales Territory Details

Our consulting team recently completed a project for a good customer of ours, and as there were some particular areas of the application that were quite interesting, we thought we'd share some information on it. Perhaps the solutions we came up with are something that you could use yourself, or will give you ideas on how to improve your own applications.

Displaying Territory Performance Data
As one part of their application, our customer wanted to show a map of the US which they could use to track the number of shops in each territory and the percent change of sales from the previous year to the current year to date. Here is an illustration of the map we created:

The Flashmaps application has a master XML file that tells the flash object where to look to find the XML for different aspects of the map. To build in the information we needed, all we did was refer the XML to a WebSmart program instead of a static XML file. The WebSmart program could then generate that XML using the data from a database file. Using XML, we can customize the color of each territory (colored differently depending on sales totals), whether you can drill down into a territory, what information appears when you hover over the territory, and the points of interest on the map.

When a user clicks on a territory, they see a close-up view of that area:

In the territory maps, the different flags represent the various shop types. Again, the display of this information is a result of XML generated by a WebSmart program. When you hover over the dots, the map displays geographical details, and hovering over the flags pops up a summary of the orders from the particular customer. The information that appears when you hover over each point, and the actions that are triggered by clicking, are completely customizable. And as you can see from the map key on the right, the map also supports the ability to conditionally display only particular types of shops, by checking/unchecking the selection boxes.

In creating this application we looked at various mapping products, including those available from Google and Yahoo, but eventually settled on using Flashmaps because they were able to best handle the complex territory co-ordinates. To use FlashmapsOpens new window we had to purchase a developer's license, and we also opted to contract them to lay out our areas for us. This solution was far less expensive than attempting to write code from scratch ourselves.

The maps illustrated above are just a small part of a large application we created for this client, combining various technologies with WebSmart programs, Clover reports, and SmartCharts. If you have any questions about this particular application, or wish to explore the possibility of doing something similar yourself, drop a note to Kevin Cronin.




Clover Feature Profile: Emailing Reports

In a recently added Clover example program we demonstrated how you can use the new WebSmart piping functions to easily send someone an email version of an online report. Due the interest garnered by the example program, we are expanding on it below.

Our starting point for this program is a Clover report built over the file XL_WEBDEMO/MU_ORDHF, where we've checked the 'Prompt for User Input Values' option. We created a User Input value based on the customer number, which we also filtered on. Then we selected a few different fields from the file and created the report. This was our final SQL:

select OHORD, OHDESC, OHORDT, OHSTAT, OHOTOT from MU_ORDHF where OHCUST = :customer order by OHORD

The initial report displays a list of orders for a selected customerOpens new window.

Once we had confirmed that the basic report was working, we then went back and made the changes described below.

1. Create the necessary work fields.
First we right-clicked in the Fields List area to create a new 40,A work field which we named 'emailad'. We also created a second 31500,A work field called 'data'. This is the field that will contain the piped information that we'll be emailing.

2. Create an email address prompt on the web page.
Next we went to our report's HTML and in the Banner area, below the current Customer Number prompt, added a form to prompt for an email address:

<form method="get" action="<field name=*PGMFLDS.pgmf_qpgmnam>">
<input type="hidden" name="customer" value="<field name=customer>">
  <table class="mainlist">
    <tr>
    <td class="text" width=150 align="right">Email Report to: </td>
    <td><input type="text" name="emailad" size="25" maxlength="40" value="email@address.com"></td>
    <td><input type="submit" name="submit" value="Send Email"></td>
    </tr>
  </table>
</form>
In the italicized sections you can see that with the form we're passing the customer number as a hidden field, and prompting the user to enter an email address, then submitting it with a value of 'Send Email' on the form (to distinguish this from the top form, used to reload the list). We're also putting a default email address in the input box, so we don't have to re-type it every time we test the program...

3. Add a subheading.
Just below where we added the new form and table is the start of the data list. In our report, the start of the list is identified with these tags:
<div id="contents">
<table class="mainlist">
Just above these, we added this line:
<h3>Orders for Customer: <field name=CUSTOMER editcode="4"></h3>
Now our email recipients will know which set of orders they've been emailed.

4. Set the piping and add a style sheet to the emailed HTML.
Next we need to tell the program when and where to start piping the data that we'll be emailing. In our report, we'll start with the heading line we just added (in step 3) and stop at the end of the page. So just above the new heading line, we added this code:
<pml>
if(getparm("submit") == "Send Email")
  setpipe("*ON", 31500);
  wrthtml("<html><head><style>");
  include("/esdi/websmart/v6/idaho/css/screen.css");
  wrthtml("</style></head><body>");
</pml>

This opens the pipe, and throws some standard page-level HTML tags into the top of the report we're constructing, and also inserts a style sheet to make sure that the emailed report looks just like the one displayed on the page. You could also construct a separate style sheet specifically for the emailed version.

We have chosen to add the style sheet directly into the distributed email (as opposed to just building in a reference to an external style sheet) because many email clients prevent email messages from retrieving external files on load. By putting the entire style sheet right in the actual HTML sent to the user, we can avoid that problem.

Then, at the very bottom of the report, just before the </body> tag, we added this:
<pml>
if(getparm("submit") == "Send Email")
  setpipe("*OFF");
</pml>
We'll make a few more PML changes in the following steps.

5. Adjust the condition under which the prompt page is shown.
To ensure that the prompt panel only appears when no customer number has been specified, and not also when we email the report, we changed this line:

if (pgmf_task <> "RUN_REPORT")
to
if (pgmf_task <> "RUN_REPORT" and customer == 0)
6. Add a 'Message Sent' confirmation message.
Now add these two statements at the end of the pgm_init function:

if(getparm("submit") == "Send Email")
  alert("The report was emailed!");
This will pop up an alert box when the report has been emailed.

7. Use the data in the pipe to send the email message.
Finally, at the bottom of your PML add this code to build and send the email:
func pgm_exit()
{
  if(getparm("submit") == "Send Email")
  {
    data = getpipedta(31500);
    getparmset(emailad);
    sendmailex("fromemail@address.com",emailad,"Customer Orders Report","","","Content-type: text/html",data,"");
    redirect("?task=RUN_REPORT&customer=" + numtoalpha(customer));
  }
}

In this code we are checking whether they clicked the submit button the Send Email form, and if so, are retrieving the piped data and pre-pending a style sheet reference to the top of it. You may need to change this path to use your own iSeries IP address. Then we are sending the email that includes the report and stylesheet, and afterwards redirecting back to the list to redisplay the page. The first three parameters on the sendmailex function are the from and to email addresses and the email subject line.

Here is an illustration of the finished report, in our Inbox:

You can run the finished report at our websiteOpens new window. If you have any questions about how we created this program, or how to make other changes to your report, just get in touch with Technical Support.

We can also send you the Clover definition for this program, though you'll need at least a trial license key for Clover to open it in the WebSmart IDE.


 Summary List of Recent Updates


Catapult 6.14
Catapult 6.14 is now available for download from our website. Version 6.14 includes the following features and fixes:
  • A new default translation table has been added that will be installed with a fresh installation of Catapult. Previously we were creating a new table on install, but were basing it on a system table which turned out to have an incorrect character mapping.
  • A character in the default translation table has been changed to more properly reflect the ECBDIC to ASCII conversion.
  • There has been a change in how Nexus and Catapult talk to each other, involving the share and path that points to the ECM folder on the IFS. For more details, please contact Technical Support. Nexus sites that are currently configured do not need to be modified to continue functioning.
  • There have been some changes regarding how Catapult interacts with the operating system. As a result, there have been improvements in the response time regarding Catapults system tray, as well as improvements in the response time of the Office suite while the Poller is running.
Please visit the Catapult updates page for further information.


Spool-Explorer/400 Release 4.31

Spool-Explorer 4.31 has actually been available for a few months now, but it slipped through the cracks and was never announced here. Version 4.31 is available for download now, and it includes all previous updates and enhancements. Version 4.31 includes the following new features and fixes:
  • Support for alternate font encodings has been added. Users now have the option of choosing an encoding when they create PDF and RTF documents. The default is standard windows 1252 Latin 1 encoding. Users can also choose Central European, Cyrillic and Greek encodings.
  • Support for Central European characters in PDF documents has been improved. When a user selects to override a document with a CE font (e.g. Courier New CE), Spool Explorer will correctly use the Windows 1250 code page to map characters.
  • The default value for the "Format As" field in the Spool Explorer configuration has been changed to "Print Format" from "Data File Format".
  • A problem with the Spool Monitor has been resolved.
  • A problem where EZ-Pickin's would remain open when running an autoscript with ZDWNSPLF has been corrected.
  • All OVRSCOPE parameters on OVRDBF commands have been hardcoded to the value *ACTGRPDFN.
  • Emailing a report while using the built in Spool Explorer email client will no longer place the attachment in the body of the email.
Please visit the Spool-Explorer Updates page for further information on the available updates.

Docu-Mint/400 6.0
  • DN60R017 - Resolves an issue with library analysis over *ALL libraries, where in some circumstance it wasn't performing the analysis. Library analysis of individual libraries or groups of libraries wasn't affected.
Please visit the Docu-Mint Updates page for additional information.



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

BCD, Exclusive Worldwide Distribution and Marketing Rights on ProGen WebSmart, Nexus Portal, Clover Query, RDW, ProGen Plus, DbGen, Catapult, SmartCharts, Spool-Explorer, EZ-Pickin's, Docu-Mint and File-Flash Plus.