Electronic Manual - AccessGuardian
© SunnyScript - www.sunnyscript.com

 
Table of contents
 
Installation and configuration [go] Directory structure
[go] File transfer to the server
[go] Configuration
Administration panel [go] Admin menu
Content protection [go] Provided security methods
[go] Edit AccessGuardian parameters (part 1)
[go] Edit AccessGuardian parameters (part 2, payment methods)
[go] Manage subscriptions - overview
[go] Manage subscriptions - available settings
Office tools management [go] Manage the office behind
[go] Registered users database
[go] Order and payment tracking
[go] Invoice management
[go] Table of history
[go] Send out mailings
[go] Database import and export tools
Member lounge and template management [go] Access the member lounge
[go] Member lounge - basic overview
[go] Member lounge customization with templates
[go] Available templates
[go] Customization of templates
Helpful hints and technical reference [go] Affiliate management with YourAffiliates
[go] Advanced search features
[go] Forgot your admin password ?
[go] Member lounge and template translations
Customer services [go] Need help ? Contact the SunnyScript service department !

Smart tip: This handbook is also designed to be printed... set your printer's page orientation to landscape format, so there is enough space to place hand-written notes on the left and right margin easily.
 


 
Installation and configuration
 
SunnyScript offers an optional available installation service, if you don't want to install the software yourself.
Please contact our customer service department by e-mail for detailed information and pricing.
 
Directory structure...

The software can be installed at any place that allows the execution of CGI software: Most server systems provide a special directory called "cgi-bin" where you have to install the application, while others are not limited to a particular location.

In a common environment, we recommend to create a new sub-directory within the existing "cgi-bin" folder to separate the software from other already installed products.

Required "template.en" directory:

Inside the directory you desired for installation, please create a new sub-directory called "template.en". It's used to hold the content of "template.en" directory delivered with your software package.

Required "data" directory:

Inside the directory you desired for installation, please create a new sub-directory called "data". It's used to hold the content of "data" directory delivered with your software package.

Adjust path to Perl:

Open all program files (*.pl and *.cgi) in a text editor and change the first line "#!/usr/bin/perl" that it reflects the correct path to Perl 5 (or higher version) on your system. This is required to let your server know where the Perl interpreter is located.

Usage note: On most systems, /usr/bin/perl is already the default path to Perl and so no modifications are required.
 

File transfer to the server...

Upload all files to the created directories. If a ftp client is used, ensure to set the "ASCII transfer mode" for file submissions.

Detailed file table: Scheme: [filename | suggested place to upload (short description); file permission]:
 
Filename...
Description...
Filename...
Description...
* cgi-bin (program & data files); 755 template.en/* template.en (templates); 666
    data/* data (basic data files); 666

Important notes: Please double-check file permissions and transfer mode, otherwise the software may not work as intended. Depending upon the server configuration, different file permissions than the ones stated above may be necessary.

Smart tip: Our installation helper install.cgi makes it easier... just call it from your web browsing software (requires correct installation of this script) and it automatically checks your entire installation, adjusts permissions and fixes typical errors.
 

Configuration...

After you have uploaded all files, you may wish to start the admin panel first time to initialize the system parameters. In order to do so, please call admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ag/admin.cgi

Before you proceed, it is highly recommended to set an administration password. After this is done, access to the admin panel is granted only by using "admin" as login together with the chosen password.

Now click on the button "Edit system parameters" and configure the shown parameters according your needs.

Usage note: Since all parameters are automatically filled with correct values, modifications on your side may not be required.

Directories and files:
 
Name of parameter to set...
Description...
CGI files directory
Example: /usr/www/cgi-bin/ag
Absolute path to the location of AccessGuardian on your server.
"data" directory
Example: /usr/www/cgi-bin/ag/data
Absolute path to the location that holds databases and related files.

Platform specific settings:
 
Name of parameter to set...
Description...
Mailing program (for Unix only)
Example: /usr/bin/sendmail
Absolute path to Sendmail (or compatible) application on your server.
SMTP server
Example: smtp.sunnyscript.com
SMTP server for handling mails; when left blank, the default mail application is used. This setting is required for non-Unix systems, otherwise optional.
Don't use flock
Example: Unchecked
"flock" is normally supported directly by the operating system; should it be unavailable for any reason (e.g. on Win9x, WinMe), mark this checkbox.
Admin e-mail address
Example: admin@sunnycript.com
E-mail address of the system administrator (e.g. webmaster).

URLs:
 
Name of parameter to set...
Description...
URL of CGI files directory
Example: http://www.sunnyscript.com/cgi-bin/ag
URL to the location of AccessGuardian on your server.
URL of checkout script (should be secure)
Ex.: https://www.sunnyscript.com/cgi-bin/ag/checkout.cgi
URL pointing to the checkout part of AccessGuardian. In order to enable SSL encryption, change the transfer protocol to HTTPS.
URL of user's help document (optional)
Example: http://www.sunnyscript.com/myhelp.htm
URL to an optional help document (not included); may also consist of an e-mail link (e.g. "mailto:support@sunnyscript.com").

Usage note: Should contain a link to your company's terms of business, customer service details or any other related document.

Various parameters:
 
Name of parameter to set...
Description...
Authentication time (in seconds)
Example: 10800
Time frame keeping user authentications active (after expiration, people must log in again); recommended range: 1 to 12 hours.

After you have verified all settings carefully, click on the button "Save parameters" to take over modifications to the system. It is also possible to bring back previous values with the "Let the script restore defaults" button.
 

Congratulations - you have successfully installed the software :-)

 
Administration panel

The administration panel is a convenient way to work interactively with AccessGuardian. You can start the admin panel by calling admin.cgi with your favorite web browsing software:
 
Action to perform...
URL to call (location varies on your system, of course)...
Open admin panel http://www.sunnyscript.com/cgi-bin/ag/admin.cgi

How to access the member lounge (registered user area, online subscriptions):
 

Action to perform...
URL to call (location varies on your system, of course)...
Access member lounge http://www.sunnyscript.com/cgi-bin/ag/login.cgi             or
http://www.sunnyscript.com/cgi-bin/ag/my.cgi

Helpful hint: For more information about this feature, please refer to the chapter "Member lounge and template management".
 

Admin menu...

This screen allows the following actions:
 
Main menu options...
Description...
Manage system tables
 
Table...
Description...
... of registered users Database containing member profiles.
... of history Database containing logged history information.
... of orders Database containing subscription orders.
... of invoices Database containing invoices.
 
Statistics View summarized system statistics.
Edit AccessGuardian parameters Modify general parameters and manage subscription settings.
Change password Change admin password.
Other administrative features
 
Section...
Description...
Edit system parameters Modify system related parameters.
Edit templates Edit the layout templates.
Import / export data Import and export databases.
 

The top menu line provides additional selections (depending on the current system status):
 

Top menu options...
Description...
Admin Go to the main admin menu.
Home Browse the currently active database.
Search Search the currently active database.
Login / Logout Login or logout as administrator.
Moderate Approve or decline user modifications made to database.
Restructure Modify structures and parameters of the currently active database.
Mailings Send out mailings to registered members or customers.
Add / Clone / Update / Delete Add, clone, update or delete records / members.
 

 
Content protection
Provided security methods...

AccessGuardian protects directories and their contents on any server or hosting account against unauthorized usage and also manages accesses coming from registered users (members).

The software is able to handle multiple subscriptions, which may be either free of charge or fee based (refer to the following parts of this chapter for more information).

You can protect confidential business data, provide private areas to your employees (e.g. sales staff), sell paid memberships of your website or (web-)services, distribute all kinds of downloadable goods like software, e-books and much more.

Seen on the technical side, two security methods are provided:

Proxy script (normal security, Unix and other OS):

All data stored in the protected directory(ies) is delivered through AccessGuardian after the user has provided its authentication. This method works well with most websites and is recommended, if .htaccess/.htpasswd is not supported by your server.

Technical notes: Server-side scripting, server-generated directory listings and SSI is not supported; embedded multimedia objects (e.g. Flash animations, Quicktime movies or PDF) should work. CGI software must be called by using full URLs.

.htaccess and .htpasswd files (strong security, Unix only):

AccessGuardian uses the server's .htaccess and .htpasswd files to protect content with the highest level of security.

It's the recommended method suited for all kinds of deliverable data, e.g. binary content, multimedia files, embedded objects and executable software like CGI scripts as well as other server-based applications - fully compatible to your existing website.

Technical note: This method may not work on most Windows systems; please use "proxy script" instead of.

Subscriptions - the way AccessGuardian works:

If users are interested to access protected content, they must become a member first. By doing so, they have normally not access to any provided subscriptions (at least unless you specify a particular subscription to be available for new members).

As soon as the users are registered (now called "members"), they can proceed to order the desired subscriptions (which can be free or fee based depending upon your settings and desired application).

After approvement (either automatically or by the admin), members are able to access the subscriptions they have registered for. In this way, it is possible to host multiple subscriptions only accessible by certain users.
 

Edit AccessGuardian parameters (part 1)...

First of all you must configure basic system settings which take effect to the behavior of the software. Click on the button "Edit AccessGuardian parameters" when you're in the admin menu.

General settings:
 

AccessGuardian asks...
Description...
Name of site Name of your website (e.g. "My sample company").
URL of site URL of your website (e.g. "http://www.sunnyscript.com"), as it will be displayed at the member lounge and within mailings.
Footer to be added to each e-mail Default footer being added to all outgoing e-mails; suited especially for showing your business card or advertisements.

Security settings:
 

AccessGuardian asks...
Description...
Security method Choose the type of security used to protect your content (see above).
Main files in secure directory(ies) Type in a comma separated list of index files used to be called as the initial page of a protected content directory, like "index.htm,index.html,index.cgi,startme.txt, getit.zip".

If more than one of these files exist in a particular directory, the first file appearing in this list is chosen.

By the way: The directory location can be set individually for each subscription. Please refer to the part "Manage subscriptions - available settings" of this chapter.

Time to keep cart on server (hours) Specify the time period, shopping carts (containing subscriptions) of your members will be held in the system. Recommended range: 1 to 5 hours.

Technical note: As longer you keep the carts alive, as more diskspace is temporarily required (about 1 KB per cart).

Max. time to await payment
confirmation from card processor
It defines the time period the system waits for order confirmations from the credit card processor. Recommended value: 12 hours.

Usage note: Applicable for fee based subscriptions and payment method "Credit card real-time processing" only (described closer below).

E-mail blocking Activate "Block these e-mail addresses" and specify a list of domains and/or e-mail addresses (one per line) not allowed to be used by people creating profiles.
IP blocking Activate "Block these IP addresses" and specify a list of IP addresses (one per line) not allowed to be used by people trying to subscribe to your services.

Also partial IP addresses (e.g. 123.456.78.*) are allowed.

"Welcome new member" e-mail message:
 

AccessGuardian asks...
Description...
Send welcome message Marked to send a welcome message after a profile has been created successfully.

Important note: Unless providing login IDs and passwords in an other way (e.g. by modifying the member lounge templates to do so there), this message is required to let your members receive their login information.

Currency settings:
 

AccessGuardian asks...
Description...
Currency prefix Type in the prefix of the currency (e.g. "$" for usage in "$12.34 USD").
Currency suffix Type in the suffix of the currency (e.g. " EUR" for usage in "12.34 EUR").
Currency decimals Specify the number of decimal places in desired currency (commonly two).
Primary currency 3-digits separator Decide for a character you want to use in order to separate amounts every three digits (e.g. $1'499.80 USD or 2.700,40 EUR).

Admin's notification:
 

AccessGuardian asks...
Description...
Send receipt to admin Marked to send a notification to admin for each new incoming order.

Order logging settings:
 

AccessGuardian asks...
Description...
Orders log file
Required by YourAffiliates
Absolute path of the log file location used by YourAffiliates (or other compatible affiliate managers) to track sale based commissions. Leave it empty to disable tracking.

Sample setting: /usr/www/cgi-bin/ya/data/sales.db

Orders log file format Select either "New release format" or "New release format, moderated" when using YourAffiliates ("Old release compatibility" is intended for elder releases of this product).
How long keep "affiliate cookie"
on user's computer (in hours)
If you use AccessGuardian to place affiliate cookies (see "Helpful hints and technical reference"), then you can set the time period to hold cookies on visitor's computer.

Recommended value: 48 hours. Parameter is optional.

Order restrictions:
 

AccessGuardian asks...
Description...
Order sub-total
Minimum order value Type in the minimum amount of an order, before granting checkout.
Format: 12.34 (without any currency prefix or suffix)
Maximum order value Type in the maximum total amount allowed per single order.
Format: 12.34 (without any currency prefix or suffix)
Payment location restrictions
Show standard country list Select this option and a pre-defined list of countries will be shown.
Accept payments from following
locations only
Type in a list of locations from which you will accept payments. Use a two-char location code and full name separated by pipe, one pair per line.

Format: <Two-char abbreviation>|<Full location name>

For example:

UK|United Kingdom
FR|France
DE|Germany

Usage note: There is no need to keep attention to specific conventions, you can invent your own list of locations depending upon your requirements.

Payment methods: See next part of this chapter.

AccessGuardian member lounge layout:
 

AccessGuardian asks...
Description...
Menu layout
Menu items separator Characters that will appear between the top menu items (standard value: " | ").
Main menu entries Right box (available selections): Choose entry and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove an entry or use "Up" and "Down" buttons to change entry order.

Alternatively you can type in a comma delimited list of entries manually.

"Home", "Profile update", "Access
history", "Logout", "Help" entry text
Labels (linking text) used for top menu entries.

You can also insert image tags according valid HTML standard. "Help" allows also an e-mail address, like "mailto:support@sunnyscript.com".

 
Edit AccessGuardian parameters (part 2, payment methods)...

Offline payment:

This payment option applies, when you handle payment processing outside (orders are only taken, no invoices generated).
 

AccessGuardian asks...
Description...
Allow buyer choose "Offline
checkout"
Mark this checkbox to enable the "Offline checkout" payment method.
Allow buyer cancel an order Check it to allow the customer to cancel an order until order processing has started. Customers will see a "Cancel order" link on their order receipts.

If an order was cancelled through the customer, you get notified by e-mail and the field "Order cancelled" (table of orders) is set to "Yes" for the concerned order.

Usage note: Disable "User can cancel order" in the table of orders as soon as you started order processing and don't wish the customer to cancel its order anymore.

Important note: Please be careful using this option.

Send invoice:

This payment option will create a customizable invoice for each order.
 

AccessGuardian asks...
Description...
Allow buyer choose "Send invoice" Mark this checkbox to enable the "Send invoice" payment method.
Allow buyer cancel an order Check it to allow the customer to cancel an order until order processing has started. Customers will see a "Cancel order" link on their order receipts.

If an order was cancelled through the customer, you get notified by e-mail and the field "Order cancelled" (table of orders) is set to "Yes" for the concerned order.

Usage note: Disable "User can cancel order" in the table of orders as soon as you started order processing and don't wish the customer to cancel its order anymore.

Important note: Please be careful using this option.

Credit card real-time processing:

This payment option requires a "merchant account" registered at a payment processor. In this way, you can handle credit card payments electronically through an online payment system.

Usage note: If you process credit cards by yourself (e.g. via terminal or an electronic cash register), please refer to the payment option "Credit card manual processing" as described later.

Passing back order details from the credit card processor to AccessGuardian:

After a payment has been processed (no matter, if accepted or declined), the payment processor must hand over the results back to AccessGuardian. For this application, the program passback.cgi is intended.

Instruct your credit card processor to transfer all data to passback.cgi of your AccessGuardian installation:
 

Action to perform...
URL to provide to payment processor (location varies on your system, of course)...
Hand over the payment processing
results to AccessGuardian
http://www.sunnyscript.com/cgi-bin/ag/passback.cgi

And here you can see how to configure AccessGuardian to work together with a payment processor...
 

AccessGuardian asks...
Description...
Allow buyer choose "Credit card
realtime processing"
Mark this checkbox to enable the "Credit card realtime processing" payment method.
Generate invoice for each
transaction
AccessGuardian can add an invoice to the table of invoices for each single transaction.
 
Possible settings...
Description...
Do not generate Disable this feature.
Generate, but internal use only Invoice is generated, but invisible to the customer.
Generate and show to buyers Invoice is generated and link to a printable version is shown to the customer.
 
Order confirmation message
This message confirms the order arrival ("queued for processing").
Send confirmation message to user Select at which stage in order processing an order confirmation is sent to the customer.
 
Possible settings...
Description...
Send receipt in payment
confirmation message
Don't send a confirmation before payment was surely handled by the payment processor.
Send separate receipt Send an order confirmation as soon as the order arrived (payment may be not done so far).
 
Payment gateway configuration
Important note: All parameter settings described here must be provided by the payment processor; set them very carefully.
Name of credit card processor Type in the name of the payment processor.
Payment gateway URL AccessGuardian sends all order details to this URL for payment processing.
Payment URL request method Select the submission method (GET or POST).
Form variables AccessGuardian will send these variable/value pairs to the payment gateway URL.

Format: <Name of variable>=<Submitted value>
(put only one pair into a single line)

Sample 1: $cart_id=$cart_id
Submit the variable $cart_id and its assigned value.
Sample 2: account=abc123
Submit a variable called account and its fix value abc123.
Sample 3: ordertotal=$total
Take over the value from $total to a new variable.
Sample 4: name=$first_name $last_name
Put two system variables into a new one.

Different payment processors have different requirements in variable names and values being passed through to them.

The following variable names are reserved and holding system data (their values can be taken over according the samples above):
 

Variable name...
Description...
$total * Total sale amount to charge from the credit card (contains numerical value only, format: 12.34).
$cart_id * Cart ID as assigned by AccessGuardian.
$first_name, $last_name,
$company, $country,
$state, $zip, $city,
$address1, $address2,
$phone, $_email, ...
Various customer details, as taken from the table of registered users.

Usage note: Also custom fields you invented can be taken over by specifying their names here.

* Important note: These fields are required being submitted to the payment processor.

Payment confirmation "pass back" configuration
After the transaction has been handled (successfully or not) by the payment processor, they need to call passback.cgi in order to inform AccessGuardian about the payment status.
Important note: All parameter settings described here must be provided by the payment processor; set them very carefully.
Form field, which holds
shopping cart ID (mandatory)
Provide the name of the variable containing the shopping cart ID of the order (as it was originally delivered by AccessGuardian).

Important note: It is required to find the order belonging to the concerned transaction.

Form field, which holds
total amount paid (optional)
Provide the name of the variable containing the total amount as it was charged from the customer's credit card for the concerned order. Accepted format: 12.34.

Technical note: Leave the field empty, if this information is not available.

Form field, which holds
transaction ref. number (optional)
Provide the name of the variable containing the transaction reference number.

Technical note: Leave the field empty, if this information is not available.

Form field, which holds
transaction status (recommended)
Provide the name of the variable containing the transaction status (whether the payment was done successfully or failed).

Important note: It is recommended to let AccessGuardian know the payment status.

Value of successful transaction
status
Specify the value, the "transaction status" field must contain, to consider a payment transaction as being done successfully (value must match the submitted one).
Log values of passed back fields Specify a comma-delimited list of all variables passed back to AccessGuardian which will be logged in a special file for later reference:

Successful transactions are stored in...
data/transactions.db (suited for database or spreadsheet import)
data/transactions_readable.txt (suited for humans; convenient to read)

Declined transactions are stored in...
data/transactions_err.db (suited for database or spreadsheet import)
data/transactions_err_readable.txt (suited for humans; convenient to read)

Technical note: Leave it empty to disable this feature.

Payment confirmation security
Important note: All parameter settings described here must be provided by the payment processor; set them very carefully.
Allowed request method Select the allowed submission methods of the payment details (GET, POST or both).
Allowed referring URL (optional) If this parameter is set, passback.cgi is allowed to be called from a specific origin only (the URL you name here). Intended to limit access and avoid security injuries.
Action on violation of referring
URL rule (optional)
When passback.cgi is called from an other than the above specified referring URL, one of these actions will be performed:
 
Possible settings...
Description...
Accept payment, but notify admin Payment will be accepted, but a warning message is sent to the administrator.
Decline payment and notify admin * Payment will be declined and a warning message is sent to the administrator.
Decline payment * Payment will be declined without notice.

* Important note: Although the payment is not accepted by AccessGuardian, it may be already processed - so it is recommended to use these options with care only.

If order sum and passed back paid
total sum doesn't match, then...
If the calculated order total ($total) differs from the charged amount, one of these actions will be performed:
 
Possible settings...
Description...
Accept payment, but notify admin Payment will be accepted, but a warning message is sent to the administrator.
Decline payment and notify admin * Payment will be declined and a warning message is sent to the administrator.
Decline payment * Payment will be declined without notice.

* Important note: Although the calculated amount differs from the paid one, it may be already processed - so it is recommended to use these options with care only.

Script for additional verification of
passed back values
Advanced users only: A verification script (written in Perl) can be placed in here to carry out additional checks before accepting a particular payment.

You can access variables with via $in{VARNAME} hash and access order fields (as in the table of orders) via $order{FIELDNAME} hash.

Technical note: If you push errors to @errors array, payment is declined. If you push warnings to @warnings array, payment is accepted, but a warning message is sent to the admin to notify about a possible security hazard or processing error.

Credit card manual processing:

This payment option is suited to accept credit cards for manual processing (e.g. via terminal or an electronic cash register).
 

AccessGuardian asks...
Description...
Allow buyer choose "Credit card" Mark this checkbox to enable the "Credit card" payment method.
Accept these pre-defined
card types
Decide for the credit cards you wish to accept; choose multiple entries by holding the CTRL key (or appropriate) when selecting.
Accept also these card types Add further credit cards for being accepted (e.g. direct debit cards or customer cards).

Format: <Card name>|<Digit length>|<MOD10 test>|<Valid prefix>

<Card name>*: Label of the credit card as it should appear during checkout.
<Digit length>*: Length of the card numbers.
<MOD10 test>: "1" to allow MOD10 check or "0" to disable it (default).
<Valid prefix>: Fix prefix of the card numbers to accept.

Examples:

My Personal Card|16|1|812
Your Card|15

* Important note: Card name and digit length are mandatory, other fields are optional.

How to store credit card numbers Submitted credit card numbers can be stored in these different ways:
 
Possible settings...
Description...
Split (Increased security) Stores one part of number in the table of orders and submits the other part with admin's order notification.
Database (Convenient way) Shows the entire number in the table of orders.
E-mail (Convenient way) Shows the entire number in admin's order notification.
 
Ask "CVV2/CVC2/CID code" Enable this option in order to request the card verification code provided by some credit card suppliers. This may decrease the risk of fraudulent orders.
Generate invoice for each
transaction
AccessGuardian can add an invoice to the table of invoices for each single transaction.
 
Possible settings...
Description...
Do not generate Disable this feature.
Generate, but internal use only Invoice is generated, but invisible to the customer.
Generate and show to buyers Invoice is generated and link to a printable version is shown to the customer.
 
Allow buyer cancel an order Check it to allow the customer to cancel an order until order processing has started. Customers will see a "Cancel order" link on their order receipts.

If an order was cancelled through the customer, you get notified by e-mail and the field "Order cancelled" (table of orders) is set to "Yes" for the concerned order.

Usage note: Disable "User can cancel order" in the table of orders as soon as you started order processing and don't wish the customer to cancel its order anymore.

Important note: Please be careful using this option.

Validate credit card number
with MOD10 algorithm
This verifies the syntax of provided credit card numbers according a pre-set algorithm.

Checking includes these steps:

1. Syntax verification with MOD10 algorithm.
2. Verification of the card type (each card type has special characteristics).
3. Verification of the expiration date (expired cards are not accepted).

Important note: This validation cannot give you any guarantee that the credit card is a valid one. You should not provide goods or services until the payment was processed.

Payment details by phone or fax:

This payment option is suited when using a 3rd-party payment system working with reference IDs or when you desire to get credit card details sent by fax. Following applications may be handled with this payment method:

* 3rd-party payment systems where customer receives (after successful payment) a confirmation ID that needs to be submitted by the customer to you (either by phone or fax). For example, paying by phone bill or credit card acceptance via call center.

* 3rd-party payment systems where customer pays cash and receives a confirmation ID that needs to be submitted by the customer to you for collecting payment. For example, money transfer companies or special banking transfer services.

* High-risk environments (e.g. blacklisted countries with high rates of credit card abuse) requiring you to take credit cards only by fax, perhaps together with a photocopy of the original credit card for verification purposes.
 

AccessGuardian asks...
Description...
Allow buyer choose "Payment
details by phone or fax"
Mark this checkbox to enable the "Payment details by phone or fax" payment method.
Generate invoice for each
transaction
SunnyShop can add an invoice to the table of invoices for each single transaction.
 
Possible settings...
Description...
Do not generate Disable this feature.
Generate, but internal use only Invoice is generated, but invisible to the customer.
Generate and show to buyers Invoice is generated and link to a printable version is shown to the customer.
 
Deduct ordered quantity from
products with limited quantity
When having products with a limited quantity (system field _quantity set in product records), mark this button to deduct the ordered quantity from the remaining total.

Please refer to the next chapter for details regarding this feature.

Allow buyer cancel an order Check it to allow the customer to cancel an order until order processing has started. Customers will see a "Cancel order" link on their order receipts.

If an order was cancelled through the customer, you get notified by e-mail and the field "Order cancelled" (table of orders) is set to "Yes" for the concerned order.

Usage note: Disable "User can cancel order" in the table of orders as soon as you started order processing and don't wish the customer to cancel its order anymore.

Important note: Please be careful using this option.

Receipt message template Choose the template file used for the "Payment details by phone or fax" receipts.

Prepaid code:

With this payment option you can allow customers to pay with a special code (e.g. issued by a telephone payment system or by yourself, like gift certificates or as activation code after arrival of cheques).

Technical note: Prepaid codes are kept in the system unless their balances reaches zero. This is done to allow your members buying prepaid codes in advance and then spend them for different subscriptions from time to time.
 

AccessGuardian asks...
Description...
Allow buyer choose "Prepaid code" Mark this checkbox to enable the "Prepaid code" payment method.
Enter valid prepaid codes and
corresponding amounts
AccessGuardian will accept the prepaid codes as specified here.

Format: <Prepaid code>:<Value>:<Expiration date>

<Prepaid code>: Prepaid code, allowed chars: A-Z, a-z, 0-9 and "-" (case-sensitive).
<Value>: Amount of the prepaid code; format: 12.34.
<Expiration date>: Date, until prepaid code stays valid; format: YYYY-MM-DD.
 

Sample input...
Description...
123-aBc:50
0987654321:9.80
star1:30:2010-12-31
Value of 50 currency units.
Value of 9.80 currency units.
Value of 30 currency units; valid until 31. December 2010.

Usage notes: Unlimited code variations can be provided; any currency is possible.

If an expiration date is set, the concerned prepaid code will be removed automatically at the specified date (regardless of its remaining balance).

Generate invoice for each
transaction
AccessGuardian can add an invoice to the table of invoices for each single transaction.
 
Possible settings...
Description...
Do not generate Disable this feature.
Generate, but internal use only Invoice is generated, but invisible to the customer.
Generate and show to buyers Invoice is generated and link to a printable version is shown to the customer.
 
 
Manage subscriptions - overview...

In order to manage subscriptions, click on the button "Edit AccessGuardian parameters" when you're in the admin menu.

What is a subscription ?

A subscription is like a product your members can subscribe to (after general registration). Such a membership grants access to a protected area of your server for a limited time period and/or number of accesses.

Accessing a subscription can be either free of charge or fee based depending upon your settings for the concerned membership (e.g. when protecting business data, subscriptions are free; when selling memberships, subscriptions are charged).

How to create a new subscription:

Type in the name of the new subscription (e.g. "My online book") and click on the button "Create new".

How to edit / remove a subscription:

Select the subscription from the list, click on "Delete" or "Edit" and follow the provided instructions.

How to change the sorting of subscriptions:

Look for the one you wish to move around and click on either "move up" or "move down" to change its position (this affects the subscription's order within the list appearing on the member lounge).
 

Manage subscriptions - available settings...

General settings:
 
AccessGuardian asks...
Description...
Subscription name Name of the current subscription, as it will be displayed at the member lounge.

Technical note: The subscription name must stay the same as long as you want to keep the concerned subscription available - so choose it with care.

Subscription description Short description, as it will be displayed at the member lounge.
Automatically subscribe After a new member profile is created, one item of this subscription is automatically granted free of charge (e.g. suited for bonuses or "try it for free" offers).
Make available to all users This subscription is available free of charge for all members (new and existing ones). Any available price settings and access limitations will be ignored.
Subscription price The price of this subscription. Format: 12.34 (without any currency prefix or suffix). Use "0" or leave the field empty for free subscriptions.
Open content in new window Check this button to keep the member lounge in the background and put accessed content in a new browser window (recommended for increased convenience).
Delete following URL prefix
Security method: Proxy script
Converts absolute URLs into relative ones by removing the specified prefix from URLs:

Imagine that you have links to other resources on your original website, for example "<a href="http://www.maxjump.com/path1/path2/confidential.htm">Click here</a>".

When now moving the original website to a different (protected) location, you had to go through all files and change the absolute URLs into the correct relative ones, like "<a href="path2/confidential.htm">Click here</a>".

By using this feature, simply type in the string that should be automatically removed from absolute URLs to make these files accessible at the protected location.

According our above sample, you would enter "http://www.maxjump.com/path1/".

Limitations:
 

AccessGuardian asks...
Description...
Time limitation Limit the time a member can access the concerned subscription.
 
Possible settings...
Description...
Don't limit time Gives unlimited access (as long as member record is available in the table of registered users).
Usage time limit Number of days to grant access.

Usage note: You can use time and quantity limitations together (e.g. 30 days, but not more than 120 accesses). Depending upon the first event, the membership expires.

Quantity limitation Limit the number of accesses a member is allowed for concerned subscription.
 
Possible settings...
Description...
Don't limit number of accesses Gives unlimited access (as long as member record is available in the table of registered users).
Limit for number of accesses Number of granted accesses.

Usage note: You can use time and quantity limitations together (e.g. 30 days, but not more than 120 accesses). Depending upon the first event, the membership expires.

Security settings:
 

AccessGuardian asks...
Description...
Secure content directory Specify the directory which holds the content to protect. The directory path must be written as being relative to the location of AccessGuardian:

For example: AccessGuardian is installed at /usr/home/www/cgi-bin/ag

Sample 1: The directory to protect is at /usr/home/www/cgi-bin/ag/protectme
--> The "Secure content directory" is: /protectme

Sample 2: The directory to protect is at /usr/home/www/protectme
--> The "Secure content directory" is: ../../protectme

Important note: Please ensure that this path is correct, otherwise AccessGuardian may deliver wrong content for the concerned subscription.

Usage note: When using the security method "Proxy script", it is recommended to put the secure content into a directory, which is not public accessible.

Secure content URL Optional parameter; intended being the same as "Secure content directory", but in URL format. It is especially suited to encrypt delivered content by using SSL.

Sample 1: http://www.sunnyscript.com/protectme (not encrypted)
Sample 2: https://www.sunnyscript.com/protectme (SSL encrypted)

Important note: This parameter takes effect for security method ".htaccess, .htpasswd files" only and is ignored for the method "Proxy script".

Max. accesses per period limitation In order to protect your server and subscriptions against abuse, you can set a maximum number of accesses allowed within a given time period for each member.

Should the member reach this limit, no further access is granted anymore as long as the current period lasts (this prevents unauthorized re-selling of subscriptions).
 

Possible settings...
Description...
Use filter for max. accesses
per period
Mark this checkbox to enable the feature.
Max. accesses per period Number of accesses allowed for this subscription within a given number of days (period).
Time frame of a period Number of days a period lasts.

Important note: Please ensure to set a generous limit; otherwise you may receive many complaints from members not able to access their subscriptions.

Subscription expiration:

You can send warning and notification messages to notify members regarding expiration of their subscriptions.
 

AccessGuardian asks...
Description...
Warn on ... days before expiration Specify the number of days before notification messages are sent out for subscriptions., before sending a message to notify the member about the end of the subscription.
Warning message body template Select the file that keeps the notification message (e.g. warn_msg.txt). Its content can be modified at screen "Edit templates".
Notify about deletion Enable this feature to send a "Goodbye" message as soon as the subscription expires.
Notification message body template Select the file that keeps the notification message (e.g. del_msg.txt). Content can be modified at the screen "Edit templates".
 

 
Office tools management
Manage the office behind...

Overview:

AccessGuardian is much more than just an access manager. It also provides various office management tools, like a customer address database, order and invoice handling as well as electronic newsletters.

In the following we explain how to use these features. But before you proceed, you should have been read the previous chapters (some matters are described there we have considered as being known).
 

Registered users database...

Overview and typical applications:

The "table of registered users" (members) holds all information about customers owning an account on your system, regardless of currently active subscriptions.

Members on this table are able to use the member lounge to login, access protected content and manage their profiles.

Some usage examples:

You can use "View records" in order to search for specific parameters, like age or origin of your customers and so find out what kind of people your business attracts - the ideal basis for creating sales statistics and do targeted marketing.

Add new fields to request further details during registrations to get a clear picture about your customers or ask for information which are required to have for your business.

Inform registered users about upcoming new services, special events and general company news by sending mailings and regular newsletters. And with personalized mails, you may achieve much more attention.

Manual subscription management:

It is possible to manually add, update or delete subscriptions for a particular profile (search for the desired profile and click on "Update" link at the upper right corner). At the system field "Subscriptions" you find a list with all available subscriptions.

Add new subscriptions:

Specify the starting date/time (format: YYYY-MM-DD hh:mm:ss) for the subscription becoming active as well as its quantity (usually "1"). Now move the cursor into a new field to take over the new entry automatically.

Update or remove existing subscriptions:

Change the date/time (format: YYYY-MM-DD hh:mm:ss) or quantity for a desired subscription (set quantity to "0" or leave it empty to delete). Now move the cursor into a new field to take over the entry automatically.

Technical note: This feature requires JavaScript being enabled at your web browser's preferences.

"Table of registered users" settings (accessible from the main admin menu):
 

AccessGuardian asks...
Description...
View / Add / Update / Delete users Search the member database; add, update or remove profiles.
Moderate user actions Moderate profile modifications or new subscriptions (if applicable).
Send out mailings Send mailings to members (see last part of this chapter).
Restructure
Change table parameters and layout
Manage the database structure (e.g. additions or modifications of fields) and other table-related preferences (e.g. sorting of records).

Important note: Don't touch any parameters you are not sure about.

Restructure table:

On the main admin menu, click on "Restructure" found at "Table of registered users".

Edit fields structure:

Create new fields, edit or remove existing ones and change the sorting of fields.

By the way: When removing a field, concerned table parameters are automatically updated.

Empty table:

Just select the desired options and click on the "Clear data" button in order to clear the concerned table. Please note that once a table (or part of it) is cleared, all related content will get lost and cannot be recovered.

Field properties parameters:

Go to "New field name", type in the desired name, select the data type and click on "Create new field". Otherwise look for the field you wish to modify and click either on "Edit" or the field name. Now the screen "Field properties" appears:
 

AccessGuardian asks...
Description...
Field name Contains the name of the table field; you can change it at any time (table parameters are automatically updated with new field name).
Data type Select the type of content being stored in this field:
 
Type...
Description...
text Any content with unlimited size (default).
int Positive and negative integers.
float Real numbers.
date Date in format YYYY-MM-DD.
time Time in format HH:MM:SS.
datetime Date and time in format YYYY-MM-DD HH:MM:SS.
boolean Empty value = false; any other value = true.
image GIF, JPG, PNG & BMP pictures (stored in "binary" directory).
binary Binary content (stored in "binary" directory).
memo Textual content (stored in "binary" directory).
htmlmemo HTML-formatted content (stored in "binary" directory).
uploadmemo See "memo", but use with "upload (other files)" edit control only.
autoinc Autoincrement integer field.
URL Same as text, but URL validation and embedded HTML.
email Same as text, but e-mail validation and embedded HTML.

Usage note: "Memo" fields are suited for large text parts (e.g. long descriptions), not required to be searched. "Binary" fields should hold files provided for download only.

Display label Field label appearing instead of field name set above.
Display comment Comments which appear when adding or updating records, just giving some hints.
Display mask Advanced users only: Active template for Perl scripts used to format concerned field value in HTML code or to make manipulations with value before output.

Available system variables are $id (contains record ID), $fields{FIELDNAME} and $value (contains current field's value).

Sample application for display mask:
 

Description...
How to realize...
Field value in bold characters Type in: &"<b>$value</b>"
 
Default value Type in a default value you wish to use for this field, if it is kept unfilled by the user; can be also a Perl script.

Sample applications for default value:
 

Description...
How to realize...
Text based (no Perl scripting) Just type in the desired default value.
Current date & time Type in: &datetime2str(time)
 
Required Click here to mark this field as required.
Unique Click here to mark that this field's content has to be unique in the entire table.
Verification rules Type in rules to verify field's content (multiple rules separated by semicolon); if this is left empty, verification is done based upon used field type.
 
Rule...
Description...
int Positive and negative integers.
float All numbers ("+", "-", "." and digits).
alpha Characters only (A-Z, a-z).
alphanum Characters and digits only (A-Z, a-z, 0-9).
positive Positive numbers only.
negative Negative numbers only.
range:x,y All numbers from x to y.
values:val1,val2, ... Only given values are allowed.
min_size:x Minimum length of required input.
max_size:x Maximum length of allowed input.
valid_email E-mail address checking for correct format.
valid_URL URL checking for correct format.
accepted Required field (same as "required" in field types); e.g. used for checkboxes.
format:<x>::<error> <x> must match a Perl regular expression.
<error> may contain a customized error message, shown instead of the default one when verification failed.

Samples for field verification:
 

Rule...
Allowed content...
range:1,10 All positive numbers from 1 to 10 (e.g. 2, 9.35, ...).
values:yes,no Allowed input "yes" or "no" only.
min_size:5 At least 5 chars required, e.g. postal code check.
format:^\d+\.\d\d$ One or more digits followed by point and two digits, for example: 123.78 (Perl expressions).
 
Edit control Choose the intended edit control type:
 
Edit control type...
Description...
Automatic selection Let AccessGuardian automatically select matching edit control type based upon the field type.
Text input control Standard text input field.
Text input with dropdown list * Combined text input and dropdown list control (requires JavaScript enabled).
Password input control Password text input field.
Checkbox Checkbox (value = 1 when enabled).
Checkbox list * List of multiple checkboxes.
Upload (image) "Upload file" field for images (uploaded content will be stored in "binary" directory).
Upload (other files) "Upload file" field for binaries and memos (uploaded content will be stored in "binary" directory).
Text area Multi-line textbox (applicable for data types "text", "memo" and "htmlmemo").
Radio buttons * Radio buttons.
Combobox (Dropd. list) * Dropdown list.
List * Same as combobox, but items appears as listing.
Multiselectable list * Same as list, but allows to choose multiple items.
Hidden Hidden in member lounge, but may have a value (as it is specified in "Default value").
* Values must be specified in field "Edit control data" below.
 
Edit control data Applicable for radio buttons, comboboxes, lists and multiselectable lists to determine the field content. Format: <Internal used value>|<Displayed value>

For example:
 
  01|Get YourAffiliates now
02|Get EasyData now
03|Get AccessGuardian now
...
 

Edit control width Applicable for text and password input fields as well as text areas. Type in the width of concerned field in characters (this does not set maximum length of field input).
Edit control height Applicable for text areas, lists and multiselectable lists. Type in the height of concerned field in lines (field content can contain more or fewer lines than set here).
Edit control template Advanced users only: Active template for executing Perl scripts.
Column width Type in the width of the table column concerned field appears in. Use either percentage value or pixels; leave empty for standard setting.
Column alignment Select alignment of the table column concerned field appears in.
Cell vertical alignment Select alignment of the table cell concerned field appears in.
Max. size Type in max. number of characters allowed for input.
Images, binary & memo fields: Type in max. file size (bytes) allowed being uploaded.

Important notes: If you edit a system field, some of the settings above may be not available for selection. Don't touch pre-filled settings for system fields, you may negatively affect their behavior.

Change table parameters and layout of registered users table:

On the main admin menu, click on "Change table parameters and layout" found at "Table of registered users".

Table layout parameters:
 

AccessGuardian asks...
Description...
Table display label Used for admin's convenience only. This parameter can be ignored normally.
Table browsing mode
Sort records by (when browsing) Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or "Up" and "Down" to change field order. You may also decide for descending or ascending sorting (standard).

Alternatively you can type in a comma delimited list of fields manually. Add "-" before a fieldname to sort in descending order (ascending sorting done by standard).

View records per page Number of records displayed per page.
Visible fields * Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

Linked columns Field content is linked and if clicked on, concerned record will be displayed in detailed entry view mode.

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

Detailed entry view mode
Visible fields * Fieldnames shown when viewing a record detailed.

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

"Add record" mode
Visible fields * Fieldnames shown when adding a record (e.g. customer subscribes to your service).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

"Record update" mode
Visible fields * Fieldnames shown when modifying a record (e.g. customer change existing profile).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

* These are required (and important) fields; double-check them for containing correct values.

Search layout parameters:
 

AccessGuardian asks...
Description...
View records per page Number of records displayed per page.
Search fields * Fieldnames available for searching (no binary, memo & image fields).

Right box (available selections): Choose field and click on "Add" to select it.

Left box (current selections): Click on "Delete" to remove a field or use "Up" and "Down" buttons to change field order.

Alternatively you can type in a comma delimited list of fields manually.

* These are required (and important) fields; double-check them for correct values.

Behavior:
 

AccessGuardian asks...
Description...
"Add record" mode Available parameters:

"Data verification script": Perl script being executed after pressing the "Submit" button (before data is added); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Modify some field values before posting, validate input or update data in other tables or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Field values are read- and writable via hash $fields{<fieldname>}. Just replace <fieldname> with a field of the concerned table.

Cancel posting to the table by making Perl code return number below zero. Return -2 in order to don't display "add form" again. Add error messages to global @errors array.

Usage example ("Data verification script"):

At least one of both fields, option1 or option2, must be chosen...

if ($fields{option1} eq "" && $fields{option2} eq "") {push (@errors, "One of these options must be selected.");-1;} else {0;}

"Record update" mode Available parameters:

"Data verification script": Perl script being executed after pressing the "Submit" button (before data is updated); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Modify some field values before posting, validate input or update data in other tables or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Cancel posting to the table by making Perl code return number below zero. Return -2 in order to don't display "update form" again. Add error messages to @errors array.

Usage example: See above for "Add record" mode.

"Record delete" mode Available parameters:

"Data verification script": Perl script being executed after sending a deletion request (before data is removed); suited for input validation.

"Run this code before applying actual changes": Perl script being executed after the data verification script or (in moderated environments) record approval. It is not executed when data verification script returns an error or admin declines a moderation request.

Possible applications:

Validate input or remove data from child table(s) or perform other actions (e.g. calling 3rd-party software).

Notes for using Perl codes:

Cancel deletion from the table by making Perl code return -1 and adding error messages to global @errors array.

Usage example ("Data verification script"):

If field can_delete is empty, concerned record cannot be deleted...

if ($fields{"can_delete"} eq "") {push (@errors, "Record is marked as locked and can't be removed.");-1;} else {0;}

"Log in" mode Possible applications:

Verify additional conditions before allowing user to log in (e.g. date or time, calling 3rd-party software).

Notes for using Perl codes:

Login variable is $login; password variable is $pwd, Decline logging in by making Perl code returning -1 and adding error messages to global @errors array.

Usage example ("Run this script after logging in"):

If field balance is <= 0, then no login is granted...

if ($table->FindKey($login) && $table->{FieldByName}->{balance}<=0) { push (@errors, "Your balance is not positive. Please remit money to your account first."); -1;} else {0;}

After logging in redirect user to
this URL
Possible applications:

After users are successfully logged in, they can be redirected to specific URLs.

Notes for using Perl codes:

It's an active template ("&" at beginning initializes Perl script).

Available variables are $login (user login), $pwd (user password) and $table_name (name of the concerned table).

Usage example: Redirect user to a page with owned records...

&"search.cgi?tbl=$table_name&filter._email=".escape("='$login'")."&action=search"

Moderation request alert If moderation is enabled you can select to be automatically notified by e-mail when new moderation requests are waiting in queue.
 
Selection...
Description...
Don't send alerts Disable this feature.
After first moderation request Send one message regardless of the number of incoming requests.
After each moderation request Send a message for each new incoming request.
 
Moderation decline note
When declining a moderation request you can optionally send an e-mail notification to the record owner (field _email).
Send "On decline" message when
modification is declined by admin
Mark this button to send out an e-mail notification to record owners telling them about declined moderation requests.
"On decline" message body templ. Specify the template file used as notification text.

Permissions:
 

AccessGuardian asks...
Description...
Anonymous user permissions
Set the permissions for people currently not members of a subscription on your system.
Add Allow people to subscribe online through the member lounge. This should be activated unless you have a closed system (e.g. protecting data only, no sale of subscriptions).
Moderate additions New subscription requests will be put in moderation queue first (see main admin menu "Moderate user actions" of registered users' table.
Logged in members
Set the permissions for members having active subscriptions on your system.
Update own, Delete own Allow members to change their personal profile through the member lounge.
Moderate own updates,
Moderate own deletions
User actions will be placed in moderation queue first to allow verification by admin.

Technical note: If you wish to modify records that are currently in moderation queue, mark the button "Remind to update" when approving these records. On the moderation result screen, you can edit them right away (new browser window opens).

Menu layout:
 

AccessGuardian asks...
Description...
Sub-menu entries Allow or block sub-menu entries; possible values: "add,clone,update,delete".

Database script pages headers / Login script page headers:

Customize the headlines of generated pages; also usage of images (IMG tags according HTML) is allowed.

Table modifications logging:

Check this button in order to log all table modifications (add, update and delete records) to TABLENAME.modif.log located in the "data" directory (TABLENAME is replaced with the name of the concerned table).

In this way, you are able to manually recover lost data or track IP addresses of users trying to cheat your system.

Technical notes: Content of memo / image / binary field types is not logged.

Table automatic maintenance:
 

AccessGuardian asks...
Description...
Maintenance interval (in seconds) Time frame between running automatic maintenance (e.g. system jobs, data backups). Recommended range: 3600 to 43200 seconds (1 to 12 hours).

Data file backing up:

What exactly is backup generation ?

AccessGuardian is able to generate backups of its data files automatically to allow restoring them later. Generated backup files (extension .db.bak) are located within the "data" directory.

Pre-requisites for generating backups:

Maintenance interval: Ensure that a maintenance interval is specified. Please see screen "Table parameters", "Table automatic maintenance". Recommended range: 3600 to 43200 seconds (1 to 12 hours).

Important note: The backup update period must be longer than the specified maintenance interval.

Enable / disable backup generation:
 

AccessGuardian asks...
Description...
Number of backup files Type in the number of different backup file levels generated (max. 5). Increasing this value gives you a better chance to restore elder data, but also requires more diskspace.
Backup file #1 update period (hours) Specify the time frame between backups are generated.
Rename backup file #x to #x
after this number of updates...
Type in the number of updates processed for the concerned backup file before it will be replaced by the next generation of backups.

Technical notes: In order to disable the backup feature, set "Number of backup files" to 0 or leave it empty. New backups are not generated for unchanged files (since backup already exists).

Recommended backup settings:

Maintenance interval = 3600; number of backup files = 4; backup file #1 update period = 6
Rename backup file #1 to #2 after this number of updates of backup file #1: 4
Rename backup file #2 to #3 after this number of updates of backup file #2: 5
Rename backup file #3 to #4 after this number of updates of backup file #3: 6

<TABLENAME>.db.bak1 holds 0 to 6 hours old database content.
<TABLENAME>.db.bak2 holds 6 to 24 hours old database content.
<TABLENAME>.db.bak3 holds 1 to 5 days old database content.
<TABLENAME>.db.bak4 holds 5 to 30 days old database content.

<TABLENAME>: Name of the table, concerned backup file belongs to.

Retrieve data from backup:

If you wish to roll-back a corrupted data file, just replace the original file with the latest error-free backup copy.

Before doing so, please ensure that the table definition did not change recently (e.g. by adding new fields). In this case, the table definition needs to be set to the configuration of the data file to restore.

Important note: Restoring data files should be managed by an experienced system administrator only. In case of emergency, SunnyScript can provide you with special assistance to professionally handle this task (optional fee-based service).

Helpful hint: In order to create a backup of an entire database, you may use the "Download/upload table package" feature.

"Password reminder" utility:

If a member forgot its password to access the member lounge, AccessGuardian is able to re-send account details at request.
 

AccessGuardian asks...
Description...
Pwd. remember msg. body template Select the file that keeps the notification message.

Important note: Since the admin password is saved encrypted for higher security, it cannot be restored. See chapter "Helpful hints and technical reference" about information on how to reset the admin password.

Templates substitution:

If you wish to use your own templates instead of the pre-defined ones, please select your desired templates here (more details about templates are available in the next chapter). "--use default--" will activate the standard template for concerned output.

Helpful hint: If you're unable to find your recently created templates within the lists, hold CTRL or SHIFT key and click on the "Reload" button of your browser software to reload the browser window (to replace an old copy in cache).
 

Order and payment tracking...

Overview and typical applications:

This powerful back-end feature allows you to watch about incoming subscription orders, track payments and more.

Watch incoming orders & track payments:

Use "View orders" to see a list of all orders currently active on the system. You may also search for specific ones, e.g. by using the automatically assigned order number (request this number from customers in case of inquiries).

Important... Activate a pending subscription:

In order to activate a subscription, go to the appropriate record in order table and mark the "Payment confirmed" checkbox. Only if this step is done, the concerned subscription will be alive.

Usage note: This task is not required for the payment methods "Credit card real-time processing" and "Prepaid code" (since subscriptions are activated automatically after the payment has been processed successfully).

How to cancel or modify a particular order:

For already processed orders, go to the concerned member profile (table of registered users) and edit or remove the member's subscriptions according the situation. Then remove or update the order and invoice records to match the new values.

Usage note: Where applicable, please ensure to provide a chargeback for made payments; this task is not done automatically.

For unprocessed orders, simply remove the order and invoice records from the system and ask the user to place a new order by using the member lounge.

"Table of orders" settings (accessible from the main admin menu):

Important note: Since these are very similar to the ones of the registered users table, please refer to this part for all details.
 

AccessGuardian asks...
Description...
View / Update / Delete orders Search the table of orders for open payments, pending orders and more.
Send out mailings Send mailings to people listed on this system table (see last part of this chapter).
Restructure
Change table parameters and layout
Manage the database structure (e.g. additions or modifications of fields) and other table-related preferences (e.g. sorting of records).

Important note: Don't touch any parameters you are not sure about.

Auto removement of orders:

See screen "Table parameters", part "Table automatic maintenance" / "Records expiration". Specify the number of days after order creation, before an order is removed automatically from the system.

Mark "Auto. remove only if payment confirmed" to ensure that only orders are deleted, for which payment has been received.

Pre-requisite for this feature:

The maintenance interval must be set for this table; recommended range: 3600 to 43200 seconds (1 to 12 hours).
 

Invoice management...

Overview and typical applications:

The table of invoices is mainly used for internal purposes to create printed invoices for each subscription order processed by AccessGuardian. So you are able to take over invoices from AccessGuardian directly to your bookkeeping.

Search for invoices and print them:

Use "View invoices" to see a list of all invoices currently available on the system or search for a specific one. Click on the link "printable" (invoice number) to see the appropriate invoice ready-to-print or click on the order ID for a web-like formatting.

"Table of invoices" settings (accessible from main admin menu):

Important note: Since these are very similar to the ones of the registered users table, please refer to this part for all details.
 

AccessGuardian asks...
Description...
View / Update / Delete invoices Search the table of invoices, correct or remove them.
Send out mailings Send mailings to people listed on this system table (see last part of this chapter).
Restructure
Change table parameters and layout
Manage the database structure (e.g. additions or modifications of fields) and other table-related preferences (e.g. sorting of records).

Important note: Don't touch any parameters you are not sure about.

Auto removement of invoices:

See screen "Table parameters", part "Table automatic maintenance" / "Records expiration". Specify the number of days after invoice creation, before an invoice is removed automatically from the system.

Pre-requisite for this feature:

The maintenance interval must be set for this table; recommended range: 3600 to 43200 seconds (1 to 12 hours).

Technical note: When removing invoices here, customers will lose also access to the printable versions; so it is recommended to set a generous interval (recommended value: 30 days).
 

Table of history...

Overview and typical applications:

The table of history is used to build the history and statistical information (member lounge). In addition, it is very helpful for the administrator to investigate stolen passwords (tracking IPs of thieves) or other abnormal system usage.

"Table of history" settings (accessible from the main admin menu):

Important note: Since it is very similar to registered users table, please refer to this part for all detailed information.
 

AccessGuardian asks...
Description...
View / Update / Delete records Search the history table, modify or remove records.

Helpful hint: Use the field "comment" to add notes to particular history records (e.g. to track accesses in case of stolen passwords or comment system usage).

Restructure
Change table parameters and layout
Manage the database structure (e.g. additions or modifications of fields) and other table-related preferences (e.g. sorting of records).

Important note: Don't touch any parameters you are not sure about.

Auto removement of history records:

Different than the auto removement features of other system tables, the records are handled automatically and will be removed once they become useless. This is done by a special algorithm which decides about the system status.

So unless you are really sure about, you should not delete history records by yourself.
 

Send out mailings...

In order to create a mailing, select the desired table and choose "Send out mailings" from admin panel. Alternatively you can click on "Mailings" in the upper right corner of the screen.

You can send out mailings either to all record owners of a selected table (recipients filter set to "Send to all") or just mail such people who have allowed you to do so (recipients filter set to "Send to subscribed users only").

Mark "Do not send duplicate e-mails" in order to send only one single mail, even a particular address is found multiple times.

Reach the correct recipients:

Table of registered users: General mailings to all registered members (e.g. new product announcements, company news).
Tables of orders and invoices: Mailings regarding payment or service issues.

Custom recipients filter:

You can specify a search query that filters only recipients matching particular criteria. It is possible to use any field available in the table this mailing is intended for. Click on "view filter results" to get a listing of all selected records.

For example: income>=3000 AND education="high"
Only recipients will receive this mailing which have an income of more than 3000 currency units and a "high" education level.

Usage note: For more details about how to perform search operations, please refer to "Searching of databases (tables)" below.

Personalized mailings:

Personalized mailings contain an individual "To:" field for each recipient. In addition, you can include fields from the concerned table  (format: <!--$FIELDNAME-->) which are replaced by appropriate content.
 

AccessGuardian asks...
Description...
Sender's name and e-mail Type in the name and e-mail address used in the header of outgoing mails.
Message subject Type in the subject line used in the header of outgoing mails.
Message format Select message format, "Plain text" or "HTML" (applicable to recipients' mail clients).
Message body Type in the content of your mailing here.

Sample personalized mailing:
 
  Dear <!--$first_name--> <!--$last_name-->,

you recently added your website <!--$URL--> to our database.

If you would like to increase the popularity of your <!--$BUSINESSTYPE--> company, you should take a closer look at our valuable offers !

With kind regards,
John Smith (my sample company).

Technical note: If "Do not send duplicate e-mails" is marked, a recipient with multiple records receives mail for the first found record only (and so will just see content of table fields for this specific record).

Quick mailings:

Quick mailings are used to send identical messages to all recipients (faster processing). However the usage of personalized elements is not possible (included table tags are removed automatically).
 

AccessGuardian asks...
Description...
Mailing method Mark "Quick" to send out messages by using blind carbon copies.
 
AccessGuardian asks...
Description...
"To:" field Specify one visible "To:" address for the mailing (user addresses are hidden).
Max. number of BCC recipients
per message
Max. number of recipients allowed per message; recommended value: 99.
 

Intelligent mail content delivery:

The most powerful feature is the delivery of intelligent message parts based on a record's content and "if/then/else" conditions. So a mailing can be written absolutely targeted, which leads to higher response rates and increased user convenience.

Important note: This works only with "Personalized" mailing method. "Quick" mailings will ignore intelligent message parts.

Each "intelligent message part" has the following structure:
 
  <!--if <expression>-->
Message delivered when <expression> is true.
<!--else-->
Message delivered when <expression> is false.
<!--endif-->

Usage notes: "if" and "endif" tags are required, while the "else" part is optional. Recurrent tags may also be used.

<expression> can contain these operators:
 

Type...
Allowed operator...
Possible applications...
Mathematical operators +, -, /, *, == Any kind of calculations with numerical field content, e.g. indices, formulae.
String comparison operators eq (equal)
le (less than or equal)
ge (greater than or equal)
lt (less than)
gt (greater than)
ne (not equal)
Comparison of string based field content, e.g. names and selected options.
Numerical comparison operators =, <=, =>, >, <, <> Comparison of numerical values, e.g. age, size.
Logical operators AND, OR, NOT Relationships between fields, calculation and comparison results.

Format of field values: $fieldname (field names are handled case-sensitive).

Sample applications (non-recurrent tags):
 
  <!--if $gender eq "m"-->
Ties for 5 Euro only.
Just a limited time, buy now !
<!--else-->
Parfums starting at 10 Euro.
<!--endif-->

<!--if $income < 20000 AND $intelligence_quotient <= 30-->
Hi <$name>,
participate in our "get rich fast" special offers !
This is your chance to live like the <rich & beautiful>.
<b><i>So start acting now - start today.</b></i>
<!--endif-->

<!--if $index * 10 / $basetax + 0.03 == 2 AND $taxstatus eq "high"-->
Save taxes by ordering our book "1001 (il)legal tax tricks".
<!--else-->
Increase your income by ordering our book "1001 ways to get wealthy".
<!--endif-->

Usage notes: Second sample does not have an "else" tag, which means that a false result will lead into not displaying anything. Should a field value be unavailable (spelling error, non-existing field), then the argument is considered as being empty.

Technical note: It is also possible to use HTML and client-sided scripts (like JavaScript) within intelligent message parts.

Sample application (recurrent tags):
 
  <!--if $gender eq "m"-->
Special offer for <b>men</b> from our drug store:
<!--if $age > 50-->
Gray hair remover for just 9,99 Euro.
<!--else-->
Shaving foam - just 3,99 Euro.
<!--endif-->
<!--else-->
Special offer for <b>women</b> from our drug store:
<!--if $age > 50-->
Wrinkle remover for just 9,99 Euro.
<!--else-->
Lavender bath salt - just 3,99 Euro.
<!--endif-->
<!--endif-->

Usage notes: Parts in green text belonging together. Do not forget to close all "if" tags avoiding malfunctions.

How to perform a test of personalized and intelligent mailings:

In order to let the system process a sample message, click on the button "Send test message to admin". The system then generates a mailing, which is sent to the administrator under real life conditions.

And these default values are used: Numerical = 0; date/time related fields = actual date/time; URLs = http://test.<fieldname>/; e-mail addresses = test@<fieldname>.test; fields in general = test-<fieldname>.

Smart tip: Have a look at MailingStar (plus) - professional mailing list management and e-mail marketing software.
 

Database import and export tools...

In order to import or export data, click on the button "Import / export data" available on the main admin menu.

Import data into database:

Click at the button "Start data import..." to begin reading in an existing 3rd-party database.
 

AccessGuardian asks...
Description...
Determine data file being uploaded Choose the file holding the data intended for being imported to AccessGuardian or select an already uploaded one * for processing.

* It is also possible to upload files directly to the server (e.g. via ftp) and then use the admin panel for importing them - please refer below for more information.

Specify data format Select the type of the importable file; alternatively to the pre-defined types, you can also set up a custom format in case of reading special database structures.

Please consult the manual of the 3rd-party database product you wish to import data. If it directly supports AccessGuardian, mark "EasyData exchange format".

Important note: Please ensure to decide for the correct data format, otherwise the imported data may appear being destroyed.

Determine the target table New table:

Select this radiobutton to create a new table for the importable data.

Important note: Ensure to mark "Add autoincrement key field" to automatically add a key field (if not existing) - the first table field must be unique to allow identifying records.

Existing table:

Select this radiobutton and choose the desired table (must have the same structure as the one to import); decide either to replace or update already existing data.

Fields selection and post-processing Determine whether you want to import all fields or just selected ones.

If "Let me select fields after uploading" was chosen, a screen appears after the file was read in that shows a list with fields for being importable.

Mark "Delete uploaded file after processing" to remove the source file from the system as soon as the data import has been finished (recommended).

Click on the button "Import data" to start the importing process. After it is finished successfully, please check the read in data for consistency first. It is also recommended to keep a backup copy of all original database files for later references.

Technical note: Data formats "... with field names" requires that the first line of the importable file holds the names of the fields. Alternatively, default names are chosen you can rename later at any time.

Importing already uploaded source files:

This feature is useful especially when trying to import huge databases, because the file size allowed to read in through the admin panel may be limited by your server or webbrowsing software...

Just place the source file into the directory data/import.tmp. Now go to the admin panel, click on "Import / export data" and select the concerned file from the list (see parameter "Determine data file being uploaded").

Export data from database:

Select the appropriate source table and click on "Continue..." to go to the next screen.
 

AccessGuardian asks...
Description...
Specify data format Select the type of file you wish to build: You can either decide for a pre-defined format or a custom one suited for special applications.

Usage note: If supported by the target database software, choose "EasyData exchange format" to achieve best results.

Select fields to export By default, all fields and their contents will be exported; however you can uncheck fields not required in your target application (e.g. the ID field may be of no usage there).
Set optional data filter Depending upon the available system fields, you are able to set additional filters.

Only records matching the filter criteria (multiple filters can be connected with AND / OR operators) will be exported. This may save additional diskspace.

For example, you can specify a range of records by using the key field filter (ID field) or enter a search query to export only a determined group of records.

Now click on "Export data" to start the exporting process. A "save file" dialog is shown by your web browsing software to store the exported data file on your computer.

Advantages of the "EasyData exchange format":

The "EasyData exchange format" is a tab-delimited text-based format also storing binary field content, like images or software files together with the textual data (URL-encoded).

Where possible, this format should be used for data import and export tasks to ensure best results when handling non-textual contents (all other supported formats cannot handle binary fields).

Technical note: If you are a programmer interested in implementing our exchange format into your own applications, please let us know. We are able to provide you with additional information upon request.

Helpful hint: Should you wish to manually back up an entire database or to carry an existing one over to an other AccessGuardian installation, you may decide to create a "table package" as described more closer in the following.

Table packages - overview:

A table package contains an entire database (the table and all related elements) in one single file (TABLENAME.ede). So table packages are ideally suited for carrying an entire database to an other server or for generating manual backups.

Download table package:
 

AccessGuardian asks...
Description...
Specify source table Select the table being intended for package downloading.
Include log files Mark this button to add all log files to the package (may become very large).
No compression Click here to not compress the table package.
Use internal gzip compression Use the internal compression utility (to pack the table package) or unmark this checkbox and specify external utility as followed.
Use external compression program Click here to compress the table package by using a server-sided tool.

"Compression command template": Contains the command used for compression. By default, AccessGuardian tries to use the gzip compression utility of the server.

The compression command usually has two variables: $file_to reflects the compressed file, $file_from reflects the original source.

"Compressed file extension": Extension appended at file marking it as compressed.

Now click on "Download table" to save the table package. A "save file" dialog is shown by your web browsing software.

Upload table package:
 

AccessGuardian asks...
Description...
Specify ".ede" file Select a local ".ede" file being intended for package uploading.
Decompression method
Compressed table packages needs to be decompressed first.
No decompression Click here to not decompress the uploaded package.

Important note: In the case a compressed package is uploaded but not decompressed correctly, an error message will be displayed and installation aborts.

Use internal gzip compression Use the internal decompression utility (to unpack the table package) or unmark this checkbox and specify external utility as followed.
Use external compression program Click here to decompress the table package by using a server-sided tool.

"Decomp. command template": Contains the command used for decompression. By default, AccessGuardian tries to use the gzip compression utility of the server.

The decompression command usually has two variables: $file_to reflects the target ".ede" file, $file_from reflects the original source.

"Expected filename after decompression is complete": Select either to autodetect the package filename or specify one (has to end with .ede).

Now click on "Upload table" to copy the table package to the server.

Technical note 1: Should there already exist a table with equal name, AccessGuardian chooses a new name for the uploaded table (may be changed later at "Restructure table" screen).

Technical note 2: The choices "Use internal GZIP compression" respectively "Use internal GZIP decompression" for table package down- and uploads are only available, if there is the Perl module "Compress::Zlib" installed.
 


 
Member lounge and template management
Access the member lounge...

The member lounge is the main control area for existing members to access subscriptions, get new ones and handle profiles.

The member lounge works like a shopping cart for new customers to register and put desired subscriptions in a virtual basket. After completing their orders, they can go to the member lounge and access them right away.

Of course, the member lounge works also well for closed systems, e.g. companies wanting to provide access to sensitive business information through a convenient platform.

How to access the member lounge:
 

Action to perform...
URL to call (location varies on your system, of course)...
Access member lounge http://www.sunnyscript.com/cgi-bin/ag/login.cgi            or
http://www.sunnyscript.com/cgi-bin/ag/my.cgi
 
Member lounge - basic overview...

First step - login or sign up:

In order to get access to the member lounge, users must sign-up first and create their own profiles. Members already having a password can use their login ID and password to log in. Both is done on the first member lounge screen:
 

Login screen options...
Description...
Login Use the registered login ID and password to get access to the member lounge and any subscribed content.
Sign up now Click on this link in order to get a new profile.
Mail password Let AccessGuardian remind to forgotten passwords via e-mail.

Subscription manager:

After you have logged in, you'll see the subscription manager main area with the following available sections:
 

Available sections...
Description...
Access subscriptions Access subscriptions you have registered for (click on the headlines).
Subscription status Information about remaining days / accesses left for subscriptions.
Order subscriptions In order to re-new an expired subscription or to register for new ones, you can use the shopping cart feature of AccessGuardian.

1. Select one or more subscriptions you wish to get access and click on the button "Order" to proceed.

2. The next screen shows a form for billing details to be filled in; default values are taken over automatically from the concerned member profile.

3. Now confirm the ordered items and finish this process.

4. Wait till the order is confirmed. You may print an available invoice, go back to the front screen or leave the system until the order is processed.

The top menu line provides additional selections (depending on the current system status):
 

Top menu options...
Description...
Home Go back to the subscription manager's main screen.
Profile Update or remove the profile you're logged in with.
Access history Show the access history of your subscriptions.
Logout Leave the member lounge (login page will be displayed).
Help Get additional help information (see "System parameters" screen).
 
Member lounge customization with templates...

Templates are used by AccessGuardian to build the member lounge frontend. Each screen shown on the lounge is generated from one or more template files (mail messages are also handled in this way).

By default, a standard template scheme is used. It's the ideal basis to create your own templates or modify the existing ones. More detailed information will follow later in this chapter. You have two choices of modifying the lounge templates:

1. Modify color and font schemes only:

You may adjust the color and font schemes to achieve a similar layout as the one of your business website...

Go to the admin menu, click on the button "Edit templates" and search for "main template" labelled entries. These contains various layout settings taking effect to all sub-templates connected with the concerned main template.

2. Full set of freely configurable templates:

Beside of just customizing color and font schemes with style sheet commands, you can create your own set of templates or re-write the standard ones (they are a good basis for your own templates).

Each template is written in HTML and contains special tags which will be replaced by appropriate content. There's nothing you cannot customize, however you should have a familiar understanding of AccessGuardian and HTML programming.
 

Available templates...

Available templates:

There are three kinds of templates: Main templates contain the master layout; sub-templates hold the layout of output blocks appearing in these main templates; independent templates stand alone.

A detailed list with comprehensive descriptions of all template files is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list.

Helpful hints: If you create your own template sets, start creating the main templates first to have a better overview. After each single template is ready, run a test-drive to check correct functionality.

Important note: We strongly recommend to keep backup copies of the original template files for later referencing purposes.

Location of templates:

All template files are physically located in the templates directory you specified during installation of AccessGuardian.

As long as you create or modify templates using the admin panel, you don't have to care about. However if you create templates manually, you must copy them to this location, because AccessGuardian only recognizes files in this directory as templates.
 

Customization of templates...

As you may have seen above, each template contains special tags in the format <!--$TAGNAME--> which will be replaced by AccessGuardian with appropriate content (like menu options or system messages).

For some advanced functions, Perl code is used on the templates together with internal script variables. You may just surround these codes with additional HTML tags or modify them as desired (suggested only if you are familiar with Perl).

Important notes: Some tags are specific for selected templates. If you add a tag to a template which cannot use it, concerned tag will be simply ignored. However a missing tag can cause that users are not able to get access to selected features.

If you wish to customize templates, go to the admin menu and click on the button "Edit templates".

List of tags and Perl script variables you can use on templates:

A detailed list with comprehensive descriptions of all valid variables and tags is available from the admin panel (see "Templates editor" screen). Please contact our customer service for pre-sale inquiries asking for this list.

Expert note: Common script variables available in all templates are $in{<form_var>}, which gives access to form variables submitted by the user (<form_var>) and $namespace->{'TAG'}, which offers access to special tag variables.

Custom software solutions:

Contact our sales department to request a free quote for our individual programming and customization services. Our team of experienced programmers and website designers looks forward to take over your project at affordable rates.
 


 
Helpful hints and technical reference
Affiliate management with YourAffiliates...

Smart tip: Have a look at SunnyScript's YourAffiliates - advanced affiliate management to empower full business' potential.

Beside of correct configuration of the order logging settings within "AccessGuardian parameters", you don't have to take care about anything else as long as YourAffiliates uses the same domain name as the member lounge.

The reason for this pre-requisite is a security limitation in the cookie technology, that allows only domains reading a cookie, which have originally set it - that's why the domain names of YourAffiliates and AccessGuardian must match each other.

Use a different domain name:

For this application, AccessGuardian must set the affiliate ID instead of YourAffiliates on customer's computer. So you are able to use different domain names for both software packages.
 

Action to perform...
URL to call (location varies on your system, of course)...
Aff. URLs by AccessGuardian http://maxjump.com/cgi-bin/ag/redirect.cgi?prg=<prg>&affil=<id>

<id>: Affiliate identification; <prg>: Affiliate program code.

According the above URL scheme you have to modify the advertising HTML codes used by YourAffiliates (please refer to the electronic manual of this product regarding details).

Auto-processing of order cancellations:

If you (or your customer) cancel an order at AccessGuardian, any paid sale commission is automatically deducted from the concerned affiliate's account.

Technical note: Since the table of orders does not store affiliate IDs, it is impossible for the software to recall commissions when setting a cancelled order back alive - this task has to be added manually via YourAffiliates' admin panel.
 

Advanced search features...

Searching for information:

AccessGuardian provides a wide range of powerful search features to retrieve information from your stored data fast and accurate. In the following, we want to show how to built search operations in an effective way.

Let's first have a look at these two records used to explain the sample operations below:
 
id: 1
firstname: John
lastname: Smith
age: 27
postcode: 12345
city: Samplecity
country: Somewhere
id: 2
firstname: Max
lastname: Smith
age: 12
postcode: 02345
city: Samplecity
country: Somewhere

Usage note: All samples don't consider special features like searchable fields, whole word or case-sensitive search operations. They just refer exclusively to their concerned explained features.

Interpreting keyword searches:

In most cases, you can use any text string for query fields in order to start searching a table.

Sample query: smith
Delivered records: 1, 2

Multiple keywords should be separated by spaces. AccessGuardian automatically adds the logical operator AND unless an other one is specified (read below for details and additional explanations).

Sample query: john blanche
Delivered records: none ("john" is found in record 1, but "blanche" is not existing)

If you are not sure about the spelling of a word (e.g. singular/plural or different spelling alternatives), then just type in a partial word.  AccessGuardian will perform a sub-string search for the provided string.

Sample query: some
Delivered records: 1, 2 (finds string "some" in values of field "country")

Boolean operators: AND (&) OR (|) NOT (!)

The logical operators AND, OR, NOT are supported. Instead of the words AND, OR and NOT you can also use the operator characters ampersand (&), pipe (|) and exclamation mark (!).

Sample query: john AND smith
Delivered records: 1

Sample query: john OR max
Delivered records: 1, 2

Sample query: john ! max
Delivered records: 1 ("!" stands for "NOT")

Technical note: At advanced searches you can specify a default operator.

Parentheses: ( )

Operations put within parentheses are processed first; the result is then used for further operations within the search string.

Sample query: (john NOT max) AND samplecity
Delivered records: 1 ("john NOT max" delivers record 1; then looks there for "samplecity"; both statements are true (AND))

Phrases: " "

Strings put within phrases are searched exactly as they are (not case-sensitive).

Sample query: "sample"
Delivered records: 1, 2 (finds "samplecity")

Sample query: "JOHN"
Delivered records: 1

Wildcards: * ? \

Beside of the standard sub-string search, it is possible to use more specific wildcards for automatically expanding a search operation. Wildcards marking variable parts of a string; they are helpful when looking for word variations and different spellings.

The asterisk (*) is considered as placeholder for none, one or more characters; the question mark (?) is considered as placeholder for exactly one character.

Place an escape character (\) before any symbol to disable its special meaning (e.g. a search for the string "book\*" will look for "book*" as it is written and does not consider the special meaning of the asterisk character).

Sample query: sample*
Delivered records: 1, 2 (would also find "sampletown", "samplevillage" or just "sample")

Sample query: ?2345
Delivered records: 1, 2 (but would not find "012345", since only one character is allowed being there).

Comparison operators: = == < > <= >= <> ~ !~ ~~

Within a search query you may address a specific record field being searched for a given string or numerical value.

Available operators:
 
= wildcard match (wildcard symbols allowed) == exact match (disabled wildcard search, "as is")
< less than > greater than
<= less or equal than >= greater or equal than
<> or != not equal ~ contains text (default operator)
!~ does not contain text ~~ whole word match

Sample query: age <= 12
Delivered records: 2 (looks exactly at the field "age" and disregards other fields)

Technical note: When just entering a string, AccessGuardian converts it into <searchable field> ~ <search string>. In case of using "whole word" match, the search string is converted into <searchable field> ~~ <search string>.

Priority of used operators:

When processing a search request, AccessGuardian first handles all parentheses, then comparisons and finally any boolean operator found (in this priority: NOT, AND, OR).

Search options at "Advanced search" screen:

By clicking at the "Search" link in the upper left corner of the screen you will come to the advanced search area for the concerned active table. Beside of a standard search mask, also the following options are available:

Case-sensitive: Mark this button to handle search operations case-sensitive (CAPITAL and lowercase chars are differed).

Whole words: Mark this button to search for entire words only (recognizes space characters).

Match method: Select whether all arguments must be found (AND) or just one is sufficient to list a record (OR).

Sort by / then sort by: Define sorting of search results over two levels.
 

Forgot your admin password ?
 
If you forgot your admin password, you must remove the admin password file named admin.pass located in "auth" directory (see software directory of AccessGuardian). Then you can set a new password next time you access the admin panel.
 
Member lounge and template translations...

The member lounge of AccessGuardian is fully customizable and translatable by modifying the existing templates accordingly. In addition, also system messages may be translated:

In order to translate system messages into your desired language, download the files *.en (located in the software directory), which holds all pre-defined text parts and load them into a text editor.

Each language file uses the same structure:
  <Meaning or default text> => <Translation>

Please change only the part <Translation> while keeping the left-sided ones. After you finished translation, please upload the files to your server and give them a try.

Important note: You should create a backup copy of all original *.en for later reference.

Custom payment method labels:

If you wish to use different labels for payment methods than the default ones (for example "Banking transfer or cheque" instead of "Send invoice"), you need to modify the entries at file order.en , section "List of all implemented payment methods".

Important note: Alterations done to order.en can negatively affect the software's behavior, so please be careful.
 


 
Customer services

Depending upon your license type, this software package includes various support services. Please refer to the license document or visit our website for more information about available services.

Before you contact our customer service department, please read this manual first. In most cases you find the answer here. However if you still experience problems, we will be more than happy to help you...

For all support inquiries, please contact support@sunnyscript.com and provide the following information:

* The license number of the concerned product.
* A close description of the problem or question you have (no file attachments, please).
* For technical inquiries: Used server environment, URL of admin panel & admin password.
 

Now we wish you a great time with our software products :-)

 
© SunnyScript - A subsidiary of Star Enterprise. Visit the SunnyScript website.
Please read our terms of business located at... http://www.sunnyscript.com/terms.htm