31mar Wyszukiwarka oraz akcelerator dla IE i Firefox
Wyszukiwarka
będzie szukać po naszych kontaktach w Contails.com. Wymaga wcześniejszego zalogowania się do serwisu, ponieważ nasze kontakty są zabezpieczone hasłem i musimy mieć aktywną sesję z serwisem.

Wyszukiwarka będzie obsługiwać sugestie w Firefoxie 2 i 3 oraz w IE8.
W IE7 będzie po prostu przekierowywać na wyniki wyszkiwania w Contails.
Akcelerator
Ta usługa jest dostępna w najnowszej wersji IE i wygląda to tak:

Na początek pod adresem http://www.contails.com/plugin/search.xml tworzymy OpenSearch Description File, który jest statycznym plikiem XML.
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:ie="http://schemas.microsoft.com/Search/2008/">
<ShortName>Contails.com</ShortName>
<Image height="16" width="16" type="image/icon">http://www.contails.com/favicon.ico</Image>
<Url type="text/html" template="http://www.contails.com/
contacts/search_user.html?query={searchTerms}"/>
<Url type="application/x-suggestions+json" template="http://www.contails.com/xhr/plugin/search?query={searchTerms}"/>
<ie:PreviewUrl type="text/html" template="http://www.contails.com/plugin/search_accelerator.html?query={searchTerms}"/>
</OpenSearchDescription>
- Url type=”text/html” – Wymagany, absolutny URL, który kieruje zapytanie do podstawowego wyszukiwania w serwisie
- Url type=”application/x-suggestions+json” – Opcjonalny URL, który zwraca sugestie wyszukiwania w postaci formatu JSON
- ie:PreviewUrl type=”text/html” – Opcjonalny URL do wyświetlania wyników w podglądzie akceleratora w IE8.
Następnie tworzymy metodę search, która pod adresem /xhr/plugin/search zwraca sugestie w formacie JSON.
class PluginController(BaseController):
@filter(XhrUserSignedInFilter)
@jsonify
def search(self):
request_query = request.params.get('query', '')
result = [request_query]
# ...
# pobieramy z bazy danych
# ...
result.append(search_names)
result.append(search_emails)
result.append(search_urls)
return result
Format danych sugestii wygląda następująco:
["piz", ["Pizza Gruby Benek", "Pizza Tino Zaspa", "Pizza Maxx"], ["58 551 58 58, gruby@benek.pl", "58 551 58 50", "pizza@maxx.pl"], ["http://contails.com/contacts/browse.html?id_contact=12345", "http://contails.com/contacts/browse.html?id_contact=35597", "http://contails.com/contacts/browse.html?id_contact=35597"]]
Pierwszy element piz to szukana fraza.
Drugi to tablica z nazwami wyszukanych kontaktów.
Trzecia tablica zawiera informacje dodatkowe.
A czwarta absolutne linki to wyszukanych kontaktów.
Jeżeli nie ma żadnych wyników to zwracamy:
["piz"]
Dodanie wyszukiwarki
W sekcji head umieszamy link ze słowem kluczowym search, co pozwala przeglądarce wykryć nowego dostępnego dostawcę wyszukiwania.
<link title="Contails.com" rel="search" type="application/opensearchdescription+xml" href="http://www.contails.com/plugin/search.xml">

Inny sposobem jest umieszczenie na naszej stronie linka:
<a href="#"
onclick="window.external.AddSearchProvider
('http://www.contails.com/plugin/search.xml')"
>Dodaj wyszukiwarkę Contails</a>
W tych paru krokach, możemy zintegrować nasz serwis z najpopularniejszymi przęglądarkami.
- Load content while scrolling with Prototype and JSON-P via Yahoo API
- Twitter API: Stream of messages for query with PHP, JSON and Prototype
- QR Code from hCard using Sumo! parser and Google Chart API
- Szybkie iteracje czyli przyspieszanie pętli
- Twitter API: Strumień wpisów po słowie kluczowym w PHP, JSON i Prototype




