Softilium: goode ideas, real tools Home | Download | Order | Contact me |

Registration orders (not in Lite version)

Home > Software-Promoter > Software-Promoter docs > Software-Promoter manual > Registration orders (not in Lite version)

About registration orders

Software-Promoter can be used as powerful, configurable and easy to use registration orders database. There is lot of features for automatic extraction new registration orders from MAPI folders and/or clipboard. You have ability to export any part of your customer's data into external file for detailed analysis.

Registration orders extraction

Software-Promoter contains a mechanism for automatic extraction new information into built-in registration orders database.

To search for new registration orders click "Inbox" label on left switching panel and use "Check default MAPI inbox", "Check POP3 accounts" and "Check clipboard" commands on top toolbar.

Same registration orders detectors are used for all checking routines.

If your E-mail client supports OleDrop techniques then simply and useful method is dropping registration orders letters into Software-Promoter from your e-mail client. Software-Promoter will parse dropped order(s) in seconds. In addition, Software-Promoter can parse dropped file(s) with registration orders.

If you use clipboard as registration orders' source you can specify any count of orders per one session. Registration orders detection engine can parse any text stream not only one order.

You may specify key generation method and greeting message behavior for each product version separately. Software-Promoter can generate registration code for each registration order automatically when new registration order is arrived. See Registration keys generation for details.

Software-Promoter may compile message for arrived customers if it specified. This is very useful for send registration codes to new customers.

Software-Promoter checks duplicated registration information for each detected registration order. See next chapter for details.

*.rod files syntax

Customer's detection engine is designed as user-defined process. All detection rules are defined in *.rod files (also known as registration orders detection files). It is places in ROD folder. Each file works with own registration order format. Software-Promoter includes registration order detectors including these registration services: Esellerate, Regnow, Regsoft, ShareIt (EURO payments supported), SWREG (EURO payments supported), Visage, Sainthamilton and more. You can create you own detectors or ask me ( http://www.softilium.com/contacts.htm) to create detectors for you. In this case I need registration orders example(s).

Software-Promoter includes . It provides easy way to edit and test detectors in one window. You can change *.rod files without Software-Promoter re-run. Software-Promoter will re-load these files when it is needed.

ROD file is similar to Windows INI file and contains Perl-compatible regexp rules and macro rules for extract each field of Software-Promoter registration order record.

Each *.rod file contains several sections and values:

Some registration services send you letter about more that one registration notification per one letter. Software-Promoter can create multiple registration orders records from one notification letter.

[General] section

Macro name 

Description 

Name  

Defines internal detector name for internal Software-Promoter purposes. This variable must unique folder wide.  

FriendlyName  

Defines public detector name. Uses only in user interface when it is needed.  

[CommonRules] section

Macro names 

Description 

Split  

Rule defines regexp for text that used for split input fragment for multiple orders potential orders.  

WaterMark  

Defines regexp for evaluation what each fragment is: registration order or not?  

ProductName  

Defines regexp for extract product name from fragment.  

Required  

You can enumerate required fields. If one will fail to extract from fragment, Software-Promoter will consider fragment as non-order.  

ProductRow  

This value extracts one or more product rows especially for formats can contain more that one product per registration order. For instance, Esellerate.  

POP3Header  

Rule for check POP3 header before message download. When Software-Promoter checks POP3 account, I load all headers from POP3 server first. These headers will be evaluated with this rule. Software-Promoter will download message body for each header that matches the rule. Then loaded message will be passed to registration detection engine. Software-Promoter does not delete any messages from POP3 server. If this rule isn't defined, Software-Promoter will download all messages and try to extract registration orders from it.  

[CommonFieldsRules] section

This section rules will be applied to whole fragment that considered as potential registration order.

Software-Promoter has a special way to detect date fields. Each part of date (day, month, year) has own rule as shown below. If all parts of date are detected, date will be created from its.

Macro names 

Description 

<FieldName>.regexp or <FieldName>  

Defines regexp rule for specified field except date field. This rule will be used at first detection stage.  

<FieldName>.macros  

Defines macros rule for specified field except date field. This rule will be used at second detection stage, after regexp rules. You can use ix regexp-based rule and macros-based using predefined meta-symbol %%REGEXP%% in macro-based rules.  

<FieldName>.day.regexp
or
<FieldName>.day  

Defines regexp rule for specified date field. This rule detects day part of date.  

<FieldName>.day.macros  

Defines macros rule for specified date field. This rule detects day part of date.  

<FieldName>.month.regexp
or
<FieldName>.month  

Defines regexp rule for specified date field. This rule detects month part of date. This detector recognizes both number values and month names as input.  

<FieldName>.month.macros  

Defines macros rule for specified date field. This rule detects month part of date. This detector recognizes both number values and month names as input.  

<FieldName>.year.regexps
or
<FieldName>.year  

Defines regexp rule for specified date field. This rule detects year part of date.  

<FieldName>.year.macros  

Defines macros rule for specified date field. This rule detects year part of date.  

[ProductRowFieldsRules] section

This section is analog of [CommonFieldsRules] but all rules will be applied for each result of ProductRow rule, if defined.

Macro name 

Description 

<FieldName>.regexp or <FieldName>  

Defines regexp rule for specified field. This rule will be used at first detection stage.  

<FieldName>.macros  

Defines macros rule for specified field. This rule will be used at second detection stage, after regexp rules. You can use ix regexp-based rule and macros-based using predefined meta-symbol %%REGEXP%% in macro-based rules.  

ROD files editor provides easy way to edit and test registration orders detectors. Generally, ROD editor let you evaluate any *.rod file using example of registration order.

Unlike normal detection from clipboard, MAPI inbox or from file, ROD editor provides detailed diagnostics during detection. This displays at the bottom of ROD editor and looks like below:

Detector "Regnow" did split source into 2 potential pieces
Watermark found in target piece #0
Detected product name : "XXXXXXXX"
Found product in database : "XXXXXX"
Version "XXXXXXX 1.6" will be used for registration order
Field "FirstName" resolved using regexp to "XXXXXX". 2 Substring(s) found.
Field "FirstName" assigned to "XXXXXXX"
Field "LastName" resolved using regexp to "XXXXXXX". 2 Substring(s) found.
Field "LastName" assigned to "XXXXXXX"
Field "Email" resolved using regexp to "XXXXXXX". 2 Substring(s) found.
Field "Email" assigned to "XXXXXXX"
Field "Country" resolved using regexp to "XXXXXXX". 2 Substring(s) found.
Field "Country" assigned to "XXXXXXX"
Field "Address" resolved using regexp to "XXXXXXX". 3 Substring(s) found.
Field "Address" assigned to "XXXXXXX"
Field "Phone" resolved using regexp to "XXXXXXX". 2 Substring(s) found.
Field "Phone" assigned to "XXXXXXX"
Field "City" resolved using regexp to "XXXXXXX". 2 Substring(s) found.
Field "City" assigned to "XXXXXXX"
Field "Company" resolved using regexp to "XXXXXXX". 2 Substring(s) found.
Field "Company" assigned to "XXXXXXX"
Field "StateProv" resolved using regexp to "". 2 Substring(s) found.
Field "StateProv" assigned to ""
Field "Zip" resolved using regexp to "80100". 2 Substring(s) found.
Field "Zip" assigned to "80100"
Field "Qty" resolved using regexp to "1". 2 Substring(s) found.
Field "Qty" assigned to "1"
Field "Price" resolved using regexp to "50". 2 Substring(s) found.
Field "Price" assigned to "50"
Field "Blocked" resolved using macros to "N"
Field "Blocked" assigned to "N"
Field "Invited" resolved using macros to "N"

ROD editor handles missing field rules in *.rod files. For instance, if you have not specified rule for field "OrderID" then ROD editor will add empty rule for this field. After successful detection order data will be displayed but never saved to main database.

Registration keys generation

Registration keys generation and posting greeting letters are important part of shareware developer's work.

Software-Promoter supports two ways to generate registration key: AsProtect and Custom console keygen.

AsProtect

AsProtect ( www.aspack.com) is the most advanced and frequently used copy protection system in shareware industry. Software-Promoter provides AsProtect integration as a universal solution for automation of processing new customers. Specify AsProtect project file and registration name template (using Software-Promoter macros syntax) and Software-Promoter will calls AsProtect to fill out "Registration key" field in the new registration order instance.

If your product uses hardware-based registration keys, use "Hardware ID" field to pass hardware-based ID to AsProtect.

Custom console keygen

You can provide console application that gets registration order data and compile registration data from it.

Software-Promoter has three ways to pass parameters into console keygen: environment variables, command line parameters and custom file with parameters specified.

1. Environment variables.

Software-Promoter fills out environment for console application using macros that starting with "Registration" and "Customer". Dots in macro names will be replaced with underscores.

2. Command line.

You can define "Console keygen run parameters" parameter in version properties. Macros are possible here. For instance, value "%%Customer.Country%%" will be passed to console keygen as "USA" if it was defined in registration order.

3. ".parameters" files.  

Before run console keygen Software-Promoter will create file named "<keygen_name>.parameters". For instance, if your keygen has name "C:\KEYGEN.EXE" Software-Promoter will create file "C:\KEYGEN.EXE.PARAMETERS". This file wills contain all macros that are supported by registration order.  

Software-Promoter has two ways to get registration data from console keygen.

After running keygen application Software-Promoter will look file "<keygen_name>.results" where keygen can fill out any fields in this format:

OrderID=<value>
RegName=<value>
HardwareID=<value>
...etc...

If file "<keygen>.results" found, Software-Promoter will fill out registration order fields from this file. Otherwise Software-Promoter will catch "RegKey" field value from stdout of called keygen.

NOTE 1. Console keygen may report return non-zero exit code. This will raise error "Failed to run console keygen" in the Software-Promoter.

NOTE 2. Software-Promoter handles both "<keygen>.parameters" and "<keygen>.results" files itself. You do not need to delete these files.

Fields assignation overriding

Sometime you want to tune rule of registration orders parser for one product or version individually.

For each field in "Registration order" entity you can define regexp-based rule. Regexps (Regular expressions) are Perl-like string match operators.

For all registration orders detectors you can set special value for any element in products tree. These overrides are inherited from parent elements. Example:

You have overrode "RegKey" field detection for "ShareIt" detector from default to "There is no regkey" value for all items in products tree. After that, all versions of all products will be used this overridden rule.

Fields assignations overriding mechanism can be turned off using parameter "Use Registration order detection overrides" from global preferences.

Greeting messages generation

Associate greeting messages template for each version and Software-Promoter will automatically generate outgoing message from this template and put this message into Software-Promoter outbox. Use this feature with AsProtect key generation and save your time!


Prev Next
=== Documentation is provided by Word2Help ===

Copyright © 2000-2005, Nick Mokhnatov, Independent software developer. Terms of use. Privacy statement.
Updated on Sun, February 11, 2007