|
|
Reviewed by Paul Panetta
|
|
|
|
|
|
This review first appeared on
ClarionShop
and is reproduced with permission.
Secwin 3.17 beta 6
A Little History
In 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 Description
Secwin 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.
Installation
Download 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 ...
Documentation
The 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 Start
Using 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!
SQL
I 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 |