Although much care has been taken in the production of these documentation files, utilities and associated documentation, within the extent permitted by the law the author shall have no liability or responsibility to the purchaser or user or any other person, company or entity with respect to any liability, loss or damage caused or alleged to have been caused by this product, including, but not limited to, any interruption of service, loss of business and anticipatory profits, or consequential damages resulting from the operation, use or misuse of this product.

Having said all that, we do hope that these utilities will be of use to you. We try, as do all programmers, to write bug-free code. However if you find any errors, (or just have suggestions) please let us know and an endeavor will be made to fix them in a future release. However no guarantees as to timing can be made nor should any be assumed.

Use at your own risk!

All products are copyrighted with all rights reserved. However the distribution of this product is encouraged in the hope that it will in some small way make life easier for the application developer performing his day to day tasks.

Most of these utilities are SandsWare: this means that you can them as much as you want for free. If you find any of them useful over time I (like most programmers) will gratefully accept any contribution you care to send me. The source code in most cases is available for a small fee.

Some utilities have taken a great deal of time to create and perfect, these will be available for a nominal cost. However the above disclaimer will continue to apply.



These utilities have had an interesting lifecycle. Originally I released the bulk of these utilities as a zip file to whoever asked. Most of the interest came from students I taught when I was a Uniface trainer for Compuware USA in 1995/96.

Then I was offered the chance to become involved in the Building Blocks for Uniface7. I leapt at the chance since I firmly believe that a good application infrastructure is essential for a successful project and that a good infrastructure must have management tools. As a consequence I incorporated nearly all of my uniface6 utilities into the Building Blocks. The bulk of the conversion activity occurred in my own time. Along the way these utilities were expanded somewhat. There were internal changes to take advantage of the new features inherent in uniface7 and some utilities had their functionality enhanced.

I realize that most uniface6 sites will be migrating to uniface7. However there may well be some uniface6 sites out there for a while yet. So over time I will be revisiting all of my uniface6 utilities to make certain that they are compatible with their counterparts in Uniface7. This means that when you do migrate you will:

have the same utilities and

the data they use will be upward compatible

This is already true in some cases. The UBB end-user message handler for instance recognizes the uniface6 the data structure its uniface6 counterpart.

Since this will be mainly a labor of love, I will be converting utilities that I need to use first. There are still some utilities that didn't make it into the UBB. These will be released in both uniface6 and uniface7 formats.


Warwick Sands