Clarion Handy Tools


CHT Development-Plans Summary 2017


This CHT Toolkit Facts Sheet summarizes some of the new and on-going development plans and the medium-term objectives that we have set for ourselves in 2017.

We hope you'll have some time to read the entire document, and how it came to be created. This document should be of interest to all Clarion developers, CHT Subscribers or non-subscribers, alike.

On the other hand, if this document is of no interest to you, please take a minute to let us know that - there's an unlist-me link near the end - and we'll immediately update our mailing list to mark the email address by which you're receiving this, as DO_NOT_MAIL.


ONGOING:  Development Carrying Forward in 2017

Introduce XSA Project Kits

CHT-XSA-KIT-01 was released and has been available from July 2016.

COMING 2017:
CHT-XSA-KIT-02 to be released before the end of Quarter 1 (March 31, 2017).
CHT-XSA-KIT-03 to be released before the end of Quarter 2 (June 30, 2017).
CHT-XSA-KIT-04 to be released before the end of Quarter 3 (September 30, 2017).
CHT-XSA-KIT-05 to be released before the end of Quarter 4 (December 31, 2017).

XSA Project Kits are pre-built Clarion projects in source code ready to compile or customize and compile. Active CHT Subscribers receive these KITS included as part of their toolkit subscription.

For non-subscribers these CHT-XSA-KITS are a great way to obtain CHT componentry piece-meal, in customizable source, and also to familiarize yourselves with our toolkit code libraries and binaries while building some powerful, ready-to-use executables like web servers, web installers, html document and report generators, bulk email senders, zip and archive utilites, SQL tracing and browsing utilities and plenty more.

Kits come with 3 or more complete projects organized around a specific end-use.

XSA-KIT-01 for example is organized around eCommerce. These are template-less Clarion projects provided in source code which can be, edited and compiled, as opposed to applications which need to be generated and compiled. CHT-XSA-PROJECTS do not require any templates in order to compile to completion. They require CHT classes only and these are available for purchase, separately, outside the CHT subscription model.

Changes and customizations to these projects are performed with the Clarion editor rather than in the Clarion AppGen's Embeditor.


Look for enhanced (i.e. easier) developer customization in ALL CHT-XSA-PROJECT kits that may require developer-specific project edits in 2017. This allows developers to customize, say the code of an installer project, to include their own images, urls, container names, and so on, without actually having to write code or without having to acquire a too-detailed understanding of the workings of our project code yet still achieve a satisfying, developer-specific outcome in the finish-compiled executable.

Also for 2017, we're including with each project KIT, a supervisory or container project which pulls together all of the projects in any one KIT. From here, that entire kit can be edited, studied, and compiled as a batch.

Optional customizations for any single project are, as of now, localized into a user-editable project specific INCLUDE file with instructional comments and suggestions. Hence, unless developers intend to change program logic, or add significant features, there's really no need to even open any "code" files, only a given project's INCLUDE file. All projects compile and run right out of the box, so that developers can test and decide what exactly (if anything) they wish to change in the look or behaviour of a project.


Read more about CHT-XSA-KIT-01 here:
CHT-XSA-KIT-01 - 4 eCommerce Projects


CHT-only (non-ABC) Browse Template - ListBoxBrowseExtender (LBX)

ListBoxBrowseExtender ( "LBX" for short) pre-exists 2016 and in our November 2016 newsletter, we reviewed a number of demonstration applications that illustrate its capabilities and intended use to that point.

See: NOV 2016 CHT Features Review (Section 4)

In Nov/Dec of 2016 we began an extensive revision and re-purposing of LBX to make it into a powerful 100% replacement for ABC browses in Clarion applications everywhere. Read more about that in the following RECAP and FUTURE OF sections, below.

LBX in 2017, is evolving into a CHT-only Clarion browse template that can be used to build Clarion local-data browses or remote-data, Client/Server browses without requiring the use of the ABC Browse template. With as little as one click on our template interface, an LBX browse configured to access local data tables via Clarion data drivers, can be transformed into a full Client/Server browse that accesses remote data tables and views via a separate CHT Data Server application.

While in full local mode an LBX browse does not require a data view server application as it uses Clarion data drivers in the standard way. And while in full Client/Server mode a separate data view server application may be placed locally, or across the WAN or across the WEB without significant speed degredation and without significant simultaneous-user limitations, as is usually case with Clarion-data-driver-style implementations on the WAN and always the case with RDP-style remote computing where your app is limited to a half-dozen simultaneous remote users, unless expensive hardware assets are mobilized.

Six separate switches, used individually (one set on, the rest set off), determine exactly by what means a browse is connected to its data source. Each switch, only when checked, generates code into a separate class procedure the name of which indicates how the browse is filled.

These names are as follows:
• LBX.FillFromFile()
  Browse filled from a single local data file ISAM or SQL.
• LBX.FillFromView()
  Browse filled from multiple, joined local data files ISAM or SQL.
• LBX.FillByEmbedding()
  Browse filled by developer hand code. No more fighting ABC generated code.
• LBX.FillFromSQLSelect()
  Browse filled by CHT Class Function via SQL SELECT/WHERE statements to local/remote SQL View.
• LBX.FillFromCHTServer()
  Browse filled from CHT Client/Server, local or remote, ISAM or SQL.
• LBX.FillFromUCRServer()
  Browse filled by remote procedure call (UCR) to CHT Server, local or remote, ISAM or SQL.

These same six switches, used together or in combination (two or more or all set on, some or none set off), allow the application to switch at run-time between local data mode or remote Client/Server mode. In other words, the application can be told via user interaction, to call into browse-fill code located in one of the above named class methods.

An extensive group of LBX-related templates for CHT-style querying, multi-table update forms, a new browse procedure template, a new browse procedure wizard, local and remote process and report templates are also in the offing for 2017. A number of these are already in place as of this writing (January 2017).

Also new as of this writing, are two example LBX applications we'd like you to take a closer look at (links below). The second of these apps, still in the early stages, will provide a finished browse filled by one of the methods explained above, and a stub procedure for developers to practice creating a browse procedure just like it. We'll also provide a set of videos to walk developers through the steps involved.




New HTML-based Document Builder Tools

In 2016, we delivered several, tools and templates to assist with the creation of HTML-based documents like static/dynamic (mail-merge) HTML emails, static/dynamic web pages and a variety of static/dynamic documents like HTML based invoices and receipts (that can be printed to PDF). You can RECAP what we said about these applications by clicking the links below.

See: NOV 2016 CHT Features Review (Section 5)

See: The Next (Document) Generation

CHT has a rich history of HTML generation both in it's IDE templates (eg: AACHTControlPanel), as well as in toolkit support utilities (eg: HNDTPXHTNEXT.APP, HNDSCRPT.APP) and further still, in its browser-server templates (eg: BrowserServerInitializationControls, BrowserServerJDOBuilder).

The newest crop of HTML-Based Document Builder Tools and Templates (from 2016) will continue to expand both in the variety of examples and utilities provided as well as in the breadth of functionality incorporated.

••• Imagine selecting a number of records from a customer browse and clicking a button to send them personalized HTML email invoices or receipts, or printing these HTML invoices or receipts directly to PDF for other digital or paper forms of distribution.

••• Imagine further using a tool like HNDDOCUMENTBUILDER.APP, or a variation of it, to create XML document templates that not only generate static HTML pages based on fixed information entered by hand, as we're doing presently. But consider also including in them, VARIABLE data that originates from a data file and merges into the finished, generated HTML document.

••• Imagine finally, a CHT Snap-In or BATCH-BOT executable that, from inside a desktop app or server app or perhaps from a DOS batch script, can marry table data - like mail merge does - with one of these pre-designed XML document templates to produce finished HTML documents or PDFs in the form of receipts, invoices, invitations, and personalized communication of all sorts.

  About Clarion Running "On-Board" Portable Devices


Clarion and Windows both, have spent a number of years being slowly edged aside by newer, operating platforms. Not entirely in the desktop space, where the Windows O/S probably still rules to the greater extent; but most certainly in the mobile space, where Apple and Android O/S's have come to take leading positions.

Clarion, being still tied at the hip to the Windows operating system has never even tried to break into the on-board application business in the latest small-mobile space.

Note we refer here, to on-board applications written, compiled and run as Windows executables, on-board the mobile hardware, not to HTML and Javascript applications run in the context of a browser and also not to a variety of RDP implementations which clearly don't run natively on the mobile hardware but are simply hosted applications running on remote Windows hardware.

Windows for that matter, up to recently at least, has also faltered in the small-mobile space for one reason or another. So perhaps a tiny, resource-limited, company like SV, can be forgiven for totally "missing" the mark when it comes to developing a compiler for Apple's mobile O/S or Android's mobile O/S.

Heck, even Visual Studio is really only getting to the point of providing compiler features and directives to build executables that run on Android, Apple and Windows Phone 10 (Universal Windows Platform - "UWP").

We've collectively already satisfied ourselves that Clarion-based applications run quite successfully on most Windows tablets, so that on-board business applications, end-user or even entertainment applications requiring mobility can readily target this platform with Clarion executables.

But where business-data-apps for remote and mobile are concerned, Clarion developers seem to have bottlenecked on one or two RDP-based implementations, or on Clarion's file-driver-based (i.e. IP Driver or SQL over IP) implementations.

While these implementations lower the developer's entry skill level to a minimum by attaching to existing applications without requiring too great a design rethink, they all have intrinsic drawbacks, such as limited simultaneous users, or connectivity-maintenance issues, data loss, or sometimes dog-slowness that plague them.

So what developers don't invest initially at the app-design/app-develpment stage, their users pay for over and over in the long run with limitations that can quickly grow expensive, or which limit the ways or locations in which the portable windows devices running their software can be used.

CHT already has browse, process and report templates (eg: ClientServerBrowseBuilder_XCL) for Client/Server across the WAN or WEB that eliminate the need for resource-sucking RDP, while removing Clarion file-driver-across-the-WAN/WEB speed and reliability problems forever.

CHT also has a supporting line of server templates with which to build the remote server component, since Client/Server computing involves two parts, a "client" application and a "server" application which talk to each other via HTTP (stateless/connectionless) protocol:

Why HTTP is connectionless protocol?

If you read the LBX section above this one you know that in 2017 CHT is busy developing a second Client/Server implementation that's adapable to dual-use, local (traditional data access) or remote (client/server) data access.

With the appearance, only recently, of a full-blown Windows 10 O/S, on smaller mobile platforms like Windows 10 phones, with powerful mobile processors, it's possible that the Clarion developer community, may yet see our Win32 executables running on Windows 10 Phones.

No kidding!

A Windows 10 phone like the Nokia Lumia 950XL is almost a Windows desktop machine in a very compact, portable package. The processor in these Windows phones, however, is quite different -- in this case, Octa-core (4x1.5 GHz Cortex-A53 & 4x2.0 GHz Cortex-A57). That CPU is not at all the same as the Intel-style (i5 - i7) processors in Windows (Surface) tablets. So, with a different address space, clock speed, and internal architecture, these processors oughtn't be expected to run Clarion-produces Win32 executables without some serious fiddling.

Here's what Ken Gallow, Corporate Vice President, of Windows Developer said about this in mid-2016:


Researching the topic further, we found this little gem -- again, written mid-2016:


We've installed on our dev machine, the latest "Project Centennial" Win32 to UWP converter and, for the express purpose of testing this, have acquired a Windows 10 Nokia Lumia 950. By late first quarter (CHT Build 21A.04) or by early second quarter (CHT Build 21B.00) we hope to have at least a Clarion 10 Hello World From CHT executable that installs and runs on Win 10 Phones.

In our NOV/DEC 2016 discussion around the topic of Win10 Phones we promised the following:

Starting today, we're already busy developing some new CHT utilities to help you perform windows mobile installation of your apps. In early 2017 these will be in your subscription toolkits for hands-on trial and testing.

That promise still holds.


FEEDBACK:  Your Opinions Matter to CHT

The best way for CHT subscribers to feed back requirements, suggestions and questions is via the CHT Support Forum application built right into our template interfaces. Locate the "Subscriber Support Services" menu on any CHT template, click it and you'll see this dialog. Select "CHT Support Forum" or, if you're shy, "Email Support" to get in contact with us.



If you're not interested in hearing about the CHT Toolkit and/or about our Clarion templates, classes and utilities please let us know and we will update our mailing list to mark your email address as DO_NOT_MAIL.

The link below will start your email client with our email address already inserted into a list removal request.

CHT Support: Remove From Mailing Lists

Click the link below if you wish to contact CHT for any other reason. The link will start your email client with our email address already inserted.

CHT Support: Contact Us For Any Reason