#########################################################
# #
# Possible BizDB Software Customizations and Prices #
# #
#########################################################
IMPORTANT NOTE - The following prices are for reference only. They are subject
to change without prior notice. For a final quote, please document
clearly your change requirements and e-mail them to us. Our e-mail
address is cnctek@cnctek.com . Subject to the version of software
you are currently using, we reserve the right to reject certain
change requests.
POSSIBLE CUSTOMIZATIONS -
(1) Send New Record and Updated Record Notification E-mails to Users and Webmasters
Software Customization Cost - US$70
Function - Replace the current "Generate Webmaster Notification E-mail" codes
by a new subroutine which will generate notification e-mail to
both the user and the webmaster (optional) if a new record is added
or an existing record is updated. The content of the e-mail is
flexibly defined by a template.
* Cgi script involved - bizdb-aed.cgi
(this is a modified version of the original script)
* Variable in cgi script involved: $email_msg_template_fn
* Meaning of $email_msg_template_fn:
Filename of the text file storing the template of the Notification
E-mail Message. This template file must be saved in the templates
directory defined by the variable "$template_dir".
Example: $email_msg_template_fn = "bizdb_email.txt";
* How to setup the Notification E-mail Template:
NOTE - If you want to generate "Notification E-mail(s)" when a record is
created or updated, you must set up a valid Notification E-mail Template
in your Templates directory. Without this E-mail Template file, no
Notification E-mails will be generated.
In this e-mail template file, you have to define:
- the e-mail subject line for reporting a new record (Required)
Example: addsubject=Your Subject Line
where "You Subject Line" can be any text line containing
**fxx**. If **f6** exists in the subject line, it will be
replaced by the actual value of the 6th field in the
database record currently processed.
**Note** No "notification e-mail" will be generated for the record
created if the "addsubject=something" line is not present.
- the e-mail subject line for reporting an updated record (Required)
Example: editsubject=Your Subject Line
where "You Subject Line" can be any text line containing
**fxx**. If **f6** exists in the subject line, it will be
replaced by the actual value of the 6th field in the
database record currently processed.
**Note** No "notification e-mail" will be generated for the record
updated if the "editsubject=something" line is not present.
- the To e-mail addresses (Optional. If this line doesn't exist, then
the "recipient" form statement must exist in the "ADD" and "EDIT" html
templates if "Notification E-mails" are to be generated.)
Example 1: to=client1@domain.com
Example 2: to=client1@domain1.com,client2@domain2.com
Example 3: to=**fxx**
where **fxx** will be replaced by the e-mail address stored
in field "fxx" of the database record.
(Use this method to send notification e-mail to the record
submitter / owner.)
** Note **:
If
statement exists in the "ADD" or "EDIT" html template, then the
value of the "recipient" field will also be added to this "To" e-mail
address line. (Note: The e-mail address in the "recipient" statement
must be a full e-mail address of the Webmaster.)
- the CC e-mail addresses (Optional)
Example 1: cc=webmaster@domain.com
Example 2: cc=webmaster1@domain1.com,webmaster2@domain2.com
Example 3: cc=**fxx**
where **fxx** will be replaced by the e-mail address stored
in field "fxx" of the database record.
- the From e-mail address (Required)
Example 1: from=webmaster@domain.com
Example 2: from=**fxx**
where **fxx** will be replaced by the e-mail address stored
in field "fxx" of the database record.
- the body text (required. Multiple lines accepted.)
Example:
bodytext=The following information was entered on **date**
________________________________________________________
Database: **dbname**
Record ID: **key**
Password: **pwd**
Field 001: **f1**
Field 002: **f2**
//END//
In the notification e-mail, the tags **dbname**, **key**, **pwd**
and **fxx** will be replaced by the actual value of the database
record currently processed. Always terminate the "bodytext" by
a new //END// line.
**Note** We use the same "bodytext" for both "Add Record" and
"Update Record" notification e-mails.
After preparation, copy this file to the templates directory defined
by "$template_dir".
(2) Store Long Non-Searchable Fields Outside the Database Search File
Software Customization Price: US$70
If you have long fields (several thousand characters long for each field)
created in your database, and you don't need them to be searchable,
you can configure their field numbers into the @desc_flds variable in
"bizdb-aed.cgi".
Example:
@desc_flds = ('f10','f15','f16','f20');
where f10, f15, f16 and f20 are non-searchable long fields.
When data are input for these fields, the "bizdb-aed.cgi" script will create
a separate file for each database record (with the filename = recordKey-dbname.txt
where recordKey is the actual key of the database record, and dbname is
the database filename) and store all the long field data into this new file.
The pathname of the directory used to store these files is defined by a variable
called $description_dir existed in both the "bizdb-aed.cgi" and
"bizdb-search.cgi" scripts.
Example: If the record ID is "car1" and the dbname is "products", the filename
of the long text file created will be "car1-products.txt".
If @desc_flds is non-empty, don't forget to set up the $description_dir variable
in "bizdb-aed.cgi" and "bizdb-search.cgi".
Example:
@desc_flds = ('f10','f15','f16','f20');
$description_dir = "/a-valid-directory-on-your-server/profile-data/";
INSTALLATION NOTES:
===================
NOTE 1: If the description directory is called "profile-data", you must create
this directory manually on your Web server. Use the "chmod" command to
set the access modes of this directory to "0777" (i.e. "rwxr_xr_x").
NOTE 2: If @desc_flds in "bizdb-aed.cgi" is empty, i.e. @desc = (); ,
set $description_dir = ""; in both "bizdb-aed.cgi" and "bizdb-search.cgi".
NOTE 3: Configure the $description_dir and @desc_flds variables in the modified
"bizdb-aed.cgi" and "bizdb-search.cgi" scripts. Copy these two scripts
to your Web server under the proper "cgi-bin" directory.
(3) Setting up Multiple Checkbox Fields
Software Customization Price: US$105
"Add Record" and "Edit Record"
==============================
In your "Add Record" and "Edit Record" html templates, you can setup
the following Checkbox FORM statements (Example Only):
Small
Medium
Large
Extra Large
The "multickbox-f10" statement is used to inform the BizDB software
that "f10" is a multiple checkbox field.
In order to identify the various options within a multiple checkbox
field, we use "txx-fyy" as the checkbox field name, where xx is
the option number start counting from 1, and yy is the actual field
number. Please note that each xx within the fyy must be unique.
Based on this concept, you can define as many multiple checkbox fields
as you like.
The value of all checkboxes selected by the user will be saved into
the database according to a special format as shown below:
123 super,2001/11/21,,Standard,Active,,,,,Small^;Large^;Extra Large^;,
where (1) comma is configured as the record field delimitor,
(2) "f10" is defined as a multiple checkbox field,
(3) 3 options (t1,t3,t4) are selected and saved in field 10
(i.e. "f10")
(4) "^;" is the option separator.
"Search Records"
================
On the search.html template, you just need to setup a "single select"
drop-down list to allow the user to search any option value in "f10".
Example:
Do not use "txx-fyy" within the search html template as it will
not work.
In the "bizdb-search.cgi" script, don't forget to configure the
new @multickbox variable so that the value of all options saved in
field 10 ("f10") can be displayed properly on the search report.
Example setup in "bizdb-search.cgi":
@multickbox = (); # if no multiple checkbox fields
@multickbox = ('f10','f11'); # if f10, f11 are multickbox fields
@multickbox = ('f10'); # if f10 is the only multickbox field
Example tag used in the search report template:
Selected options of field 10: **f10**
"Display Record on Edit Screen"
===============================
Please use the following URL if you want to execute a "showrecord"
function within the "Detail Report" template:
Display Record on Edit Screen
where "bizdb-edit" is the Edit Screen template, and
"f10" is defined as a multiple checkbox field.
(4) Support the display of multiple listings per row on the search result report
Software Customization Price: US$105
New files used:
- bizdb-search.cgi (this is a modified version of the original file)
- bizdb-search-multicols.html (for replacing the sample "bizdb-search" template)
- bizdb-summary-multicols (for replacing the sample "bizdb-summary" template)
- cell-multicols (html template for specifying the database fields
and contents to be displayed in each record cell)
In the "bizdb-search-multicols.html" template, the only thing changed is the
filename of the search report template. It is now changed from "bizdb-summary"
to "bizdb-summary-multicols".
In the "bizdb-summary-multicols" template, we have replaced everything inside
the and by:
**use::cell-multicols::use**
Do not change these 3 lines. The name "cell-multicols" is the filename of the
html template containing the html codes for each of the record table cells.
You must not change the html codes outside the
statements.
Each of the lines must be on a new line.
You may change the table border size, cellspacing size and cellpadding size to
specify the cell separations.
You may also change the new $maxcols variable in the "bizdb-search.cgi" script
to determine how many summary listings are to be displayed per table row. If
you want to display a total of 9 listings per page and no more than 3 listings
per row, your settings are as follows:
$maxdispscreen = 9;
$maxcols = "3";
***********************************************
Please note that the new "bizdb-search.cgi" script can also support the old
format of summary template, i.e. your old "bizdb-summary" file without the use
of "cell-multicols" template.
(5) Search Multiple Database Files Through A Single Search Request
Software Customization Cost - US$70
Function - To search multiple BizDB database files through a single search
request form or URL. It must be noted that all the database files
to be searched are of identical format, i.e. field definitions.
* Cgi script involved - bizdb-search.cgi
(this is a modified version of the original script)
* Parameters used in the search template: search_multiple_files, dbname
The following examples outline the parameter statements affected:
Example 1 (Via a search form):
Example 2 (Via a URL call):
Display Latest Listings
(6) Check for duplication of database data in specified fields
Software Customization Price: US$70
New files used:
- bizdb-aed.cgi (this is a modified version of the original script)
After the software change, you can insert the following form statement into
your "Add Record" and "Edit Record" html templates:
For example:
for stopping duplication of database data in field id "f15".
*** Note *** We are doing exact field match including special characters and spaces.
You can check any number of database fields starting from "f6".
For example:
(7) Specify "OR" or "AND" search operator for all or selected search fields
Software Customization Price: US$140
New files used:
- bizdb-search.cgi (this is a modified version of the original script)
After the modification, you can use the following variable in the
"bizdb-search.cgi" script:
- $global_search_operator
A record is said to be matched during searching the database if the
following condition is satisfied:
- $global_search_operator = "" - All input search terms must be matched
- $global_search_operator = "or" - Any one of the input search terms is matched
You can also insert the following form statement into your "Search Database" forms:
For example:
This two statements together defines that if any search terms specified
in the search form for field "f15" OR "f18" is matched, then the record
is said to be matched for these two fields.
*** Note *** If you set $global_search_operator to "or", the software
will ignore checking of these "or-fxx" form statements.
You can specify any number of database fields using the "OR" search
operator (starting from "f2").
For example: