Clarion Handy Tools
HOME ABOUT NEWS BUY DOCS

News - October 2017

October 24, 2017
CHT Build 21D.00.00 Change Notes #1
reddot.png CHT application docs created via splash screen now do not generate a 4-digit compile number at the end of every version number, when the "Automatic Build Number" switch on the HandyVersionResource Template is unchecked.

For the shorter version number - if configured for - to take effect the application must be force-regnerated by compiling it with HNDCMP.EXE or using the IDE's "Generate" button. Note that "Building" an application in the latest C10 IDE does not necessarily regenerate all parts of the app the way it used to.

reddot.png Application entitled, HNDNEWSLINKSLIST.APP has been re-included as an example under the title: "CHT XML2HTML UCR$ Data Server #2"

It is an expanded version of HNDSLFSVXMLDATASVR.APP which is called: "CHT XML2HTML UCR$ Data Server #1".

Note that other applications in this series will appear over time, with new application names, but with identical tiles showing #3 and #4, and so on, in the title. These applications will advance the illustrated UCR$ functionality still further to show a progression and to illustrate how extra functionality is added to lower-functionality applications.

reddot.png The CHT installation container HND_WBUPDATER_C10_05.HZO now holds the entire contents of \accessory\hnd\html\ and \accessory\hnd\xml\ as required, for subscribers to experiment with CHT XML2HTML applications like those mentioned above. The applications themselves are all available in your \hndapps\ directory, as always.

reddot.png CHT Project Builder build file HNDCMPC10.TPS now contains the HND*.APP utilities applications located in \accessory\bin\ as pre-compiled EXE's.

reddot.png Project Builder build file HNDCMPC10HND.TPS now contains the HND*.APP utilities applications located in \accessory\hnd\ as pre-compiled EXE's.

reddot.png Project Builder build file HNDCMPC10FULL.TPS as always contains the entire set of .APP files normally located in the \hndapps\ directory less any apps that may have been retired since the last build.

reddot.png HNDZIPR.OCX has been rolled back to an earlier version as the current version was not honouring the flag that toggles between "USE Internal Paths" and "DO NOT USE Internal Paths". This fixes a problem reported by Piotr Heidak in Denmark. This HNDZIPR.OCX has been marked as "Deprecated" which to CHT means we will not further develop this binary beyond this specific working version.

The binary and its related classes and templates WILL continue to be part of CHT. But we ourselves will stop using this .OCX in all demo applications and switch them over to use our newer zip implementations via HNDNETZIPPER.DLL. Template interfaces will provide a deprecation warning.

reddot.png HNDBACKUPCONFIG.APP has been moved off zip library HNDZIPR.OCX and is now switched onto HNDNETZIPPER.DLL using the HNDNetZipperClass located in HNDNETZIPPER.INC and HNDNETZIPPER.CLW.

The application continues to function exactly as it did before as a toolkit application and dictionary backup tool.

A button has been added on the zip window interface that allows the user to interrupt a long backup session. No files are deleted if interrupted. Even when interruped, the zip is created successfully and contains only the files backed up to the point of interruption.

reddot.png HNDZIPNPOSTTOCHTSERVER.APP has been moved off zip library HNDZIPR.OCX and is now switched onto HNDNETZIPPER.DLL using the HNDNetZipperClass located in HNDNETZIPPER.INC and HNDNETZIPPER.CLW.

The application continues to function exactly as it did before as a toolkit application and dictionary backup tool.

reddot.png A new application called HNDAPPSXML2HTMLGENPACK.APP was added to the toolkit this build. It is a multi-application solution that packages together all CHT XML2HTML-related CHT applications so that by "Building" this single solution all related apps are compiled also. These apps are:
• hndbulkmailbatcher.app - CHT XML2HTML Bulk Mailer
• hndbulknetmailpromo.app - CHT XML2HTML Document Mailer
• hnddocumentbuilder.app - CHT XML2HTML Document Builder
• hndnewslinkslistsvr.app - CHT XML2HTML NewsLinksList UCR$ Server
• hndpreviewer.app - CHT XML2HTML Previewer Snap-In
• hndslfsvcus.app - CHT XML2HTML Data Maintenance
• hndslfsvxmldatasvr.app - CHT XML2HTML UCR$ Server
• hndxml2htmlgen.app - CHT XML2HTML Generator Snap-In

reddot.png This build includes, once again, a copy of hndblkml.tps for the demo app HNDBULKMAILSMTP.APP to use.

This .TPS contains a few example email recipients (our email address) to test bulk email against. This file went AWOL somewhere along the line and is being included again as of 21D.00.00. '

reddot.png This build includes, once again, a copy of hndzipnemail.tps for the demo app HNDMLADSM.APP to use.

This .TPS contains a few example email recipients (our email address) to test bulk email against. This file went AWOL somewhere along the line and is being included again as of 21D.00.00.

reddot.png This build includes, once again, a copy of hndmail1.tps for the demo applications HNDBULKNETMAILPROMO.APP and HNDBULKMAILBATCHER.APP to use.

This .TPS was being shipped empty and now includes a couple of our email addresses as a starter for developers with a short attention span.

reddot.png HNDWEBUPDATERC10.EXE now also installs CHTSERVERCERT.CER which is a multi server certificate that will authenticate: news.cwhandy.ca, www.cwhandy.ca, pde.cwhandy.ca and mobile.cwhandy.ca when these are accessed via browser using the HTTPS:// (port 443) protocol.

This allows us to run FULL SSL encryption on any of the browser web apps for our on-going experiment with mobile browser apps. The certificate was created with the OPENSSL.EXE utility. Versions of this certificate suitable for use with Android, Apple and Windows Phones and Tablets will be made available for installation from our website.

reddot.png HNDCMP.EXE - CHT Project Builder - now changes the HNDAPPS location automatically inside HNDCMPC10.TPS, HNDCMPC10HND.TPS and HNDCMPC10FULL.TPS.

Previous versions only automatically changed the HNDAPPS path location if the name was HNDCMPC10.TPS. As always, developers should use their own CHT Project Builder file name when doing personal or business app compilation unrelated to where the HNDAPPS are located.

reddot.png All three of the HNDCMPC10*.TPS project files are processed through HNDCMP.EXE completely, at least twice before any new release to corroborate missing pieces or toolkit changes that may have had impact on the viable compileability of any app due to possible gen-code changes in the templates or library call changes in the code libraries.

Hence, also, all pre-compiled CHT utility applications located in \bin\ and \hnd\ re-code-signed with each CHT release.

reddot.png HNDBULKSIGNER.EXE did not have an *.OCX category. This has been added in the 21D.00.00 version. Also deletion of *_SIGN.ERR files has been added on the delete button.

reddot.png HNDBRWCL.EXE - CHT Forum Support Client - now defaults to a query with the "THISMONTH" range keyword. That includes messages and news posting placed in the last 30 days.

reddot.png CHTSNAPEDIT.EXE was starting multiple instances of HNDPREVIEWER.EXE when started directly during a preview of an XML to HTML template.

HNDPREVIEWER.APP now intercepts COMMAND(1) input lines and if they use .HTML or .HTM extensions it checks to see if HNDPREVIEWER.EXE is already running. If yes, it stores the preview file name in the registry and sends a message to the already-running previewer instance to load and preview the file name now stored at that registry location.

Hence, the previewer can perform multiple and successive preview requests from CHTSNAPEDIT.EXE and will only ever start one instance of HNDPREVIEWER.EXE.

reddot.png The query builder on HNDZIPNPOSTTOCHTSERVER.APP was not displaying query fields for the file query builder button. We added 4 file directory fields via SELF.AddParserBindMapItem() in the PARSE.InitParser() method.

reddot.png In the previous version of HNDZIPNPOSTTOCHTSERVER.APP the zip button didn't have a ZIP STOP feature. This button now toggles to STOP (F8) when zip is started and switches back to ZIP (F8) when zip completes.

Source file processing is now performed on a windows timer event, so that there's not a tight loop which prevents inteception of display message EVENTS in the Clarion ACCEPT LOOP.

reddot.png HNDZIPNPOSTTOCHTSERVER.APP now incorporates HNDNETZIPPER.DLL and HNDCLIENT + HNDHTTP source classes to upload to a CHT XSA File Server. The configuration storage tag used by this application is unique and different from other applications in this "ZIP-N" category.

reddot.png HNDZIPNPOSTTOCHTSETUP.APP now incorporates HNDNETZIPPER.DLL and HNDCLIENT + HNDHTTP source classes to upload to a CHT XSA File Server. The configuration storage tag used by this application is unique and different from other applications in this "ZIP-N" category.

reddot.png HNDZIPNPOSTTOCHTXSA.APP now incorporates HNDNETZIPPER.DLL and HNDCLIENT + HNDHTTP source classes to upload to a CHT XSA File Server. The configuration storage tag used by this application is unique and different from other applications in this "ZIP-N" category.

reddot.png HNDZIPNFTPNET.APP now includes improved progress reporting on the upload window via messages coming up from the HNDNETFTP.DLL which we are running on a Clarion background thread.

reddot.png HNDZIPNFTP.APP is based on CHT Clarion source class HNDINETFTP rather than a HNDNETFTP.DLL as in the app above. FTP uploading is fully interruptable and does not need to run on a thread.

reddot.png The configured path to HNDPREVIEWER.EXE was corrected in the following CHTXML2HTML applications: HNDDOCUMENTBUILDER.APP, HNDBULKNETMAILPROMO.APP and HNDBULKMAILBATCHER.APP.

This was required due to an inadvertent change we'd made to an equate in HNDEQU.CLW called HPROP:HndPreviewerEXE which in prior releases had included \accessory\hnd\ in the name. The equate now must be - and IS in these apps - prefixed with HPROP:CHT3rdPartyBinPath.

reddot.png HNDZIPNEMAILNET.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. SMTP mail is sent via HNDNETSMTP.DLL and CHT Classes HNDNetSMTPClass.

reddot.png HNDZIPNEMAILSMTP.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. SMTP mail is sent via CHT SOurce code classes HNDSMTP.

reddot.png HNDZIPNEMAILMAPI.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. MAPI mail is sent via CHT Source code classes HNDMAPI. Email configuration is carried out on the system's default MAPI client software. Success with this MAPI client is dependent on a MAPI-compliant email application being installed and configured on the hosting computer.

reddot.png HNDZIPNEMAILSNAP.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. NET SMTP mail is sent via CHT Snap-In CHTSNAPSMTP.EXE using our GlobalEmbedHNDSnapCallFunctions template and Global ApplicationsSnapIns Template. Locally on the procedure, is a template called ProcedureSnapIns.

reddot.png HNDZIPNEMAILBBOT.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. Clarion Native SMTP Mail is sent via CHT Batch-Bot HNDMAILSMTP.EXE using our GlobalEmbedHNDSnapCallFunctions template and Global ApplicationsSnapIns Template. Locally on the procedure, are two templates called ProcedureSnapIns and SnapHNDMAILSMTPSnapButton.

reddot.png HNDZIPNEMAILBBOTMAPI.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. Clarion Native SMTP Mail is utilized via CHT Batch-Bot HNDMAILSMTP.EXE ( using our GlobalEmbedHNDSnapCallFunctions template and Global ApplicationsSnapIns Template. Locally on the procedure, are two templates called ProcedureSnapIns and SnapHNDMAILSMTPMAPIButton.

reddot.png HNDZIPNEMAILSNAPMAPI.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. Clarion Native SMTP Mail is sent via CHT Batch-Bot HNDMAILSMTP.EXE using our GlobalEmbedHNDSnapCallFunctions template and Global ApplicationsSnapIns Template. Locally on the procedure, are two templates called ProcedureSnapIns and SNAPMAPIStartButton.

reddot.png HNDZIPNEMAILCDO.APP has been completely revised functionally to incorporate HNDNETZIPPER.DLL and CHT Classes HNDNetZipperClass to compress the source directory. CHT's native Clarion-code CDO classes located in HNDMSCDO.INC and HNDMSCDO.CLW are linked into the application via CHT template EmbedCDOMailFunctions.

reddot.png ** NEW APPLICATION ** -- HNDZIPNEMAILBBOTCDO.APP is constructed like the other email versions of HNDZIPNEMAILBBOT*.APP applications except that this one uses CHT Batch-Bot HNDMAILCDO.EXE to send email.

reddot.png ** NEW APPLICATION ** -- HNDAPPSDOCGEN.APP will take over the duties of doc generator application HNDAPPSPLASHTOHTML.APP when we have HNDAPPSDOCGEN.APP fully completed.

reddot.png ** NEW APPLICATION ** -- HNDCLSDOCGEN.APP will take over the duties of doc generator application HNDCLXHT.APP when we have HNDCLSDOCGEN.APP fully completed.

 

October 23, 2017
CHT Build 21D.00.00 Now Available

As of 2pm EDT Sept 23nd, 2017, we completed the posting and download testing of our first, 4th quarter 2017, CHT Build Update, numbered 21D.00.00.

Remember that our "Start" Menu location was changed last update. Our installer previously created a "The Clarion Handy Tools C10" folder on your Win 10 machine which could be found in the "T" section of the Windows Menu.

With this update and the last one, our installer creates a "Clarion Handy Tools C10" folder on your Win 10 machine which is to be found in the "C" section of the Windows Menu.

In other words, with the removal of "The" from our menu folder name we're now in the "C" section of the menu. Appropriately, this section is also where your "Clarion 10" installation is located.

We will shortly be posting formal articles on our October/November What's New Pages about this build, since there's a lot of information. In the meantime, once you install this 21D.00.00 build you can read our notes about what was changed and/or added recently and see some upcoming "TODO" information by clicking a menu item we've provided under "C" for "Clarion Handy Tools C10" in the sub-section entitled "Latest Build ToDO List". These are rather cryptic notes that we keep for ourselves as work on the toolkit proceeds.

Cheers...
Gus Creces
October 23rd, 2017

October 13, 2017
Installing Our SSL Server Certificate
For Full HTTPS Access

We've worked out a methodology using OPENSSL to make self-created server SSL certificates free of charge, instead of paying $100-300 per FQDN (Fully qualified domain name) from some certificate mill. And we're planning on creating an app like HNDSIGN.APP to easily create server certificates as readily as you now can produce self-created code-signing certificates.

For background on using HNDSIGN.EXE watch two short videos on that topic by selecting them from our CHT VIDEO PAGE.

The international internet governing body, has made some specification changes that come into effect end of this month (Oct, 2017) which change considerably how these certificates work. And it will invalidate the wild card SSL certificate we're presently using with "cwhandy.ca".

In the past, one could create a certificate with "wild card" access so that all versions of a domain root name would qualify under that name. For example, we could create a certificate for "cwhandy.ca" and all versions of that name, for example, news.cwhandy.ca, www.cwhandy.ca, mobile.cwhandy.ca, pde.cwhandy.ca would pass as valid.

The new regulations require a certificate to use what is known as an FQDN. This Fully Qualified Domain Name requirement means we have to spell out the full name, for example: "mobile.cwhandy.ca" not just the domain name root "cwhandy.ca".

As we mentioned at the beginning of this post, we've worked out a methodology, using the OPENSSL tool set, to create these newer FQDN certificates for use with any and all CHT servers. This will make it easy for you to run your CHT servers fully HTTPS encrypted and protected with SSL protection.

Since we're spending a good deal of time and effort to make the CHT tool kit a viable entity in the mobile and e-commerce spaces, we've installed one of these new certificates for the following FQDN servers: "news.cwhandy.ca", "www.cwhandy.ca", "mobile.cwhandy.ca", "pde.cwhandy.ca" with other FQDN's to come as needed.

These self-created server certificates work the same way that our self-created code-signing certificates work, in that it requires the "public key" portion of that certificate to be installed on the machine accessing the FQDN site.

Next Time You Update CHT

Next time you update CHT, we'll have WebupdaterC10 install our new FQDN SSL certificate to your machine, the same way that we now install our Code-Signing certificate to your machine. That requires you to do nothing special, just a standard CHT update. And of course, by now you're all running our WebupdaterC10 "As Administrator" aren't you? Sure you are.

Installing The Certificate Manually, Right Now

In the meantime, if anyone would like to test this new FQDN certficate by manually installing it right away, the following set of images provide a complete set of instructions on how to perform a manual certificate installation using built-in Windows tools like CERTMGR.EXE. You can pick up the certificate packed in a .ZIP file (i.e. CHTSERVERCERT.ZIP) from our installation server which you can access here: CHT Installation Server.

By the way, we don't expect that the certificate creation application mentioned above will be ready by Oct 22, 2017 when build 21D.00.00 is to be released, but it will be be completed by Dec, 2017, along with a video, like the code-sign videos linked above.

Installing CHT's HTTPS-SSL Certificate Manually
Using Pictures

installservercert001.png

installservercert002.png

installservercert003.png

installservercert004.png

installservercert005.png

installservercert006.png

installservercert007.png

installservercert008.png

installservercert009.png

installservercert010.png

installservercert011.png

installservercert012.png

installservercert013.png

October 3, 2017
Universal Mobile Device Data Server
Receipts Procedure Added

We've modified the new server demo we recently created, called hndnewslinkslistsvr.app. by adding a receipts procedure.

The Subscribers browse now links by a click on any name to a new UCR$ procedure that creates a sample payment receipt. That looks like this:

paymentreceiptexample.png

Four UCR$ Procedures Now In Use

The application presently implements four server-side procedures which may be accessed from any HTML page using what we call a UCR$ request, which is an acronym for (U)ser (C)ustom (R)equest, a term we've coined and attributed to user-customized remote procedures.

The following is a screen snap from that application:

hndnewslinkssvrprocs.png

Example Remote Procedure Call

Below is an example UCR$ call, that returns a receipt for a user identified by id number parameter 85727344.

ucrcall001.png

The data comes back packaged as a complete pre-designed web page named:

SUBSCRIBERSLISTRECEIPT.HTML

Using CHTSNAPEDIT.EXE + HNDPREVIEWER.EXE we created an XML design template that contains the receipt design. That receipt design file is called 000serversidereceipt.xml.

Our server-side UCR$ procedure opens a copy of that receipts file, inserts request data into the tagged area between <MessageArea1A> and </MessageArea1A> and sends the file through a procedure in the server called:

ucrcall002.png

Inside this "AutoGen" procedure, named above, the XML file now containing data tagged with HTML table tags is processed into viable HTML that will display in any HTML5-capable browser. As soon as the finished HTML file is fully-generated, it is returned to the requesting browser by the server using a server internal procedure called SendFileThread().

Changing the design of any web page or web form becomes then, only a matter of tweaking the CHT XML template file into which the server inserts data. Thus, when the data fields being displayed don't need changing or expansion, the page design can be changed by merely giving the server a different CHT XML design template on which to build the page.

A Look Inside The Server's UCR$ Procedure

When a request is formatted with the UCR$= tag as shown above, it is routed by the server into a server function area called: ProcessUserCustomRequest().

Inside this procedure the UCR$= command to the right of the equal sign, is intercepted and the user's code is executed. CHT calls these User Custom Requests, for a good reason, since a UCR$ request command can be anything the user/developer requires to communicate into his/her own server.

The command after the UCR$= is just a convenient way of routing into a back end procedure, like the four UCR$ procedures pictured above.

Below, is an illustration from inside the procedure, where some work is performed, a file is generated, after which the file is sent back to the calling browser.

insideucr.png

More will be said about server method ProcessUserCustomRequest() in our next posting.

Now Point your Phones at One of These Addresses

Note that "PDE" in the first web address, below, is an acronym for Phone Does Everything. Which is appropriate for what we're trying to achieve here!

To run a test, point your phones at one or both of these addresses. Each resolves to a different server instance of the same hndnewslinkslistsvr.app, listening to a different IP and PORT.

http://pde.cwhandy.ca

https://pde.cwhandy.ca (HTTPS-SSL)

http://mobile.cwhandy.ca

https://mobile.cwhandy.ca (HTTPS-SSL)

October 2, 2017
Point Your Phones at These Addresses
Universal Mobile Device Data Server

The two links provided below, at the bottom of this dated section, point to an entry page that calls some remote procedures on a new server demo we recently created, called hndnewslinkslistsvr.app. This is a demonstration server from which we are serving up example browses read from SQLITE data tables located in sample data base HNDSLFSVCUS.SQLITE, attached to this server and converted into "Flex-Port" HTML pages using a CHT XML2HTML template called 000newslinkslist.xml.

This demo was created by loading hndslfsv.app into the Clarion 10 IDE and saving it back under the new name hndnewslinkslistsvr.app, and by adding a dictionary hndslfsv.dct to that, into which we added some new tables, for example: NEWSLINKSLIST and SUBSCRIBERS.

NEWSLINKSLIST is an SQLITE table that we're presently editing and adding data to, with a demo desktop app, modified for this purpose called HNDSLFSVCUS.APP.

SUBSCRIBERS is an SQLITE table that we created by importing the PEOPLE file from HNDO.TPS. This is a fictitious list of people's names, that we've shipped with our toolkit for years with which to build sample CHT browses. We added some random values into the Serial Number field and some random expiration dates, and also, we added a fictitious email address and set of totally made up purchase-receipt information.


hndslfsvcussubscriberedit.png

As we expand the experiment, we'll be adding data into the tables via across-the-web techniques using both Clarion-app-Client-to-Clarion-app-Server methodology as well as Browser-app-Client-to-Clarion-app-Server technology. All that will come in good time and will be thoroughly documented in good time.

The four "Web Browses" in this example are intended to demonstrate browsing data tables from any browser on any device that's new enough to have an HTML5 capable browser.

In the example web browses provided today, we'd like you merely to look and explore the four browser-based "web apps" on as many devices as you're able to find, preferably smallish portable devices like smart-phones and "phablets".

Note as you browse with your phone held vertically that the browse table is narrowed to fit your phone's viewport, though it can still be scrolled left-right with your finger. Note also, that when you turn your phone into the horizontal position that the browse table displays extra columns though it can still be scrolled left/right easily with a finger motion if the entire width of the table is not already displayed in the device viewport.

In these first two NEWSLINKSLIST examples we're listing articles, web pages, and discussion papers available on our site and pointing to them. Click on any item in the "Title" column to be taken to that article, page or paper.

We are expanding the NEWSLINKSLIST browse table by a record or two on a regular basis so it's obvious that the data table underlying it is changing and you're not seeing a static page.

In the next two SUBSCRIBER examples we're listing our sample "subscriber" table described above. The two example browses are created by the same back-end UCR$ procedure. So the back end code is identical for both browses. The SUB:Expire_DATE information varies as we're passing a date range parameter into the UCR$ from the calling web page.

If you visit either of these browses over successive days, it will be obvious that the data displayed is changing as the records with expiration dates not in the required date range fall out and other records, previously not in the correct range are now included.

We hope, as this work develops, that you'll take some time to look at the server application, and even test it out yourself. All the pieces to make this work from your desktop computer or any web-connected Windows PC will be in our toolkit starting with the Fourth Quarter Build 21D.00.00 slated for release by October 22, 2017.

You can pick up the source components for this hndnewslinkslistsvr.app and all required components, at any time before or after the next major update - since these components and any related how-to documents will continue to evolve over the coming months. So if the information you're reading about hndnewslinkslistsvr.app does not match what you see when you open the app, it will be necessary to update your toolkit using CHTWEEKLIES_1.EXE installer available to all subscribers from our CHT Installer Donwload site.

All the pieces required to run a test, to modify the tables, to modify the browses and the remote procedures (UCR$ procedures) in the application are there for you to study.

Now Point your Phones at One of These Addresses

Note that "PDE" in the first web address, below, is an acronym for Phone Does Everything. Which is appropriate for what we're trying to achieve here!

To run a test, point your phones at one or both of these addresses. Each resolves to a different server instance of the same hndnewslinkslistsvr.app, listening to a different IP and PORT.

http://pde.cwhandy.ca

http://mobile.cwhandy.ca

October 1, 2017
Recent Update Changes Review

Revised Previewer: HNDPREVIEWER.APP

This application is called from various other CHT tool applications including the one described below, namely, HNDTPLDOCGEN.APP.

While we're generating HTML with our XML2HTML technology, and previewing as we work, it's important to be able to adjust the viewport by which we're previewing the HTML so generated. This gives us immediate feedback about how the HTML document will look on various small, portable format devices, including phones and smallish tablets, or as we've come to call them, "phablets".

To that end, there are several new menu items, marked in the image below by number tags. These viewport settings and sizes are based on actual dimensions of the viewports (** i.e. usable screen size **) of phones we're using presently. This selection of choices, based on real devices, will be expanded over time, though the present selection is already pretty useful and covers a broad range of viewport sizes.

HNDPREVIEWER.APP

hndpreviewermenu.png

This HNDPREVIEWER.EXE is also called by CHTSNAPEDIT.EXE from the "Preview" menu, as well as from other applications in the "CHT Document Builder" suite. We'll discuss at least some of these other applications in later sections of this document or in future discussions on the topic of CHT Document Builder.

New Application: HNDTPLDOCGEN.APP

The job of generating our templates documentation has now been taken over by an application called HNDTPLDOCGEN.EXE. This application replaces HNDTPXHTNEXT.APP, which has been retired.

At the heart of this new application is a procedure called AutoGenHTMLFromXML_VER02 which is responsible for translating a CHT XML template file called: 000TPLDOCS.XML into viable HTML. That happens, of course, only after HNDTPLDOCGEN.EXE reads through our .TPL and .TPW files to extract commentary embedded there between XML tags, and inserts it into a temporary copy of 000TPLDOCS.XML.

This temp copy of 000TPLDOCS.XML is then processed via the procedure named above and that results in several HTML documents described and linked below.

The application generates the following:

Since we're constantly changing and adding to the XML-tagged documentation embedded in our .TPL and .TPW files, we'll continue to make a point of running HNDTPLDOCGEN.EXE as we did in the past, with this application's predecessor, to bring our documentation up to date.

The HNDTPLDOCGEN.EXE application also calls CHTSNAP2PDF.EXE in order to create a .PDF version of each of the generated HTML files. This is for anyone who prefers their documentation in the .PDF format.

HNDTPLDOCGEN.APP

hndtpldocgenpic.png

Contact Us

If you have any thoughts or impressions to share, feel free to get back to us via email using the hot link provided here.

Click the link below. It will start your email client with our email address inserted:

Click To Contact Us