|  | 
		
      |   |  
      | Reviewed by Paul Panetta
 |  |  | 
    
      |  |  |  | 
  
  This review first appeared on 
ClarionShop 
    and is reproduced with permission.
 Secwin 3.17 beta 6A Little HistoryIn 1995 I wrote a very simple personal information manager (pim) program which 
    I developed in Clarion for Windows 1.5. I was so pleased with the result I 
    decided to make it available to others. Of course, it needed a little more 
    work here and there and a few more features and perhaps some way to allow 
    it to be used on a trial basis. Since this was going to be a $19.95 special 
    I didn't want to spend a lot more time or money on it. So I looked around 
    for low end products and came across Datasoft's Secwin 
    which was available as a 16-bit version for free. Not only did it have a complex 
    program licensing and registration system but also a powerful login/password 
    system too. Low-end? Definitely not! I said complex and I meant it. Hey, I 
    had to read the documentation, just to figure out how to use it. (By now you've 
    guessed I hate reading documentation). Well, once I passed that hurdle I implemented 
    it and was impressed to say the least. Without a lot of effort my pim program 
    was now available to be registered over the phone (pre-internet - remember?) 
    and had support for multiple users each with their own personal logon id and 
    personal information available based on their logon.
 In 2002, 16-bit Windows no longer seems to be the flavor of the month. Time 
    to move on. Time for my 16-bit pim to become 32-bit. To do this though, I 
    had to acquire Datasoft's (now CapeSoft) 
    32-bit version of Secwin. At $US99.00 it was a little more expensive than 
    the 16-bit version but I think I sold just enough copies of my pim to justify 
    the purchase.
 
 So what is the new product like ? Let's take a test drive.
 
 Product DescriptionSecwin will allow a developer to add user login and licensing/registration 
    features to a Clarion 4/5/5.5 application.It is available for both Legacy and ABC apps and still supports 16-bit as 
    well as 32-bit applications. It now supports a number of SQL file drivers 
    and Odbc as well as Btrieve and Topspeed files. The version being reviewed 
    is 3.17 Beta 6. This product is C3PA 
    approved.
 
 InstallationDownload Secwin from CapeSoft's web site (www.capesoft.com). 
    There are versions for Clarion 4/5/5.5 as well as the free 16-bit only version. 
    CapeSoft use their own unpacking/decrypting tool called 
	CapeSoft 
    Safe Reader. You will need to download and install this product before 
    you can unpack Secwin. The Secwin download has a .SAF extension. Once Safe 
    Reader is installed, double-clicking on the Secwin.saf file will start the 
    Safe Reader program which requires a Safe Key. This is the key you received 
    when you purchased Secwin. Once extracted, the installation program starts 
    (you have a choice of just extracting or extracting and running).
 This installation program defaults to the clarion 3rd party directory (in 
    keeping with C3PA practices) and offers to register templates, edit the redirection 
    file and update your autoexec.bat file (if you have one). Once installation 
    completes, your default browser is loaded and the documentation appears. Which 
    brings us to ...
 DocumentationThe documentation is in HTML and is easier to navigate than the old Windows 
    Write format (from the version I used in my pim). It can be run from within 
    Clarion 5.5 from the Accessories menu. It has a Quick Start section which 
    can be used to get up and running without expending a lot of energy. However, 
    to use all the available features some in-depth reading is required and you 
    are encouraged to read on to the User Guide and more by use of hypertext links 
    in the 'What to Read Next' section at the end of the Quick Start chapter. 
    At no time did I feel threatened by the documentation which is written in 
    a friendly and relaxed style, well laid out and informative.
 Example programs abound. They exist for Interbase (Odbc), MySql, Internationalisation, 
    Multi-DLL, Multi-Exe and Setting the Pin number. This is by no means an exhaustive 
    list. Secwin even provides an example program for creating the security files 
    (for added security rather than let your shipping app do it). You will also 
    find a program to keep track of customer registrations. It can generate the 
    Activation Code needed to register the programs you ship. What's good about 
    this is that it can be used out-of-the-box meaning you don't have to waste 
    time writing one. Each example demonstrates a worthwhile feature which can 
    save plenty of time and are worth a look.
 
 So, let's put the theory into practice.
 The Quick StartUsing the Quick Start I tried Adding Licensing and Registration features. 
    This required adding a Global Extension called 'Activate Security' which had 
    a number of tabs and options including a 'License Name' and 'Licensing Seed 
    Code' to help make your program unique so that other Secwin users cannot generate 
    'activation codes' for your application. Sticking to the quick start guide 
    I ignored most of the other options.
 A quick trip to the Frame window and the menu wherein we add a menu item to 
    register the product. This is achieved in the embed point for the menu item 
    with a call to a Secwin code template called (surprise surprise) Register 
    Product. Again we are faced with a number of options, none of which we need 
    to set.
 
 So we exit and add an extension template on the frame called User Screen Security. 
    This allows the program to be set to "Demo" mode. We also need to 
    set which controls will still work when the "Demo" mode kicks into 
    action. One more extension template on the Frame and we're done.
 
 This is the User Login template which enables the user to login (if required) 
    and it allows us to set the number of days before the program becomes a "Demo". 
    Once again a plethora of options are available such as automatic login from 
    other programs, restricting the number of incorrect login attempts, login 
    defaults and so on. To say that Secwin is highly configurable is an understatement. 
    The options are too numerous to investigate in this review and since we are 
    in quick start we will follow the documentation and simply compile and run.
 
 But before we do let me mention one nice CapeSoft feature, the unique context 
    sensitive Help screens which I assume were written with CapeSoft's own Ezhelp 
    product.
 
 Ok, the test program compiled cleanly and started without the 'optional' logon 
    screen which according to the help should only appear when there are "users 
    in the security file".
 
 Selecting 'Register Product' from the menu loads Secwin's default registration 
    program. This allows up to 5 levels to registered, from 'demo' to 'enterprise' 
    as well as additional modules (useful if you are registering a modular product, 
    such as an accounting program). It is quite complete but if you don't find 
    it functional enough you can replace it altogether with your own registration 
    process.
 
 For the end-user to register the product they require an 'activation code' 
    which you can supply using the CapeSoft supplied 'Register' program in the 
    Secwin examples folder. This program generates the 'activation code' based 
    on the 'License Seed Code' which was entered in the global extension template.
 
 Now to Add Logins and Passwords. Although we have enabled a login option we 
    can't login until we set up some users so we need to create a menu item on 
    our Frame to allow this to be done. We'll call the menu item 'Browse Users' 
    as per the docs. You don't have to, though, you can call it whatever appeals 
    to you. Secwin provides a code template called 'Operator Browse' to facilitate 
    the user setup.
 
 Here, Secwin departs from the norm with no options at all on this template.
 
 The next step is to add a 'Change Password' menu item which implements the 
    'Change Password' code template. The only option here is to use your own password 
    window if you wish. Compile and we're away. We now have a fully featured demo 
    version of our test program with logon security and options to allow the end-user 
    to set up multiple users with different access levels and password change 
    and register the program when the demo expires. All without raising a sweat 
    or taking any ulcer pills.
 
 The beauty of this version of Secwin is that it's not a closed box. Even though 
    it uses DLL's you can still change the look and feel of the standard windows. 
    For example, the documentation describes how to import an alternate set of 
    procedure from one of the supplied example apps to replace the standard Operator 
    Browse windows. It also details how to set up the alternate call to the new 
    procedures. Top marks CapeSoft!
 SQLI tried using the SqlAnywhere driver. This was a matter of downloading the 
    driver from the CapeSoft web site and installing. Once installed an extra 
    option is available for the SqlAnywhere driver. This appears in the Files 
    tab of the 'Activate Security' Global Extension under Driver Support. Selecting 
    the SqlAnywhere driver yields no further options and we don't need to add 
    the s |