|
|
|||
|
Version 1.23 Beta © 2007 by CapeSoft Software (Pty) Ltd http://www.capesoft.com/ Updated 18 December 2007 |
|||
![]()
|
|
Program Features |
|
|
Register a customer online and email product activation code |
|
|
Creates Secwin Activation codes for any product |
|
|
Register customers before issuing activations codes from your application or directly from the web using SOS |
|
|
Products activations codes can automatically be emailed to customers or their dealers/resellers |
|
|
Product activation codes requests can automatically be assigned a serial number |
|
|
Datasets, companies, serial numbers and products can be blacklisted, preventing any further issues of activation codes |
|
|
Limit the number of registration codes issued to one customer by unique identifier, by serial number or by both unique identifier and serial number |
|
|
Runs on Windows 98se and higher Windows operating systems |
|
|
Can be installed as a service |
|
|
Maintain and update SOS via a web user interface |
![]()
![]() |
Installation |
|
Secwin Online Server needs to run on a machine accessible to your customers. This usually means a machine permanently connected to the internet.
For initial testing we recommend installing the server on your development pc, and set the Secwin Online Server's client to 'LocalHost'. Once you get this going, you can either sign up for SOS server usage on Capesoft's server (details here) or install the server on a remote machine and test with that. Remember to change the client server (IP or name) to the remote machine's server name or IP address.
A Secwin Online Client Demo is shipped with this install and demonstrates the development options available to register an application through Secwin Online Server. The client demo illustrates the following options:
The server has to be primed with the Product Name, and Seed Code (as set on your Secwin Global extension) in order for it to return a valid activation code. Thus only your server can serve codes for your application.
Note: Secwin Online Server features the ability to email activations codes to customers and dealers. To test this feature in the example shipped with SOS, please set the email server settings is in the registration server tab, to your SMTP server's settings. |
|
Secwin Online Server program is divided in two modules.
|
|
This section contains all the configurable server settings and web logs. |
||
|
|
This section contains al the relevant options used to create and issue product registrations, maintain product and customer information and has logs containing the latest transaction information requested from the server and issued by the server. |
|
|
Secwin Online Web Server Options |
Secwin Online Server's Manager can be access by clicking on the icon on the left white panel of the server:

When selecting an icon, your selection will be indicated by a surrounding black square border.
![]()
|
|
Configuring Secwin Online Server Options |
|
Web Server Options is divided in five categories which can be configured as follows:
|
![]()
|
|
Secwin Online Server Manager |
![]() |
Logs |
|
There are six logs:
|
![]()
![]() |
Registrations |
This section allows access to maintain and create activation codes, customers and products by selecting the applicable tab.
The customers database can be maintained by inserting, changing and removing customers. Please note that the customers must be added to this database before a product activation code can be created. The sort order by column in ascending or descending order can be selected by a left mouse click on the applicable column header. Selecting an update button calls the following update screen.
The email address entered here, will be used to email the activation code to the client if the product's email activation codes to customers is selected. Select Ok to accept changes or cancel to go back to the customer list.
The registrations database can be maintained by inserting, changing and removing registrations. The sort order by column in ascending or descending order can be selected by a left mouse click on the applicable column header. Selecting an update button calls the following update screen.
Enter the registration details for which the activation code must be generated. A expiry date of 31/12/2099 represents an permanent activation code. The modules become available when the product has been selected. This in turn is dependant of the modules how have filled in for the product. By selecting the GENERATE button, the activation code will be generated and details will be filled in for cutting & pasting, emailing or printing.
The Rental option field enables the ability to fix the registration code's copies, product level, counter and modules' fields as unchangeable. This is typically used in scenario's where clients rent the software, but are allowed to add or remove options from the original registration (if the "rental update is not allowed" option is not set).
The product registration's expiry date cannot be changed by the client and represents the date when the rental of the product expires. When this date is reached, the features of the product, as set by SecWin will be disabled. The SOS operator has the option to extend this rental period by changing the expiry date via SOS's user or web interface. After the date has been changed, the client can simply request the new activation code from SOS via their product registration window.
The ability to allow the client to change certain product features (or not), provides the flexibility in the rental to charge the client for the features used (or not used). An example would be where the rental agreement is based on the total customers on the client's database. The client can change the counter (customer limit) to the total required, but will be billed on the highest amount of customers in a given month. SOS keeps a record of each activation code request, allowing for appropriate reports to be generated.
Order Number - The order number is available for reference purposes and is quoted in the email subject header send to the customer or dealer Order Date - The order date is available for reference purposes and is quoted in the email subject header send to the customer or dealer Comment - This is a free form field which any comments or additional information can be entered
Text for Cut & Paste - From here you can copy and paste, print or email the activation code.
The activation code will be emailed to the customer's email address. If the product has been configured to send the email to the dealer on behalf of the client, the the dealer's email address will be used. This email address can be changed before sending the activation code. A progress bar will indicate current progress in sending the activation code.
The products database can be maintained by inserting, changing and removing customers. The sort order by column in ascending or descending order can be selected by a left mouse click on the applicable column header. Selecting the relevant update button calls the following update screen.
Basic Tab
The product name and seed code is required in order for SOS the create an activation code. Demo Expires - the number of days entered here will be the default demo expiry date calculated from the date of request plus the days entered here. If zero is entered, no demo activation codes will be issued. The string returned will be "No Demo Allowed". Reissues a new temporary code - This option allows you to set the period before an issued demo activation code expires, in which a new demo activation code will be issued. All code requests outside this period will be issued to original activation code.
Optional Settings
Email product activation code to customer - Tick this selection on, if you would the customer to receive an emailed copy of the product registration details. Please note, that the dealer setting, "This dealer receives registration emails on behalf of the client" will override this setting if the dealer has been selected in the request for registration. Email Format - here you can select if emails send to customers should be in text, html or both formats. If text or HTML is selected, the email client will determine which format will be displayed. Copies - The default copies for this product when an activation code is generated by SOS Product support email address - this email address will be displayed as the contact email address for product support on emailed activation codes and web pages Product Website - this email address will be displayed as the contact email address for product support on emailed activation codes and web pages Email Sender - This is the name which will appear in the email's from field received by the customer
Restrictions on registration codes issued
Allow Web Activation - This option allows this product to be registered to a customer and an activation code emailed to the customer from a web page. An example of this procedure is available in SOS Client Demo Example. Error Page - if web activation encounters and error, this page will be loaded, otherwise the generic errors page will be loaded Download Page - if web activation is successful, this download page will be loaded, otherwise the generic download page will be loaded Activation Mail Html - use this option to create a customised html formatted email for the product activation code send to the customer Activation Mail Text - use this option to create a customised text formatted email for the product activation code send to the customer The address field is required for web registration and activation - By selecting this option, you will force the customer to enter their address information from a web page. This is normally used in conjunction with serial numbers when the are issued by using the first 20 characters of the address information Issuing of serial numbers - When one of the following options are selected and the registration code request is defined as version 3, a registration code with a serial number will be issued. See the example for more details.
The options entered here, will be available in the update registrations screen, once the product has been selected. This allows you to create a generic product i.e. Telephone Index with an additional module for example PINs. Press Ok to accept changes or cancel to go back to the products list.
The product notes field is a free format field in which general product information can be entered.
The dealers database can be maintained by inserting, changing and removing dealers. The sort order by column in ascending or descending order can be selected by a left mouse click on the applicable column header. Dealer information can be entered in the product activation codes and allows for product activation codes generated per dealer grouping. Selecting the relevant update button calls the following update screen.
This dealer receives registration emails on behalf of the customer - selecting this option will default the activation code email address for the customer to the dealer's email address. This allows the dealer to control the registration codes on behalf of his customers. First and Last Name - are entered for reference purposes. Serial Number Code - A three digit dealer code which is placed in front of the serial number when created by SOS fir example Dem/007. This options is used by SOS, if the product is configured to use dealer code and serial number range. Serial Number Range - The start serial number for this dealer issued by SOS Last Serial Number Issued - The last serial number issued for a registration with this dealer. The next serial number will be incremented by one.
Phone, fax, and other address details are entered for reference purposes.
This option allows the latest SOS registration data relevant to the dealer and for the selected product to be emailed to the dealer. Data is send for customers and registrations separately in a comma delimited text file. The recipient name is the name of the person receiving the emailed data. Enter the Emails Address of the recipient above. The Data send up to field is a system updated field. This field is updated with the current date once a day just after midnight when the latest data is email to the dealer. Only registrations data newer than this date will be emailed to the dealer. The following product data is send to the dealer allows you to specify for which selection of products the dealer wants registration data exported. This date can be manually changed. A forced export can be scheduled from SOS's File menu as shown below.
Press Ok to accept changes or cancel to go back to the dealers list.
Companies, datasets, products and serial numbers can and be blacklisted. As soon as a the blacklist date is reached, a product activation code will not be generated any more. The production activation code field will receive a message from the server "Code Denied". The blacklisted database can be maintained by inserting, changing and removing listings. The sort order by column in ascending or descending order can be selected by a left mouse click on the applicable column header. Selecting the relevant update button calls the following update screen.
By adding a blacklist, you will effectively prevent further codes being issued. This can be used in a case where a customer keeps requesting an unreasonable amount of "demo" or "temporary" codes.
The Dataset ID uniquely identifies the customers and prevents Secwin Online Server from issuing new codes, if the customer makes subtle changes in the name or registration details and the customer has been blacklisted. Press Ok to accept changes or cancel to go back to the blacklists.
SOS data can be manually exported from the File menu either using the menu items Export to XML or Import from XML.
Selecting either XML options allows you to export or import to or from XML. Export files are exported to and imported from SOS's current directory.
|
![]()
![]() |
Creating temporary and permanent product activation codes |
|
|
|
|
Web Interface |
The web interface provides accessibility to Secwin Online Server in instances where it is not feasible to use the program user interface. A case in example might be when SOS is installed in a locked server room or on a web server. By using the IP address of the machine on which SOS is installed and the port defined under Settings, you can access the web interface by typing the following address in explorer as follows: http://192.168.1.1:6000This will bring up the following screen:
After a successful login, the options will become available on the following screen:
From this screen product registrations can be added and changed and all the user options can be accessed.
Adding, changing and creating customers, dealers and registrations is similar to the applications interface options. |
|
|
Requirements |
The Secwin Online Server Client in this example require the following accessories and development tools.
The Secwin Online Server Client example has been installed in the Program Files\CapeSoft\Secwin Online Server directory.
![]()
|
|
Introduction |
This example has been built for users who own both Secwin and NetTalk. It shows you how to build a registration screen in your application, which fetches the Activation Code required from your Secwin Online Server. The server is typically on the internet. The server itself is also provided as part of Secwin Secwin Online Server and is discussed in the start of this manual. This example deals with the Client side of the activation.
There are five example available;
a. Register your product via SOS using port 5984 and a custom client registration window
b. Register your product via SOS using port 80
c. Register product and get a serial number via SOS using port 80
d. Register customer details and your product via Internet
e. Register customer details via a product and customer registration wizard
This technique does not in anyway remove from the existing registration functionality. But it does add a powerful online way for users to get activation codes when required.
![]()
| A. | Register a product using port 5984 (a dedicated port on the server where SOS is installed) |
Preparation
This document assumes you are starting from a position of having an existing custom registration screen (using Secwin) already in your application. I will call this procedure myProductRegistration in this document. You can call it anything you like. If you don't have one then you can skip this section and import from the example given.
Steps to Convert an existing
custom registration window
If you haven't already done so, add the Global Activate NetTalk Extension to the App
Go to the myRegisterProduct procedure. Click on the Extensions button.
Add a NetTalk object to the window using the IncludeNetTalkObject extension.
Set the Object Name to ThisReg
Set the Base Class to NetSimple
Go to the window formatter for the following procedure
Select the Populate menu, Control Template option. Select GetWebActivation from the Secwin section.
Move the cursor to the desired place on the window, and click. The 3 controls will appear. They include a button, progress bar, and string control.

Right click on the button and select Actions.
Set NetTalk Object Name to ThisReg (This must match the name of Nettalk's object name entered in the paragraph above)
Set the Server to the IP name of your server. For testing set it to 'LocalHost'. "LocalHost will point to the PC on which SOS is running. NOTE: If you are using a server name omit the "http://" from the name, for example use the name in the following format: sos.demo.com
Leave the Port set as the default 5984 for testing purposes
Selecting the "Use HTTP protocol" option, encodes the request into HTTP protocol. This allows the request to be used on port 80, which should be open in most firewalls and will not be rejected by proxy servers.
NOTE: When selecting the HTTP protocol option, the client will use SOS Web Server port - remember to set the port of this client to SOS's Web Server port number. This is normally port 80.
The unique identifier option allows you to distinguish the product by installation and PC. This identifier is send with the activation code request to SOS. The value should be unique and must preferably be a combination of a product dataset identifier and or a PC identifier (Registry key entry will do). By keeping the dataset identifier in the products dataset, you will ensure that the number gets carried across during restores etc. By looking at the dataset identifier fields, multiple requests for the same dataset, workstation can be monitored. Using a combination of pc and data identifier – makes it easier to verify if a user is moving data or updating expired codes. If a variable is used for the identifier, assign the value at the embed point ?GetActivationFromWeb.Accepted.
Selecting the "Allow SOS to assign the serial number" option, request a serial number from SOS with the activation code request. The serial number will be placed in the field assigned. This allows SOS to control the sequence of serial numbers.
How it works at Runtime
If you click on the button it calls a (template generated) routine called GetActivation. This connects to the server, and requests the code. When the code arrives (asynchronously) it is filled into the Activation Code field. The user then needs to click "register" as normal.
![]()
| B. | Register a product using port 80 ( allows your request to go through proxy servers and firewalls) |
Preparation
Firewalls can sometimes get in the way of registering your product using a dedicated port. To overcome this is we can use port 80. Using port 80 will allow traffic to pass though proxy servers and firewalls, but requires specific header information. This example shows you how to achieve this. This example uses the control, GetWebActivation, which is available in Secwin 3.37.
Steps to
convert an existing
custom registration window
The setup and configuration is exactly as described in the previous example, except on the actions tab of the GetWebActivation tab, use port number 80 and tick "Use HTTP protocol".

By selecting the "Use HTTP protocol" options, the request packet is formatted as shown below. This allows the packet to pass through firewalls and proxy server as a normal internet web page request.
ThisReg.packet.bindata
= 'POST /GetActivation HTTP/1.1<13,10>' & |
'Accept: */*<13,10>' & |
'Referer: http://sos.tna4.com/Get.htm<13,10>' & |
'Accept-Language: en-us<13,10>' & |
'Content-Type: application/x-www-form-urlencoded<13,10>' & |
'Accept-Encoding: gzip, deflate<13,10>' & |
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)<13,10>' & |
'Host: sos.tna4.com<13,10>' & |
'Connection: Keep-Alive<13,10>' & |
'Content-Length: ' & x & '<13,10>Cache-Control: no-cache<13,10><13,10>' & |
sub(ThisReg.packet.bindata,1,x)&'<13,10><13,10>'
![]()
| C. | Register product and get a serial number using port 5984 |
Preparation
This example is based on the example in A.
Steps to
convert an existing
custom registration window
The setup and configuration is exactly as described in the example A, except on the actions tab of the GetWebActivation tab, tick "Allow SOS to assign the serial number".

This selection enables the option to assign the field where SOS must store the serial number. This field is typically the field on the product registration screen where the product user typed in the product serial number, as shown below.

You now have the option to make the serial number fields read only or even hide it. The benefit in having SOS assign the serial number is that the sequence of serial numbers is in the control of the supplier. The supplier can now use this serial number against orders or validate activation code request by serial number.
![]()
| D. | Register product and get a serial number using port 80 |
Preparation
This example is based on the example in C.
Steps to
convert an existing
custom registration window
The setup and configuration is exactly as described in the example C, except on the actions tab of the GetWebActivation tab, use port number 80 and tick "Use HTTP protocol".

This selection enables the option to assign the field where SOS must store the serial number. This field is typically the field on the product registration screen where the product user typed in the product serial number, as shown below.

You now have the option to make the serial number fields read only or even hide it. The benefit in having SOS assign the serial number is that the sequence of serial numbers is in the control of the supplier. By selecting the "Use HTTP protocol" options, the request packet is formatted to pass through firewalls and proxy server as a normal internet web page request.
![]()
| E. | Register customer details and product via a webpage |
This demonstrates the ability to choose a product from a webpage and register a customer. When successfully registered, SOS will email the new or existing customer a product activation code. Please note that their are several ways to format these web pages. This is an example of one.

The choose products web page is a normal link to a customer registration webpage as shown below.

This product page has the following hidden fields:
<input type="hidden" name="Product" value="Demo Product"><!--The name of the
product this page is registering-->
<input type="hidden" name="Copies" value="1"><!--The copies of the product this
page is registering-->
<input type="hidden" name="Counter" value="100"><!--The counter of the product
this page is registering-->
<input type="hidden" name="Dealer" value="WebServer"><!--The dealer of the product
this page is registering-->
<input type="hidden" name="Level" value="3"><!--The level of the product this
page is registering-->
<input type="hidden" name="Optional" value="0"><!--The modules of the product
this page is registering-->
<input type="hidden" name="Price" value="100"><!--The price of the product this
page is registering-->
Secwin Online Server collects the information from the hidden fields, and with the customer registrations details, will create a product activation code, which will emailed to the customers email address. If the customer registration was successful, the download page entered in the products field will be loaded. If no page is specified here, the generic download page genericdownload.htm will be loaded.
![]()
| F. | Register customer details using a product registration wizard |
This demonstrates the ability to register a customer's details and your products from a custom product registration window. An existing example is changed into a wizard which will basically have two phases. This first phase will request that the customers' details must be registered or amended, and the second phase will register your product after receiving an activation code from SOS.



![]()
| G. | Register customer details using a product registration wizard and get a serial number |
This demonstrates the ability to register a customer's details and your products from a custom product registration window. An existing example is changed into a wizard which will basically have two phases. This first phase will request that the customers' details must be registered or amended, and the second phase will register your product after receiving an activation code from SOS.



![]()
![]() |
Keen to get started? Then this section is just for you - the basics on how to get SOS up and running with your application as quickly and simply as possible. |
|
|
Install SOS |
For the initial setup and testing purposes, I would recommend that you install SOS on your development PC. Run the SOS Setup file. When the installation process is completed, select the option "Run Secwin Online Server" or run the server from the Start Menu / CapeSoft/ Secwin Online Server folder.
SOS starts with default settings which includes setting for the web server (port 80) and registration server (port 5984). Do not change any of these settings initially. Now proceed to the following section.
|
|
Add your product to SOS |
Before SOS will generate a registration code for your product, your product information must be added to SOS via the manager' products tab.

The products database can be maintained by inserting, changing and removing customers. The sort order by column in ascending or descending order can be selected by a left mouse click on the applicable column header. Selecting the relevant update button calls the following update screen.

Basic Tab
The product name and seed code is required in order for SOS the create an activation code.
Demo Expires - the number of days entered here will be the default demo expiry date calculated from the date of request plus the days entered here. If zero is entered, no demo activation codes will be issued. The string returned will be "No Demo Allowed".
Reissues a new temporary code - This option allows you to set the period before an issued demo activation code expires, in which a new demo activation code will be issued. All code requests outside this period will be issued to original activation code.
The above options is the minimum required for SOS to be able to issue a registration code.
|
|
Add Secwin "MyRegister Product Window" to your application |
The quickest manner to create a customized registration window for your product, would be to import the Register a product using port 80 SOS client example from the example directory.

This window is setup to request a registration from SOS on your local PC. Compile you program (remember that you need NetTalk and Secwin).
You are now ready to test.
|
|
Test |
Open your product's registration window and enter the company details, serial number product level etc. You do not have to create to company name in SOS. This will be done for you by SOS.

Now click on the "Get Activation Code From SOS" button. In a few seconds, registration code will be displayed in the activation code field. You can now select the register button to register your product.
![]()
Other
Information
|
|
Case Studies |
Case
Study A
Requirement: The client must request an activation code every fifteen days during a sixty day trail period.
Reason for implementation: This method reminds the client that he has not purchased your product every fifteen days and forces the client to reregister the product. It creates a subtle reminder with a bit of effort for the client, but still allows the client to use the program. If the client wants this reminder to go away, he can simply buy it and get a permanent registration.
SOS Implementation plan: Configure SOS to issue a one temporary activation code every fifteen days, but allow the client to request a new activation code if the code expires within two days. The client is not allowed to request more than four temporary codes (The four times fifteen makes up your sixty day trial period)
SOS Configuration:
- In SOS Manager Registrations section, select your product which you want to setup the specified trial period for.
- To setup the product's 15 day demo expiry period, enter the value of fifteen in the "Demo expires after" field. You might want to set your products demo period in Secwin's extention template to 15 days as well, if you do not want to force the client to register a code for the initial fifteen day trial)
- Only allow the client to get a new activation code, if the current demo code is within two days of expiry by entering the value of two in the "Reissue a new temporary activation code if the code falls within x day(s) of the product demo expiry date" field.
- Limit the trial period to sixty days by entering the value of four in the "limit the codes issued to x field" and enter the value of 999 in the "exclude codes older than x days" field.
Client Configuration
Summary: By forcing the client to get an activation code every fifteen days, it allows the SOS user to monitor which companies have downloaded and are using your product. By reporting on the repetitive requests for registrations, the SOS user can also determine how long the client used the product in the demo period, before buying it or not at all.
Case
Study B
Requirement: The client must register his contact details via the program and and will receive his activation code via email.
Reason for implementation: It forces the client to provide at a minimum a legitimate email address which the supplier (SOS User) can use to track the progress of the potential client.
SOS Implementation plan: Import the customer registration wizard as per the example int