.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt ======================= EXT: Yahoo! BOSS Search ======================= :Author: Kasper Skårhøj :Created: 2002-11-01T00:32:00 :Changed: 2009-07-09T20:33:11.890000000 :Classification: ad_boss_search :Description: The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ---- :Keywords: yahoo, boss, search, api, site :Author: Alexander Dick :Email: alex@dick.at :Info 4: :Language: en |img-1| |img-2| EXT: Yahoo! BOSS Search - ad\_boss\_search .. _EXT-Yahoo-BOSS-Search: EXT: Yahoo! BOSS Search ======================= Extension Key: ad\_boss\_search Language: en Keywords: yahoo, boss, search, api, site Copyright 2000-2009, Alexander Dick, Blog/Discussion: `http://www.adick.at/2009-07-07,yahoo-boss-search- extension-fur-typo3/ `_ Please feel free to add comments, suggestions, bug reports or feature requests! This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 \- a GNU/GPL CMS/Framework available from www.typo3.org .. _Table-of-Contents: Table of Contents ----------------- `EXT: Yahoo! BOSS Search 1 <#1.EXT:%20Yahoo!%20BOSS%20Search|outline>`_ **`Introduction3 <#1.1.Introduction|outline>`_** `What does it do? 3 <#1.1.1.What%20does%20it%20do_|outline>`_ `Screenshots 3 <#1.1.2.Screenshots|outline>`_ `Everything set up and running: 3 <#1.Everything%20set%20up%20and%20running:|outline>`_ **`Users manual 4 <#1.2.Users%20manual|outline>`_** **`Configuration 5 <#1.3.Configuration|outline>`_** `Reference 5 <#1.3.1.Reference|outline>`_ **`Known problems 7 <#1.4.Known%20problems|outline>`_** **`To-Do list 8 <#1.5.To-Do%20list|outline>`_** .. _Introduction: Introduction ------------ Before you get startet, you have to register a Yahoo! BOSS API Key. You can get it here: http://developer.yahoo.com/search/boss/ Also, please read the above page carefully before you get to use this extension. By now (July 9th 2009), the use of this API is completely free of charge, although they plan to implement a fee structure in the future, for more information read this: http://developer.yahoo.com/search/boss/fees.html Do not be afraid of this and take a look at their pricing examples, you will most likely do not have to pay anything because ~7000 requests a day are for free.“Developer A submits 7000 API requests in a given day. Each API call requests search results 1-10. Since 1000 requests of this type cost 3 units (for a total of 21 units) and each developer gets 30 units per day for free, Developer A is not charged anything.“ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ - - Adds a Site-Search based on the Yahoo! BOSS API .. _Screenshots: Screenshots ^^^^^^^^^^^ Everything set up and running |img-3| .. _Users-manual: Users manual ------------ - 1. Insert the Plugin on any page you want the results to be shown |img-4| - 2. Edit the Plugin and set your options |img-5| Please refer to the Configuration section for further details on these options. **Note** : Typoscript configuration overrules this plugin configuration! That means if you define for example resultsPerPage additionally in your Typoscript config, that will overwrite the value specified in the form above. If you need to, you can use pi2 for a search form widget. This is fairly simple, just apply the plugin to your desired template marker:lib.search < plugin.tx\_adbosssearch\_pi2lib.search {resultsPid = 123templateFile = fileadmin/templates/search.html}where resultsPid is the page where you inserted pi1 for listing the results. .. _Configuration: Configuration ------------- Put the configuration in your Page TS Setup or create an extension template on the page where you inserted the Plugin. .. _Reference: Reference ^^^^^^^^^ Parameters for pi1 (plugin.tx\_adbosssearch\_pi1) .. ### BEGIN~OF~TABLE ### .. _templateFile: templateFile """""""""""" .. container:: table-row Property templateFile Data type string Description Path to your template, if you do not want to use the default template Default Not set .. _addStylesheet: addStylesheet """"""""""""" .. container:: table-row Property addStylesheet Data type int Description Whether or not to add the default Stylesheet (res/styles.css) Default 1 .. _resultsPerPage: resultsPerPage """""""""""""" .. container:: table-row Property resultsPerPage Data type int Description Total number of results to return per page. Maximum value is 50. Default 15 .. _maxPageLinks: maxPageLinks """""""""""" .. container:: table-row Property maxPageLinks Data type int Description Number of pages to show. If there are more pages than maxPages, pages get filled up with "..." Default 10 .. _appID: appID """"" .. container:: table-row Property appID Data type string Description Your App ID Default .. _strictLang: strictLang """""""""" .. container:: table-row Property strictLang Data type int Description Default is 0. (no strictness enforced) Setting strictlang=1 activates the strict language filtering based on the current FE-language of the user Default 0 .. _abstract: abstract """""""" .. container:: table-row Property abstract Data type string Description Using abstract=long increases the abstract up to 300 characters Default long .. _style: style """"" .. container:: table-row Property style Data type string Description By default for web search result titles and abstracts contain and html tags around the search term. Use style=raw to remove the bold tags around the search terms in titles and abstracts. Default raw .. _excludePIDs: excludePIDs **\*** """"""""""""""""""" .. container:: table-row Property excludePIDs **\*** Data type string Description Comma separated list with PIDs of pages you want to exclude in the results (does only work when simulate\_static\_documents is active) Default Not set .. _excludePIDsRecursively: excludePIDsRecursively """""""""""""""""""""" .. container:: table-row Property excludePIDsRecursively Data type int Description whether or not to exclude pages recursively - e.g. if ID 5 is in your excludePIDs, all sub-pages of ID 5 will also be excluded Default Not set .. _dontExcludePIDsWhenUrlContains: dontExcludePIDsWhenUrlContains """""""""""""""""""""""""""""" .. container:: table-row Property dontExcludePIDsWhenUrlContains Data type string Description Pages that are included in excludePIDs AND contain any occurrence of the following in the URL, are NOT being excluded from the result list (this value may be comma separated) Default Not set .. _minDate: minDate **\*** """"""""""""""" .. container:: table-row Property minDate **\*** Data type string Description Minimum date of the results - any results older than the given date are not shown Format: yyyy/mm/dd Default Not set .. ###### END~OF~TABLE ###### **\* Important note:** When **excludePIDs** or **minDate** is used, all results are fetched at once. This means that several requests to the API are made after submitting a search (to keep it within a limit I have set it to a max. of 5). All results for this search term are then stored in session, so no more requests are required when navigating between pages or re- submitting the same search query. Since multiple requests are made to the API, your search will get slower when using excludePIDs and/or minDate! Also consider your fee units, should the situation arise. .. _generated: ((generated)) """"""""""""" .. _Example: Example ~~~~~~~ An example how your configuration could look like: plugin.tx\_adbosssearch\_pi1 { templateFile = fileadmin/templates/search.html addStylesheet = 1 resultsPerPage = 20 maxPageLinks = 10 appID = your\_appid\_goes\_here strictLang = 1 abstract = long style = raw excludePIDs = 1,2,3 excludePIDsRecursively = 1 dontExcludePIDsWhenUrlContains = showUid,certainPage.html minDate = 2009/04/21 } .. _Known-problems: Known problems -------------- When **not** using excludePIDs or minDate, the number of pages in your result can vary. This is due to an approximitation of the result's totalhits value. Yahoo! Says: “The totalhits value is an approximation, and its value may change depending on the requested “start” and “count” values, because the approximation is adjusted as more exact result URLs are processed. A normal use for totalhits is to determine how many pages of results to offer in search result navigation. Since TOTALHITS is an approximation, and the value may change as “start” increases on successive result pages, the result page navigation may need to be adjusted as a user browses result pages.”Although I recommend not to use excludePIDs and minDate if it's not really necessary, please take a look at the configuration section on this one. .. _To-Do-list: To-Do list ---------- 8 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: left .. |img-2| image:: img-2.png .. :border: 0 .. :height: 21 .. :hspace: 9 .. :id: Grafik2 .. :name: Grafik2 .. :width: 87 .. |img-3| image:: img-3.jpeg .. :align: left .. :border: 0 .. :height: 292 .. :id: Grafik1 .. :name: Grafik1 .. :width: 669 .. |img-4| image:: img-4.jpeg .. :align: left .. :border: 0 .. :height: 240 .. :id: Grafik3 .. :name: Grafik3 .. :width: 491 .. |img-5| image:: img-5.jpeg .. :align: left .. :border: 0 .. :height: 366 .. :id: Grafik4 .. :name: Grafik4 .. :width: 491