Configure This Software (will update your MTS4/STD/Parameters.pm file)
Your Order ID: Enter exactly as it appears on your purchase order notification. This is not the order tracking id.
Email address associated with the license purchase: Enter exactly as it appears on your purchase order notification. If you enter other email address the validation will fail.
Current License Status: $out{license_status}
[ top ] General Parameters: ---------------------------------------------------------
This software product consists of Two Parts. The First Part are the files and directories located under the 'cgi' directory. They are standard, NPH, mod_perl and FastCGI cgi script wrappers, perl libraries, modules, data directories and templates used by this software. The Second Part are the files and directories located under the 'html' directory. They are html, image, php files supposed to be accessed directly from browser. You can rename the 'cgi' and 'html' directories to whatever you want. PART I (html)
Full path to the 'html' directory. example: /home/users/daniel/www/MTS4/html/ hint: your Document Root directory is: $out{document_root} $out{html_path_warn}
URL of the 'html' directory. You'll see broken images if this url is incorrect, because the client't browser will look for images in wrong locations. example: http://$out{this_host}/MTS4/html/ $out{html_url_warn}
PART II (cgi)
This software comes with a dozen cgi script wrappers. These are simple scripts located in your 'cgi' directory. Through them you can run the software in different modes depending on what you want. For example if you see in the name of the script -t or just npht (if FastCGI wrapper) calling such a script wrapper will run the software with Perl tainting checks Off. The scripts without -t/npht will run the software with Perl tainting checks On that in fact is a higher security mode. It's recommended to use the 'higher security mode' but of course only if it did not produce "Internal Server Error" messages. If you get this error test what will be the cgi response if you switch the script file permissions: chmod 6777 to chmod 0777 and otherwise. Depends on your web server setup you may be able or not able to run cgi scripts in one of the above Perl modes. The scripts with names starting with nph- or just nph (if FastCGI wrapper) will run the software in a NPH mode. This mode is used when the software have to produce a live output for a long lasting process. The main difference from the standard wrappers is that the buffering and http compression of the script output is disabled. Script files ending with .fcgi are designed to run the software in FastCGI mode. *.mpl files can run the software in mod_perl(Registry) mode. *.pl files are the same with *.cgi files and the only difference is the file extension. You can use *.pl scripts if *.cgi are not allowed on your server. To use mod_perl or FastCGI interfaces you have to configure your web server as directed by its documentation to support these modes. If you have Apache web server and custom .htaccess files are allowed for the users you can can have setup the allowed script extensions through this file. Just rename cgi/.sample_htaccess file to cgi/.htaccess. It's possible that you may get "Internal Server Error" after this operation if your server does not like the cgi/.htaccess file. In such case rename back the .htaccess file.
This software will autodetect the urls of the script wrappers at runtime. However it's not bad idea to set them explicitly, especially if you use custom script wrapper names or a 2-web-servers setup (if mod_perl of FastCGI implementation). For example you can have 2 web servers installed, the first one at the default port 80, which redirects/proxies transparently the cgi requests to a second, backend server running behind the scene at a different port or even on a different machine. One implementation of this software makes use only of 2 script wrappers - a standard for normal pages and an nph- for long lasting processes (if any).
1. URL of the standard cgi script wrapper (x.cgi, x-t.cgi, x.pl, x-t.pl, x.mpl, x.fcgi or x-t.fcgi) used by this software for producing normal pages. Leave this field empty to have the url autodetected at runtime. default1: $out{cgi_url}x.cgi (if standard cgi mode with Perl tainting checks On) default2: $out{cgi_url}x-t.cgi (if standard cgi mode with Perl tainting checks Off) hint1: $out{cgi_url}x.mpl (if mod_perl) hint2: $out{cgi_url}x.fcgi (if FastCGI) hint3: $out{cgi_url}x-t.pl (if *.pl files are accepted by this web server)
2. URL of the nph-script wrapper (nph-x.cgi, nph-x-t.cgi, nph-x.pl, nph-x-t.pl, nph-x.mpl, nph.fcgi, npht.fcgi) used by this software for producing live output for long lasting processes. Leave this field empty to have the url autodetected at runtime. default1: $out{cgi_url}nph-x.cgi (if standard cgi mode with Perl tainting checks On) default2: $out{cgi_url}nph-x-t.cgi (if standard cgi mode with Perl tainting checks Off) hint1: $out{cgi_url}nph-x.mpl (if mod_perl) hint2: $out{cgi_url}nph.fcgi (start it as a static FastCGI application with option -flush because FastCGI does not support explicitly nph-scripts. Do not remove the 'nph' prefix of this script name.) hint3: $out{cgi_url}nph-x.pl (if *.pl script files are accepted by this web server)
Additional paths where Perl may look for third-party perl modules. Fill it if you want this software to access perl modules installed outside the current software working directory and outside the default Perl library directories. For example you might have installed some modules in your home directory. This software working directory is the main 'cgi' directory where the public(non-admin) script wrappers for this software are located. You can provide relative to that directory paths. Currently Perl will look for modules and libraries in the following locations: $out{INC} example: my-lib ../other /home/usr/daniel/mods
[ top ] Access Policy: ---------------------------------------------------------
Refuse access to the public (non-admin) part of this software by client's IP address. Skip this section if you do not wish to apply any restrictions. Put below a list of banned ips, one ip per line. example: 196.22.33.4 133.334.33.3 $out{refuse_ip_addresses}
Additionally advanced users can ban more client's IP addresses through defining a regular expression: example: ^124\.44\.5\. - refuse access for any ip starting with 124.44.5. example: ^(196\.22\.33\.|133\.334\.33\.) - refuse access for ips starting with: 196.22.33. or 133.334.33.
Allowed HTTP referers for access to the public (non-admin) part of this software. Skip this section if you do not wish to apply any restrictions. For example you can allow access to this script only if user comes from a given link or any links from a given site, etc. By default this software is always accessible if the http referer is a url from the current host. You can restrict the access if user come from links outside the current site through several ways: Allow the following HTTP referers: Put below a list of exact/full http referer urls, one url per line. example: http://site.com/his_site.html http://www.site.com/his_site.html $out{allow_http_referers}
Allow HTTP referers from the following domains and all their subdomains: Put list of domains - one domain per line. The restriction will apply not only to listed domains but to all their subdomains too. example: site.com mysite.com his-site.com $out{allow_http_referer_domains} Additionally advanced users can describe more allowed http referers through a regular expression: example: ^http://(|[^/]+\.)site\.com/.*$ - allow linking only from your domain, site.com and its subdomains example: ^http://(myhost\.net|localhost)/.*$ - allow linking only from either local machine or myhost.net
Allow direct access to the public (non-admin) part of this software. Yes No In this case web users are allowed to access your software through bookmark or by entering the script url directly in the browser's location bar.
[ top ] Behaviour And Maintenance: ---------------------------------------------------------
Show CGI Perl warnings in browser? Yes No Enable this option to have warning messages appear in the browser window. Useful during a realtime debugging of this software. Otherwise you should look for the warning messages in the error log.
Should nph-scripts send full http response header? Yes No The "Yes" answer should work for the most web servers. Change this option if you notice that pages produced by NPH(Non-Parsed-Header) scripts like: nph-x-t.cgi start with unwanted Content-type: ..... header line, display the script source code or produce "Save as" message box.
How many requests each mod_perl/FastCGI server process to serve before its restart? You'll have to restart the processes running this application in order to prevent possible memory leaks. Good values for this parameter are between 300 and 5000. The default value of 1000 should be best for the most implementations. Use low numbers if you have notable memory leaks. Check the processes status here (for Linux systems only).
Delete any log file that become bigger than KBytes. This option is to prevent a possible filling out of all of your hard disk space.
Clean cache directory on a statistical average of every minutes. We have to clean the cache directory regularly to delete old queries related data. A good default value is 60 minutes.
[ top ] Output Compression: ---------------------------------------------------------
Compress text/html output of the non-nph cgi scripts? Yes No Advantages of the compressed output is that the network transfer is reduced on average of 3 times or more and you save your server's bandwidth. For big pages >400KB there were recorded top compression rates of 2000-2500%. As a result this software will provide a much quicker http response delivery and reduced server bandwidth usage. Disable this option if you encounter problems such as empty or broken response pages or web browser's network communication errors. Currently supported compression format is GZIP. If Compress::Zlib perl module is not found, the software will automatically use the shell gzip program if available. $out{Zlib_status}
Use the shell gzip program rather than perl's Compress::Zlib module: Yes No Using the external gzip is a slower method but it is the only solution if you have problems with an installed Compress::Zlib perl module.
Path to the shell gzip program. $out{gzip_status}
[ top ] HTTP Connections: ---------------------------------------------------------
Connect timeout. Establishing of a tcp/ip connection is the first phase of a http request. How much time is allowed to take? Good values are between 1 to 3 seconds. hint: 1 seconds.
Socket reconnect attempts. Max number of attempts to reconnect to a remote host if the first try to connect failed. Put there a positive number > 0 if you need a more reliable http requesting. hint: 0 attempts.
Http request thread timeout. Do not wait longer than this amount of time to receive an http response. hint: 15 seconds.
Max simultaneous HTTP connections (threads). How many simultaneous http requests (threads) to work with? hint: 20
Bypass http proxy servers for hosts:ports matching the following regular expression. example: ^(localhost:80|127\.0\.0\.1:80)$ - bypass local addresses at port 80 example: ^(myhost\.com:80)$ - bypass myhost.com at port 80
Pass http requests through the http proxies. Yes No For each http request the proxy is chosen on random basis.
[ top ] Add-on Search Engine Modules: ---------------------------------------------------------
This is a list of all *.pm files in your 'cgi/modules' directory. Use 'reload' button of your browser to see the most fresh content of your modules directory - recommended if you added or deleted modules.
$out{modules}
Properties of Modules
$out{modules_properties}
Modules weights are used by the search results sorting algorithm. Results generated by modules with heavy weights are going down and results from modules with light weights are appearing first. To display results from highlighted modules the software will use template files which names start with prefix 'highlighted_' . For example the default highlighted result template file is 'highlighted_result_default.htm'. Similarly you can have 'highlighted_result_News.htm', etc ... for categories requiring non-default templates. Create these highlighted_..... files if missing. Also you can enter your own Affiliate ID if you are affiliate partner with a search service. This will work properly only if during the module building phase you have embedded the string $e_affiliateID in the right place within module's request data string. To earn money from the PPC search engines participating in the metasearch you first have to signup with them to get your affiliate id and then setup it through this Admin Panel.
PayPerClick (PPC) search engine
Get distributor's Affiliate ID
To advertise on their PPC engine bid on keywords
Search123.com
getID
SearchFeed.com Enter your affiliate tracking id:
get ID
advertiser info
[ top ] MetaSearch Categories and Templates: -------------------------------------------------------------------------
The modules are grouped in categories. With one cgi request you can perform metasearch queries with the engines/modules from several categories - one 'main' metasearch category selected by the user through html cgi form and several 'additional categories' defined below. All of these queries are performed simultaneously for best performance.
The 'additional categories' are those of the categories defined below, that have short names starting with a dot (.). They do not appear in the cgi form where user select which category to metasearch but implicitly/automatically participate in the process of metasearching the search sites when the script is called. Their result sets do not appear within the 'main' category results set but are rather used to be included as a side bars next to the 'main' results. Their results could be used everywhere in the 'main' category results template by using tags as $out{resultsthe_additional_category_name} They use the same query string as the query string used for the 'main' category which user entered. By default all 'additional_categories' appearing in the table below participate in the queries. However you can override this default list of 'additional_categories' by passing additional_categories parameter to the cgi script. The value of this parameter must be a string containing all desired valid 'additional categories' separated by '|' signs. Example: additional_categories=.side_bar|.top_bar To disable the default set of additional categories pass to the script empty parameter additional_categories and parameter no_additional_categories with value 1. Example: additional_categories=&no_additional_categories=1 By default passing only an empty additional_categories parameter means usage of all defined additional categories with the current metasearch query.
The 'main category' is the category that user selects through the web form and want metasearch it. A 'main' category could be any that have short name starting with a character that is not dot. The default 'main' category setting could be overridden by passing to the script a parameter category with value a short name of a category.
Groups of Modules
To add a new group, just enter the new group unique name and list of its module files. To remove a group, just empty its 'modules list'. Groups could have common modules. Groups will be displayed in the BeforeResults-groups.htm template sorted by group name/ID.
$out{groups_of_modules}
Modules by Category
To add a new category just enter the new category name and list of modules files grouped in this category in the vacant fields at bottom. To remove a category, just empty its 'modules list'.
$out{modules_by_category}
Select default 'main' metasearch category. $out{select_default_category} If you do not pass parameter 'category' to the cgi script this default search category will be considered.
Templates by Category
You can have different result and results templates for any of your categories. To have new specific for a category templates create and save two templates in your data/templates/your_theme/ directory with names like result_something.htm and results_something.htm. Then reload this page to get the updated list of template files shown in the table below and select them. Usually 'something' is the name of the category the templates are for. Highlighted modules use template files with names made by concatenation of the prefix 'highlighted_' and the correspondent result template file name as defined below. Also you can use prefix 'even_row_' in front of a template file name. That template will be used to display the even numbered search results. So you can have alternating styles of the displayed results, row by row. The 'charset' setting for a category overrides the default charset setting. It will be used when have to display results pages from a given category using custom charset. This is good if you have categories with results of different languages. examples: result_News.htm and results_News.htm for category News. Default templates are result_default.htm and results_default.htm
$out{templates_by_category}
view templates: $out{view_templates_links}
edit templates: $out{view_code_templates_links}
Enable the 'additional categories'. Yes No
Results sorting by Category You can sort results from a given category in ascending/descending order compared numerically or stringwise by the values of a given results field. For example you can sort results by highest 'bid' filed in category .side_bar. Do not enter anyting below if you wish to use the standard 'smart 'sorting algorithm. $out{sorting_by_category}
[ top ] Clustering of the Search Results: ---------------------------------------------------------------
Enable realtime clustering of the search results by phrase. Yes No The search results will be grouped by the most frequently used phrases in the titles and the descriptions of the search results. The clustered links could be included in the main results template through the tag $out{clusters_box} and the cgi software will use template files with names prefixed by 'clustered_'. To save CPU resources, disable this option if you do not consider to use the clustering feature.
How many top clusters to display. The links to the top clusters will be included in $out{clusters_box} template tag. hint: 20
Frequently used, non-specific and less meaningful common words to exclude when grouping results by phrase.
$out{common_words}
Give preference of the following single words or phrases. You can predefine a Clustering of the search results by a group of words or phrases. When we have several search results which contain words and phrases from a given predefined cluster, we assign that group to the predefined cluster name. Enter below the phrases and words one perl line.
$out{prefered_clusters}
[ top ] Application Parameters: ---------------------------------------------------------
Default Max Search Depth. How many results pages to get from a search engine per request. You can override this setting by passing parameter 'depth' to the script. hint: 20
CPU usage time limit for the modules parsing subroutines. It's possible that sometimes a regular expression used in the parsing subroutine behaves not as expected and takes an awful amount of CPU resources. To save your server CPU resources in such bad cases you can limit the allowed CPU usage for the regular expressions. The software will log the CPU usage related problems in the errors.txt log file so that you can check later the wrong module and possibly 'remake' it to fix its misbehaved perl regular expressions. This feature works only for Unix-like platforms. hint: 1 seconds.
Global MetaSearch Results Filter. Exclude metasearch results, which description, title, url contain some of the following strings. Use this feature if you want having displayed only child-safe search results or want to restrict results to a very specific topic.
$out{filter_words}
MetaSearch Results Filters by Category. Exclude metasearch results of a category, which description, title, url contain some strings/words. Use this feature if you want having displayed only child-safe search results or want to restrict results to a very specific topic per category basis.
$out{filters_by_category}
[ top ] HTML Layout: ---------------------------------------------------------
Default HTML templates theme: $out{themes} You can override the theme setting by passing an additional cgi form parameter 'theme' to the cgi script.
Highlight the keywords in the title, displayed url and the description part of a search result. The HTML code to insert before the keyword. hint: <B class="highlight"> The HTML code to insert after the keyword. hint: </B>
Truncate displayed urls if longer than characters.
Truncate displayed title if longer than characters.
Insert the html template file 'Ad.htm' after every search results displayed. Use a null value to disable this option. Usually in this file you insert some banner ad related html code.
Default number of search results to display on a results page if not specified. You can override this number by passing parameter 'per_page' to the cgi script. hint: 20
Default charset to display pages. This charset setting will appear within the content-type meta tag of the header.htm template. default: iso-8859-1 example: Windows-1251
What results from an additional search category to display if the requested page number is higher than the number of available results pages for that additional category? do not show any results show the first results page
Use javascript to show per engine results processing status images for the main metasearch category. Yes No Disable this option if you get a javascript error on the results page.
Which template file to use when have to display the 'Before Search Results' html template. The template file must start with 'BeforeResults' string. Each file could contain different cgi search form so you can switch easily from one form type to another without editing html template. To avoid JavaScript error you have to disable the javascript option above if you use BeforeResults template that do not show the search engines checkboxes. $out{select_BeforeResults_tmpl}
Show MetaSearch Summary. Yes No If enabled will show the list of engines and explanations how many results have been received and processing errors if any.
Show Processing Bar. Yes No If enabled will show template ProcessingBar.htm at the beginning of the request and when finish will show template ProcessingBarEnd.htm.
Once configured, you can proceed to the demonstration page to see how this software works.
[ DEMO PAGE ]
[ Top of Page ]