######################################################### # # # Some Possible BizDB and ImageDB Database Solutions # # # ######################################################### < Question No. 1 > Can users (Web site visitors) purchase electronic information online and download it to their computers? This can be a one time transaction between our company and the user. < Answer > The simple method: Use BizDB to install a searchable shopping database and use the "BuyNow" method to allow your visitor to buy an item individually. You can specify a return url within the "BuyNow" order form so that after the payment is complete, the merchant account server will return control to a page on your server to tell the user where to download the "Software" that your visitor has ordered. Please note that by using this method, the user must complete a new online order form for each item to be ordered. Where to get a Merchant Account that will work with BizDB: - Please visit http://www.itransact.com/demo/index_accept_credit_cards_online.html . - They have a "BuyNow" demo as well - http://www.itransact.com/demo/buynow.html . *** Limitation *** If the user finds out the "return_url" from the order form, he will go direct to the download page to download the software. *** Improvement *** Order our software development service to develop a new "paid_to_download.cgi" cgi script specifically prepared for your downloading purpose. You can set the "return Url" in your "BuyNow" order form to call this "paid_to_download.cgi" program when the payment is successful. Example: ======== In your "BuyNow" order form, you include: where "AnyCode" is the product code of your software to be downloaded. (You can store this "product code" in your BizDB shopping database.) ******************************** In the "paid_to_download.cgi" script, we will program it to find out the correct download Url of the software from the product code supplied above and then direct the user to that specific Url. The cost for developing just this "paid_to_download.cgi" script is US$280 (4 hours of work at US$70/Hour - documentation will be provided). ******************************** We can also provide complete software and installation service for you if you don't want to configure and install the BizDB shopping database yourself. The cost would depend on the complexity of your database. Normally we will charge US$800. You need to have an acceptable merchant account (eg. an account from itransact.com) ordered by yourself and you will need to supply us a blank sample Web page (containing the standard page header, footer, your official logo, navigation bar, etc. that will match the theme of your Web site) for setting up the various Html templates. < Question No. 2 > Can users purchase the electronic information and we can provide a specified access period for the usage of the directory information? < Answer > You can setup a Members Only BizDB Database System to host the electronic information. Any users who want to search and view this type of information must be registered first and then pay a fee (via an online merchant account, eg. itransact.com) for a certain period. Once approved, the user can login to his member area to search and access this information in the database. This electronic information database is not accessible by ordinary users. It is possible to setup the system to remind the user if the user registration is near to expire. *** NOTE *** Your electronic information must be stored in a flat text file using coma or tab as the field delimitor (csv format). The total size must not be greater than 2-3 Megabytes per database file, otherwise we have to find out ways to split the file into multiple smaller files by categories. Total cost of software licence and installation is approximately US$1200. A fixed quote will be given to you once the detailed database requirements are received and analysed. < Question No. 3 > Please verify whether or not "logged in visitors / members" can see ALL fields in a database vs. those non "logged in visitors / non-members" who can only search and see partial records (limited number of database fields). < Answer > The best way to understand our software is to read the documentations (attached) for both BizDB Advance and LoginControl software. In your search form, if you have the form statement included, the "bizdb-search.cgi" search engine script will make sue only the "logged in users" can search the database. Therefore you can offer 2 types of search database urls to your users: (1) Url / search form contains the statement - this URL should be provided in the member-area page. The search report template (eg the detail profile report) should be constructed to allow your user to view all fields in the database. (2) Url / search form does not contain the statement - this URL should be available to all users. The search report template (eg the summary report) should be constructed to allow your user to view only some fields within the database. In brief, you have to setup 2 different sets of URLs and html templates for your non-logged in and logged in users. < Question No. 4 > Does your "BizDB for Members" package include the ability to process a credit card before allowing the creation of an account (creating a member)? If so, what card processing systems will it support, Authorize.net, iTransact, etc.. < Answer > The software is working as follows: (1) The new member adds a record to the database, with the record status ("f5") set to "Inactive". The "expiry_period" statement within the ADD Record template must be set to "0". At this stage, the record is stored in the database as "Inactive" record and is not accessible nor searchable. (2) To activate this record, the user must log in to the database using his record id and password submitted in step 1. Since his "expiry_period" is 0 days, the user will be directed to a "Payment / Renewal Page" for sending in his payment. You can use any "Payment Server" to support your database provided that it can recognize a "return URL address" which will send the user back to the "ordered.cgi" script in your BizDB database server to activate the ordered record. Once the record is activated (i.e. status set to "Active" and the "expiry_period" set to xx days), the user can log in to his member area to access/update his own record and to search and display all fields in other member records. (3) To delete "Inactive" ("f5") Records (i.e. user who has submitted a record but not paying it) between certain specified date range, you have to execute a "Batch Delete" function available in the "bizdb-aed.cgi" script. The and statements must be present. (4) To delete "Active" ("f5") but "Expired" Records (i.e. the paid user record has been expired after xx days) between certain specified date range, you have to execute a "Batch Delete" function available in the "bizdb-aed.cgi" script. The and statements must be present. For details, please see the following sections in the "LoginControl-readme.txt" file: G. How to offer search functions for "Registered" members only N. How to delete a batch of expired records Q. How to bill users for "Fee-For-Posting" listings The URL of our "Login Control" demonstration site is http://www.cnctek.com/bizdb-members . < Question No. 5 > Please explan in detail how does your "ImageDB for Members" works? < Answer > The software must be configured and installed by us. The project price includes the single site life-time software licence, all software codes and the database html interfaces. Below are the main points you need to know: (1) Our software does not use/need php and mySQL. It only requires an Unix or Linux Web server with Perl installed and can execute cgi scripts. (2) Our software can support multiple text fields (input, textarea, drop-down list, radio buttons and checkbox) and up to 4 user input images (restricted file size, i.e. KB, not dimensions). Your Webmaster and users can search any input text fields and report any text and image fields in both the search result report and the detail profile reports. (3) We can setup a member database for you so that each member can submit his own information plus a few (0-4) images. The member record is stored in the member database as an "Inactive" record with expiry date = today's date (i.e. expired immediately or xx days later - configurable). At this stage, we can configure the software to generate 2 types of e-mails: - User notification e-mail requesting your user to "login" to the database to pay for the listing that he has just submitted. - Webmaster notification e-mail to inform your Webmaster that a new member listing has just be received. By following the link displayed on the e-mail, the Webmaster can review the listing content and activate the listing easily. (Note: An "Activated" but expired listing is still not accessible to the public unless the member user has paid for the listing and the expiry date has been extended by our software for yy days.) (4) The "Login" function of our software serves two purposes: (a) If the listing is expired, the user will be sent to a "secure online payment form" to pay for the proper amount. The online payment server must be subscribed by you and must be able to recognize the payment item name, short description, amount and the "Return-URL" which is located on your ImageDB server. It is essential that if the payment is successful, the payment server will pass the control back to a "ordered.cgi" script located in your ImageDB server to activate and extend the expiry date of the user listing. (b) If the user record is in "Active" state and not yet expired, the user will be passed the control to his own member area page to view and update his own listing and to search and view the listing of other member users. (5) If the server supports crontab, you can schedule your server to execute our "reminder.cgi" script daily to check and remind those users whose listings (without software customization, each user are allowed to submit only one member listing) are about to expire (i.e. nn days - configurable - before the expiry date). If the listing is renewed, this program will immediately stop sending the reminder e-mails to the user. (Note: Without special software changes, our software will only detect and send the reminder e-mail once (on the system determined date) per user. However if the user ignores this e-mail and attemptes to login to the system after the "listing expiry date", he will be directed to the "Renewal" page to renew the subscription.) (6) The Webmaster can edit, de-activate and delete any user listing any time using the username and the webmaster's supervisor password. (7) Since the software is fairly complicated and a large number of html templates have to be configured, therefore we must do the initial database setup for you. We will setup all the cgi scripts and database interface templates based on the database fields and search requirements specified by you. Your responsibility is to send us a sample web page containing the header, navigation bar, web site logon and the footer that will match the design and theme of your site. After the installation and software acceptance, if you want to add/search a few new "text" fields, you can follow our instructions to do it yourself. However if you want to do more complicated changes, you should use our support services charged at a rate of US$70/hour. (8) Estimated project cost (based on "ImageDB for Members", including life-time software licence, software codes, html templates and complete database installation service) is US$1000 - US$1200 (could be US$1500 - US$2000 if the resulting system is more complicated than expected). You must send us a detailed and complete database specification for a fixed quote. We must need to know if you want to allow your registered user to submit multiple listings. This requirement would need software custimzations, therefore would be slightly more expensive. For your reference, our hourly rate is US$70/hour. If you have any further questions, please feel free to contact us. Our "ImageDB for Members" demonstration web site is located at http://www.cnctek.com/imagedb-members . < Question No. 6 > Please explan in detail how to setup the cgi scripts and templates to upload and attach an user image to a user record? < Answer > To allow your user to upload and attach an image to a user record, you must have the "ADD Record" and "EDIT Record" html templates set up properly. *********** Refer to our BizDB ReadMe Documentation *************** (F-1) Parameters used by Add and Edit/Delete/Show templates In the following paragraphs, "f??" could be the name of any database field ranging from f1 to f50 if $maxfields is equal to 50. 3. image-f?? - If you want to define "f??" as an image field, this form name must be "yes". The image must be uploaded by the bizdb_upload.cgi program to an image directory defined by $upload_dir. The filename of the image will be set equal to "recordkey-dbname.image_file_ext" to ensure it has a unique name on the system. (Note dbname will be replaced by the actual database filename) Example where "f18" is the database field containing the filename of the uploaded image. 4. image_file_ext - Specify the filename extension of your image file as defined by image-f??. Must be either "no" or "jpg" or "gif" or "no change". If set to "no", that means no image file for this particular field "f??". If set to "no change", that means there is no change to the image stored in field "f??". Example 1 This example is for use in the ADD html template. Image Format (file extension of the image) ****************************************************************************** Next you must configure and install the following cgi script and template that come with the "BizDB" software: - "bizdb_upload.cgi" - "upload_image" - This HTML template controls the upload of image file (GIF or JPF format) from user's PC to a system defined database image directory. This is the only file not following the conventional naming standard and you must handle this file with care. DO NOT CHANGE THE NAME OF THIS FILE. ****************************************************************************** Finally you have to read Section H "Installation Procedures" carefully. (H-6) Adjust all URL references, pathnames and input output control parameters used by the Html files and sample templates so that they will work on your environment. Copy the sample templates including index.html and upload_image to the HTML Directory (H-4.1). This can be done via FTP. (When uploading files to your server, use ASCII transfer for text files, and binary transfer for image and sound files.) (H-7) If you look at your decompressed files, you will find an image directory called "upload-img" containing an "no-image.gif" file. We recommend that you create this directory and the image file under your HTML directory (H-4.1) on your server. Use chmod Unix command to change the access mode of this to 0777, i.e. rwxrwxrwx . This can be done via Telnet or FTP. (Do not create this "upload-img" directory under any password-protected directory, such as your database directory.) ****************************************************************************** NOTE In the BizDB "image_upload" template, you will find the following form statements:
Select the image file to be uploaded from your local disk

You can only adjust the action URL in the
statement. If you want to be notified when someone upload an image, you can change the "recipient" form statement to: Other than the above, you must not change any other FORM statements within your "upload_image" template. If you follow the above procedures, you will be able to set up an user image upload interface for any user records. < Question No. 7 > Is there a way to link to a location on the server where a photo is stored rather than adding the photo to the database using the BizDB's "Upload Image" function ? And can the size of the photo be re-sized horizontally with the use of a Javascript stored on the Html template ? < Answer > You can setup any number of "Filename" fields in your BizDB "Add Record" and "Edit Record" Html templates to link to images (or document files) you would like to display. During data entry, you must enter the filename of the image (or document) that you have stored manually in one of your server's Html directories. LIMITATIONS: 1. Use this feature ONLY in Unix & Linux based Web servers. 2. Do not offer this feature to public users. All database records and image files must be created and controlled by the Webmaster. 3. Do not use this feature in databases where "Login Control" is implemented. SETUP PROCEDURES: 1. On both "Add Record" and "Display/Edit/Delete Record" templates, use: Image Filename: where "f33" is used to store the filename of your image or document file. With this approach, you are not using our integrated "BizDB Image Upload" Function. You must upload the image manually yourself using a FTP client software (or our convenient Web based "File Uploader" software - see NOTE 3 below) to a specified Html directory, eg /db1Photos . In this example, if you have uploaded an image with the filename "12345_1.gif" to your "/db1Photos" html directory, you must enter "12345_1.gif" to your Image Filename field. Unlike the "BizDB Image Field" (identified by "image-fxx" = "yes") which is limited to 1 field per record, the images (or documents) referenced by these "Filename" fields are NOT automatically deleted when a database record is deleted. This allows you to share an image (or document) by multiple database records. ************************************** If you want to delete all the images (or documents) referenced by these "Filename" fields automatically when a database record is deleted, you must follow the following rules: A. Create a new html directory for each database file to store the manually uploaded image or document files. Examples: - "db1Photos" for "database "db1" - "db2Photos" for "database "db2" This directory MUST NOT BE the same directory defined by "$upload_dir" in the "bizdb-aed.cgi" script. B. Insert the following statement to your "Display/Edit/Delete Record" form and the "Batch Delete" (only supported by BizDB Advance) form: This is the directory where all image and document files referenced by the "Fieldname" fields in the database records will be stored. If the name of your image and document directory is called "db1Photos", and the pathname of this directory (relative to your server's ROOT directory) is "/home/html/db1Photos", then your "imgdirpath" form statement should be setup as: The first "/" character and the last "/" character are significant. C. Use the following convention for the filenames so that each file manually uploaded by the Webmaster has an unique filename: "recordKey_imageNumber.fileExtension" Examples: Record Id Field Name File Type Filename 20334 f33 gif 20334_1.gif (1st file) 20334 f34 txt 20334_2.txt (2nd file) 20334 f35 pdf 20334_3.pdf (3rd file) etc.. When a "Delete Record" function is executed, all the files stored in the directory defined by "imgdirpath" with the filenames equal to "recordKey_something.something" will be deleted. If you use other filenames, those files will not be automatically deleted. ** Note 1: You can setup as many "Filename" fields as you like for each database file (record). ** Note 2: This sort of "Filename" fields is not limited to support images. You can use them to link to any text or binary files such as txt files, pdf files, audio files, movie files, etc.. ** Note 3: Download our Free Web based "File Uploader" from: http://www.cnctek.com/bizdb-html/uploader.html 2. On your report template, use the following Html codes to link to your documents: For image fields: *** Note: The URL of the directory used to store the images must be specified before the **fxx** tag. This will display your image (any size) on your screen with a width of 240 pixels. The height of the image will be adjusted automatically. Alternatively, you may visit the following URL and view its Html codes: http://www.cnctek.com/essential-support-data/resize_image_javascript.html It contains the "changeImgWidth" Javascript to change the width of any image displayed on your Web page. The height of the image will be adjusted automatically. For other document file fields, such as txt or pdf files: **f34** **************************** Below is an example that helps you to display an image stored in your database in thumbnail size (width = 100 pixels), plus a link to display the full size of the image in a new Window: .... .... .... .... .... .... < Question No. 8 > Please explain how to setup "Multiple Selection Drop-Down Lists" in the "Add Record" and "Edit Record" templates and how to search them? < Answer > Now you can implement any number of multiple selection drop-down list fields in the "Add Record" and "Edit Record" html templates. This convenient feature allows you to assign not only one but multiple pre-defined values to a given database field. All values stored in this type of database fields are searchable. Please follow the following example to implement a multiple selection drop-down list field: The statement is required to define that field # 22 (i.e. "f22") is a multiple selection drop-down list field. If you have more than 1 multiple selection drop-down list fields in your database, you should use the following statement: where fxx,fyy,fzz are the field ids of the multiple selection drop-down list fields. Always use a comma to separate the field ids. *** IMPORTANT NOTES *** NOTE 1: If the database file to be searched contains "Multiple Select Drop-Down List" fields, you must make sure that the following statement is inserted into the search forms (or any search URLs) as well: where fxx,fyy,fzz are the field ids of the multiple selection drop-down list fields configured in your database file. Examples: NOTE 2: Never implement "Multiple Selection Drop-Down Lists" in your search forms. Only "Single Selection Drop-Down Lists" are supported. You should use a "Single Selection Drop-Down List" to search a "Multiple Selection Drop-Down List" field. < Question No. 9 > Is it possible to create a drop-down list of search requests such that each request in the list enables the user to search certain values of pre-defined database fields? < Answer > This would require a separate "redirect" cgi program to process the selected "Search" request. The example is as follows:
There are many redirect cgi programs available on the Internet. You may download a suitable one to meet your own needs. However, if you don't want to waste your time, you may download a simple cgi program directly from our Web site. Its url is: http://www.cnctek.com/bizdb-addons/free-utilities/redirect.zip (please use username=guest and password=guest if asked) (no technical support, only use this program at your own risk) When you implement this search facility, please set the @valid variable in your "bizdb-search.cgi" script to (), i.e. @valid = (); . < Question No. 10 > I have setup a BizDB database application on my Web site recently. Everything is running smoothly except that under certain occasions, my users got the "Unauthorized Access" message returned from the server when executing the search and update database requests. Why? < Answer > The problem of getting "Unauthorized Access" is that the user did not execute a BizDB cgi link (for adding, updating or searching records) via a static Web page displayed by your Web server at the time of execution. If your user types in the cgi link manually into the browser's address / url bar and then execute it, or he executes it via the browser's favorites list, this problem will happen. Another possible cause of this problem is that your Web page contains javascript codes such that when the BizDB cgi problem is executed, the search result will be displayed on a new window. Under this situation, the correct url-referrer is unable to be passed from the browser to the cgi program for validation purpose. The only solution to this is to display the search result on the same window as the cgi link. In conclusion, the display of this warning message is not a software error. It is in fact a warning of possible security violation. If you want to bypass this error message, you have to set the @valid variable in the cgi scripts to null. Example: @valid = (); Note: If you must store some values into the @valid variable, it must be the domain name of your web site, eg. @valid = ('xyz.com'); < Question No. 11 > Please explain the differences between the 3 record types 'Free', 'Standard' and 'Enhanced'. Please give me a description of how each is used? < Answer > It is up to you to support multiple types of records in your BizDB database file. If you do, please make sure each field in the database is defined to serve one unique purpose only. Below are some guidelines you should follow: (1) If you want to support 2-3 record types ("f4") on the same database file at the same time (i.e. Free, Standard and Enhanced), you must create 3 different sets of "ADD" and "EDIT" html templates (say "ADD-Free.tmpl", "EDIT-Free.tmpl", "ADD-Standard.tmpl", "EDIT-Standard.tmpl", "ADD-Enhanced.tmpl", "EDIT-Enhanced.tmpl"). Each of the above templates will serve one record type only. You must have a navigation bar or Web page to guide your users to go to the appropriate "ADD Record" and "EDIT Record" page to submit and update their records. (2) *** Available in BizDB Advance Version Only *** If you want to sort the search result by record types (say, Enhanced first, Standard second and Free the third), the only way you can do is to setup the records as follows "Free" record type - In your "Free Record" ADD and EDIT templates, set "f4" to "Free" and set "f??" to "3". "Standard" record type - In your "Standard Record" ADD and EDIT templates, set "f4" to "Standard" and set "f??" to "2". "Enhanced" record type - In your "Enhanced Record" ADD and EDIT templates, set "f4" to "Enhanced" and set "f??" to "1". where "f??" can be any field number between "f6" and "f50" selected by the user if $maxfields in the cgi scripts are set to 50. (3) When you produce the search report, you can sort (*** this feature is supported by the BizDB Advance version only ***) the "f??" field in ascending order. In this case, the "Enhanced" records will be displayed first. (4) It is essential not to change the existing definitions of "f1", "f2", "f3", "f4" and "f5".