Commit 1e4b5633 authored by Frank Bergmann's avatar Frank Bergmann

- imported 5.6 code

parent 005dafd0
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="search" package_version="5.1.5" locale="de_DE" charset="ISO-8859-1">
<message_catalog package_key="search" locale="de_DE" charset="ISO-8859-1">
<msg key="________Search_took">.
Suche dauerte</msg>
<msg key="Advanced_Search">Fortgeschrittene Suche</msg>
<msg key="advanced_search">&amp;quot;Fortgeschrittene Suche&amp;quot;</msg>
<msg key="Advanced_Search">Erweiterte Suche</msg>
<msg key="anytime">jederzeit</msg>
<msg key="Date_Range">Datumsbereich</msg>
<msg key="Date_Range">Datumsspanne</msg>
<msg key="details">Details</msg>
<msg key="Feeling_Lucky">Glcklich fhlen</msg>
<msg key="lt_bstopwordsb_is_a_very">&amp;quot;&amp;lt;b&amp;gt;%stopwords%&amp;lt;/b&amp;gt;&amp;quot; ist ein sehr hufig vorkommendes Wort und wurde daher in Ihrer Suchanfrage ignoriert.</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver nicht verfgbar!</msg>
<msg key="lt_Make_sure_all_words_a">Stellen Sie sicher, dass alle Wrter richtig geschrieben sind.</msg>
<msg key="lt_No_pages_were_found_c">Es wurden keine Seiten gefunden mit &amp;quot;</msg>
<msg key="lt_The_following_words_a">Die folgenden Wrter kommen sehr hufig vor und wurden daher in Ihrer Suchanfrage ignoriert:</msg>
<msg key="lt_Tip_In_most_browsers_">Tipp: In den meisten Browsern knnen Sie einfach die Return Taste bettigen, statt auf die Schaltflche &quot;Suchen&quot; zu klicken.</msg>
<msg key="lt_Try_different_keyword">Probieren Sie andere Suchbegriffe.</msg>
<msg key="lt_Try_more_general_keyw">Probieren Sie allgemeinere Suchbegriffe.</msg>
<msg key="lt_Try_your_query_on_stw">Versuchen Sie, Ihre Anfrage auf: %stw;noquote%</msg>
<msg key="lt_You_must_specify_some">Sie mssen einige Suchbegriffe angeben</msg>
<msg key="nbspDisplay">&amp;amp;nbsp;Anzeige</msg>
<msg key="Next">Nchstes</msg>
<msg key="of_about">von etwa</msg>
<msg key="Feeling_Lucky">Auf gut Glck</msg>
<msg key="lt_bstopwordsb_is_a_very">'&lt;b&gt;%stopwords%&lt;/b&gt;' is ein sehr gebruchliches Wort und ist daher in der Suche nicht verwendet worden</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver ist nicht verfgbar</msg>
<msg key="lt_Make_sure_all_words_a">Stellen Sie sicher das alle Worte richtig geschrieben sind.</msg>
<msg key="lt_Try_different_keyword">Versuchen Sie unterschiedliche Schlsselwrter</msg>
<msg key="lt_Try_more_general_keyw">Versuchen Sie mehr generelle Schlsselwrter</msg>
<msg key="lt_Try_your_query_on_stw">Versuchen Sie Ihre Suche mit '%stw;noquote%'</msg>
<msg key="lt_You_must_specify_some">Sie mssen wenigstens ein Schlsselwort spezifizieren</msg>
<msg key="Next">Nchste</msg>
<msg key="past_3_months">letzten 3 Monate</msg>
<msg key="past_6_months">letzten 6 Monate</msg>
<msg key="past_year">vergangenes Jahr</msg>
<msg key="Previous">Zurck</msg>
<msg key="Result_page">Ergebnisseite:</msg>
<msg key="Results">Ergebnisse</msg>
<msg key="results">Ergebnisse</msg>
<msg key="past_year">letztes Jahr</msg>
<msg key="Previous">Vorhergehendes</msg>
<msg key="Result_page">Seite mit den Resultaten:</msg>
<msg key="results">Resultate</msg>
<msg key="Search">Suche</msg>
<msg key="Searched_for_query">Suche nach: %query%</msg>
<msg key="seconds">Skunden.</msg>
<msg key="selected">ausgewhlt</msg>
<msg key="Suggestions">Ratschlge:</msg>
<msg key="The">&amp;quot;&amp;lt;b&amp;gt;AND&amp;lt;/b&amp;gt;&amp;quot; Operator ist berflssig -- Alle Suchbegriffe wurden standardmig eingefgt.</msg>
<msg key="Try_fewer_keywords">Versuchen Sie es mit weniger Suchbegriffen.</msg>
<msg key="Untitled">Unbetitelt</msg>
<msg key="Searched_for_query">Gesucht wurde nach: &lt;b&gt;%query%&lt;/b&gt;</msg>
<msg key="Suggestions">Vorschlge:</msg>
<msg key="Try_fewer_keywords">Versuchen Sie es mit weniger Schlsselworten</msg>
<msg key="Untitled">Unbenannt</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="search" package_version="5.1.5" locale="en_US" charset="ISO-8859-1">
<message_catalog package_key="search" locale="en_US" charset="ISO-8859-1">
<msg key="________Search_took">.
Search took</msg>
......@@ -30,7 +30,7 @@
<msg key="Results">Results</msg>
<msg key="results">results</msg>
<msg key="Search">Search</msg>
<msg key="Searched_for_query">Searched for: %query%</msg>
<msg key="Searched_for_query">Search results for &lt;strong&gt;%query%&lt;/strong&gt;</msg>
<msg key="seconds">seconds.</msg>
<msg key="selected">selected</msg>
<msg key="Suggestions">Suggestions:</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="search" package_version="5.1.5" locale="es_ES" charset="ISO-8859-1">
<message_catalog package_key="search" locale="es_ES" charset="ISO-8859-1">
<msg key="________Search_took">. Tiempo empleado en la bsqueda</msg>
<msg key="Advanced_Search">Bsqueda ampliada</msg>
<msg key="advanced_search">&quot;bsqueda ampliada&quot;</msg>
<msg key="anytime">todo</msg>
<msg key="Date_Range">Intervalo temporal</msg>
<msg key="________Search_took">. Bsqueda tardo</msg>
<msg key="Advanced_Search">Bsqueda Avanzada</msg>
<msg key="advanced_search">&quot;bsqueda avanzada&quot;</msg>
<msg key="anytime">cualquier hora</msg>
<msg key="Date_Range">Rango de Fechas</msg>
<msg key="details">detalles</msg>
<msg key="Feeling_Lucky">Voy a Tener Suerte</msg>
<msg key="lt_bstopwordsb_is_a_very">&quot;&lt;b&gt;%stopwords%&lt;/b&gt;&quot; es una palabra muy corriente, por lo que no la hemos incluido en su bsqueda.</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver no est disponible!</msg>
<msg key="lt_Make_sure_all_words_a">Asegrese de que todas las palabras estn escritas correctamente.</msg>
<msg key="lt_No_pages_were_found_c">No se han hallado pginas que contengan &quot;</msg>
<msg key="lt_The_following_words_a">Las palabras siguientes son muy corrientes y no han sido incluidas en su bsqueda:</msg>
<msg key="lt_Tip_In_most_browsers_">Consejo prctico: En la mayora de buscadores basta con que pulse Intro en lugar de hacer clic sobre el botn de Bsqueda.</msg>
<msg key="lt_Try_different_keyword">Intente con diferentes trminos de bsqueda.</msg>
<msg key="lt_Try_more_general_keyw">Intente con unos trminos ms generales.</msg>
<msg key="lt_Try_your_query_on_stw">Intente su bsqueda con: %stw;noquote%</msg>
<msg key="lt_You_must_specify_some">Debe especificar algunos trminos de bsqueda.</msg>
<msg key="Feeling_Lucky">Me siento afortunado</msg>
<msg key="lt_bstopwordsb_is_a_very">&quot;&lt;b&gt;%stopwords%&lt;/b&gt;&quot; es una palabra muy comn y no ha sido tomada en cuenta para la bsqueda.</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver no disponible!</msg>
<msg key="lt_Make_sure_all_words_a">Asegrese que todas las palabras estn escritas correctamente.</msg>
<msg key="lt_No_pages_were_found_c">No se ha encontrado pginas que contengan &quot;</msg>
<msg key="lt_The_following_words_a">Las palabras siguientes son demasiado comunes y no han sido incluidas en su bsqueda:</msg>
<msg key="lt_Tip_In_most_browsers_">Consejo: En la mayora de los navegadores, puede pulsar la tecla Intro en lugar de pulsar el botn de bsqueda</msg>
<msg key="lt_Try_different_keyword">Intntelo con otras palabras.</msg>
<msg key="lt_Try_more_general_keyw">Intntelo con palabras ms genricas.</msg>
<msg key="lt_Try_your_query_on_stw">Intente realizar la bsqueda sobre %stw;noquote%</msg>
<msg key="lt_You_must_specify_some">Debe especificar algunas palabras.</msg>
<msg key="nbspDisplay">&amp;nbsp;Mostrar</msg>
<msg key="Next">Siguiente</msg>
<msg key="of_about">de aprox.</msg>
<msg key="past_3_months">pasados 3 meses</msg>
<msg key="past_6_months">pasados 6 meses</msg>
<msg key="past_year">pasado ao</msg>
<msg key="Previous">Anteriores</msg>
<msg key="of_about">de</msg>
<msg key="past_3_months">ltimos 3 meses</msg>
<msg key="past_6_months">ltimos 6 meses</msg>
<msg key="past_year">ao anterior</msg>
<msg key="Previous">Anterior</msg>
<msg key="Result_page">Pgina de resultados:</msg>
<msg key="Results">Resultados</msg>
<msg key="results">resultados</msg>
<msg key="Search">Bsqueda</msg>
<msg key="Searched_for_query">Ha buscado por: %query%</msg>
<msg key="Search">Buscar</msg>
<msg key="Searched_for_query">Bsquedas para: &lt;b&gt;%query%&lt;/b&gt;</msg>
<msg key="seconds">segundos.</msg>
<msg key="selected">seleccionados</msg>
<msg key="selected">seleccionado</msg>
<msg key="Suggestions">Sugerencias:</msg>
<msg key="The">El operador &quot;&lt;b&gt;AND&lt;/b&gt;&quot; no es necesario, ya que incluimos todos los trminos de bsqueda por defecto.</msg>
<msg key="Try_fewer_keywords">Intentes con menos trminos de bsqueda.</msg>
<msg key="The">El operador &quot;&lt;b&gt;AND&lt;/b&gt;&quot; no es necesario -- por defecto, se incluyen todos los trminos en la bsqueda.</msg>
<msg key="Try_fewer_keywords">Intntelo con ms palabras.</msg>
<msg key="Untitled">Sin ttulo</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="search" package_version="5.1.5" locale="nl_NL" charset="ISO-8859-1">
<message_catalog package_key="search" locale="nl_NL" charset="ISO-8859-1">
<msg key="________Search_took">Zoek actie duurde</msg>
<msg key="Advanced_Search">Geavanceerd zoeken</msg>
<msg key="advanced_search">&quot;geavanceerd zoeken&quot;</msg>
<msg key="anytime">op ieder moment</msg>
<msg key="Date_Range">Datum bereik</msg>
<msg key="anytime">eender wanneer</msg>
<msg key="Date_Range">Datumbereik</msg>
<msg key="details">details</msg>
<msg key="Feeling_Lucky">Willekeurig</msg>
<msg key="lt_bstopwordsb_is_a_very">&quot;&lt;b&gt;%stopwords%&lt;/b&gt;&quot; is een erg algemeen woord en is niet in uw zoekactie opgenomen.</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver is niet beschikbaar!</msg>
<msg key="lt_Make_sure_all_words_a">Verzeker er u van dat alle woorden correct zijn gespeld.</msg>
<msg key="lt_No_pages_were_found_c">Er zijn geen pagina's gevonden met &quot;</msg>
<msg key="lt_The_following_words_a">De volgende woorden zijn veel voorkomend en zijn niet in uw zoekactie opgenomen:</msg>
<msg key="lt_Tip_In_most_browsers_">Tip: In de meeste browsers kunt u de vorige toets aanklikken in plaats van de zoek-toets.</msg>
<msg key="lt_Try_different_keyword">Probeer verschillende trefwoorden.</msg>
<msg key="lt_Try_more_general_keyw">Probeer meer algemene trefwoorden.</msg>
<msg key="lt_Try_your_query_on_stw">Probeer uw zoekactie op: %stw;noquote%</msg>
<msg key="lt_You_must_specify_some">U moet een paar trefwoorden specificeren</msg>
<msg key="nbspDisplay">&amp;nbsp;Display</msg>
<msg key="Feeling_Lucky">Doe een gok</msg>
<msg key="lt_bstopwordsb_is_a_very">&quot;&lt;b&gt;%stopwords%&lt;/b&gt;&quot; is een zeer veel voorkomend woord en is niet in de zoekopdracht meegenomen.</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver niet beschikbaar</msg>
<msg key="lt_Make_sure_all_words_a">Let op dat alle woorden correct gespeld zijn.</msg>
<msg key="lt_Try_different_keyword">Probeer andere kernwoorden.</msg>
<msg key="lt_Try_more_general_keyw">Probeer meer algemene kernwoorden.</msg>
<msg key="lt_Try_your_query_on_stw">Probeer je zoekvraag op: %stw;noquote%</msg>
<msg key="lt_You_must_specify_some">Je moet een aantal kernwoorden opgeven.</msg>
<msg key="Next">Volgende</msg>
<msg key="of_about">van ongeveer</msg>
<msg key="past_3_months">afgelopen 3 maanden</msg>
<msg key="past_6_months">afgelopen 6 maanden</msg>
<msg key="past_year">afgelopen jaar</msg>
<msg key="Previous">Vorige</msg>
<msg key="Result_page">Resultaten pagina:</msg>
<msg key="Results">Resultaten</msg>
<msg key="results">resultaten</msg>
<msg key="Result_page">Resultaatpagina:</msg>
<msg key="results">Resultaten</msg>
<msg key="Search">Zoeken</msg>
<msg key="Searched_for_query">Gezocht naar: %query%</msg>
<msg key="seconds">seconden.</msg>
<msg key="selected">geselecteerde</msg>
<msg key="Suggestions">Suggesties:</msg>
<msg key="The">&quot;&lt;b&gt;AND&lt;/b&gt;&quot; operator is niet nodig -- wij hebben alle operatoren standaard gemplementeerd</msg>
<msg key="Try_fewer_keywords">Probeer minder trefwoorden.</msg>
<msg key="Untitled">Geen titel</msg>
<msg key="Try_fewer_keywords">Probeer minder kernwoorden.</msg>
<msg key="Untitled">Naamloos</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="search" package_version="5.1.5" locale="pt_BR" charset="ISO-8859-1">
<message_catalog package_key="search" locale="pt_BR" charset="ISO-8859-1">
<msg key="________Search_took">. A busca levou</msg>
<msg key="Advanced_Search">Busca Avanada</msg>
<msg key="advanced_search">busca avanada</msg>
<msg key="anytime">qualquer data</msg>
<msg key="Date_Range">Perodo</msg>
<msg key="details">detalhes</msg>
<msg key="Feeling_Lucky">Com Sorte</msg>
<msg key="lt_bstopwordsb_is_a_very"> &quot;&lt;b&gt;%stopwords%&lt;/b&gt;&quot; uma palavra muito comum e no foi includa na sua busca.</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver no disponvel!</msg>
<msg key="lt_Make_sure_all_words_a">Verifique se todas as palavras foram digitadas corretamente.</msg>
<msg key="lt_No_pages_were_found_c">No foram encontradas pginas com &quot;</msg>
<msg key="lt_The_following_words_a">As seguints palavras so muito comuns e no foram includas na busca:</msg>
<msg key="lt_Tip_In_most_browsers_">Dica: Na maioria dos browsers basta pressionar &quot;enter&quot; ao invs do boto de busca.</msg>
<msg key="anytime">qualquer hora</msg>
<msg key="Date_Range">Intervalo de Data</msg>
<msg key="details">detelhes</msg>
<msg key="Feeling_Lucky">Sinto-me com Sorte</msg>
<msg key="lt_bstopwordsb_is_a_very">&quot;&lt;b&gt;%stopwords%&lt;/b&gt;&quot; uma palavra muito comum e no foi includa na sua pesquisa.</msg>
<msg key="lt_FtsEngineDriver_not_a">FtsEngineDriver no est disponvel!</msg>
<msg key="lt_Make_sure_all_words_a">Tenha certeza de que todas as palavras so soletradas corretamente.</msg>
<msg key="lt_Try_different_keyword">Tente palavras-chave diferentes.</msg>
<msg key="lt_Try_more_general_keyw">Tente palavras-chave mais genricas</msg>
<msg key="lt_Try_your_query_on_stw">Tente sua query em: %stw;noquote%</msg>
<msg key="lt_You_must_specify_some">Voc deve especificar algumas palavras</msg>
<msg key="nbspDisplay">&amp;nbsp;Apresenta</msg>
<msg key="lt_Try_more_general_keyw">Tente palavras-chave mais especficas.</msg>
<msg key="lt_Try_your_query_on_stw">Tente sua pergunta em: %stw;noquote%</msg>
<msg key="lt_You_must_specify_some">Voc precisa especificar algumas palavras-chave.</msg>
<msg key="Next">Prximo</msg>
<msg key="of_about">de </msg>
<msg key="past_3_months">3 meses atrs</msg>
<msg key="past_6_months">6 meses atrs</msg>
<msg key="past_3_months">3 meses depois</msg>
<msg key="past_6_months">6 meses depois</msg>
<msg key="past_year">ano passado</msg>
<msg key="Previous">Anterior</msg>
<msg key="Result_page">Pgina de resultados</msg>
<msg key="Results">Resultados</msg>
<msg key="Result_page">Pgina de resultados:</msg>
<msg key="results">resultados</msg>
<msg key="Search">Busca</msg>
<msg key="Searched_for_query">Busca por: %query%</msg>
<msg key="seconds">segundos.</msg>
<msg key="selected">selecionado</msg>
<msg key="Suggestions">Sugestes:</msg>
<msg key="The">&quot;&lt;b&gt;AND&lt;/b&gt;&quot; no necessrio -- o operador includo automaticamente em todas as buscas.</msg>
<msg key="Searched_for_query">Busca realizada por: &lt;b&gt;%query%&lt;/b&gt;</msg>
<msg key="Suggestions">Sugestes</msg>
<msg key="Try_fewer_keywords">Tente menos palavras-chave</msg>
<msg key="Untitled">Sem nome</msg>
<msg key="Untitled">Sem Ttulo</msg>
</message_catalog>
......@@ -2,37 +2,38 @@
<!-- Generated by the OpenACS Package Manager -->
<package key="search" url="http://openacs.org/repository/apm/packages/search" type="apm_application">
<license>GPL V2.0 or any later version</license>
<package-name>Search</package-name>
<pretty-plural>Search</pretty-plural>
<initial-install-p>t</initial-install-p>
<singleton-p>f</singleton-p>
<auto-mount>search</auto-mount>
<version name="5.1.5" url="http://openacs.org/repository/download/apm/search-5.1.5.apm">
<singleton-p>t</singleton-p>
<version name="5.6.0" url="http://openacs.org/repository/download/apm/search-5.6.0.apm">
<owner url="http://openacs.org">OpenACS</owner>
<release-date>2004-02-28</release-date>
<release-date>2010-06-17</release-date>
<maturity>3</maturity>
<summary>Site wide search</summary>
<vendor url="http://openacs.org">OpenACS</vendor>
<description format="text/html">Site wide search implemented with service contracts, currently
only supports postgres via the OpenFTS driver.</description>
<maturity>3</maturity>
<license url="http://www.gnu.org/copyleft/gpl.html">GPL version 2</license>
<description format="text/html">Site wide search implemented with service contracts, currently supports postgres via the tsearch2 driver (OpenFTS still support but deprecated).</description>
<provides url="search" version="5.1.4"/>
<provides url="search" version="5.6.0"/>
<requires url="acs-service-contract" version="5.6.0"/>
<callbacks>
<callback type="after-instantiate" proc="search::install::after_instantiate"/>
</callbacks>
<parameters>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="FtsEngineDriver" default="openfts-driver" description="Which search engine driver to use? You should enter the name of the related binding (e.g. openfts-driver, swish-driver,...)"/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="FtsEngineDriver" default="tsearch2-driver" description="Which search engine driver to use? You should enter the name of the related binding (e.g. openfts-driver, swish-driver,...)"/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="PagesPerGroup" default="10" description="Number of pages in a page group"/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="LimitDefault" default="10" description="Default limit value"/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="SearchIndexerInterval" default="30" description="SearchIndexerInterval"/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="SearchTheWeb" default="http://av.com/sites/search/web?q=%s AltaVista http://search.excite.com/search.gw?s=%s Excite http://www.google.com/search?q=%s Google http://hotbot.com/?MT=%s HotBot http://lycos.com/cgi-bin/pursuit?query=%s Lycos http://search.yahoo.com/search?p=%s Yahoo!" description="Search the Web (e.g. Google)"/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="SearchIndexerInterval" default="31" description="Interval in seconds for the search indexer to sweep for new or updated items."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="SearchTheWeb" default="http://av.com/sites/search/web?q=%s AltaVista http://msxml.excite.com/info.xcite/search/web/%s Excite http://www.google.com/search?q=%s Google http://hotbot.com/?MT=%s HotBot http://search.yahoo.com/search?p=%s Yahoo!" description="Search the Web (e.g. Google)"/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="Symbol2Interval" default="m3 {3 month ago} m6 {6 month ago} y1 {1 year ago}" description="Translate symbol to date interval."/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="SubsiteSearchP" default="0" description="If mounted in a subsite should the search be restricted to items in the subsite by default. Requires that package_id in acs_objects be properly populated."/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="Syndicate" default="0" description="Should syndication data be stored when indexing for search."/>
</parameters>
</version>
</package>
@@ search-tables-create.sql
@@ search-packages-create.sql
@@ search-sc-create.sql
@@ syndication-create.sql
--
-- Search Observer
-- Copyright (C) 2005 MIT
--
-- This file is part of dotLRN.
--
-- dotLRN is free software; you can redistribute it and/or modify it under the
-- terms of the GNU General Public License as published by the Free Software
-- Foundation; either version 2 of the License, or (at your option) any later
-- version.
--
-- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY
-- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-- details.
--
create or replace package search_observer
as
--
-- Create database packages for .LRN site-wide search
--
-- @author <a href="mailto:openacs@dirkgomez.de">Dirk Gomez</a>
-- @version $Id$
-- @creation-date 13-May-2005
procedure enqueue (
object_id in search_observer_queue.object_id%TYPE,
event in search_observer_queue.event%TYPE
);
-- Partly ported from ACES.
procedure dequeue (
object_id in search_observer_queue.object_id%TYPE,
event_date in search_observer_queue.event_date%TYPE,
event in search_observer_queue.event%TYPE
);
-- The site_wide_search packages holds generally useful
-- PL/SQL procedures and functions.
create or replace package search_observer
as
procedure enqueue (
object_id acs_objects.object_id%TYPE,
event search_observer_queue.event%TYPE
);
procedure dequeue (
object_id acs_objects.object_id%TYPE, event
search_observer_queue.event%TYPE, event_date
search_observer_queue.event_date%TYPE
);
end search_observer;
/
show errors
create or replace package body search_observer
as
procedure enqueue (
object_id acs_objects.object_id%TYPE,
event search_observer_queue.event%TYPE
) is
begin
insert into search_observer_queue (
object_id,
event
) values (
enqueue.object_id,
enqueue.event
);
procedure enqueue (
object_id in search_observer_queue.object_id%TYPE,
event in search_observer_queue.event%TYPE
)
is
begin
insert
into search_observer_queue
(object_id, event)
values
(enqueue.object_id, enqueue.event);
end enqueue;
procedure dequeue (
object_id in search_observer_queue.object_id%TYPE,
event_date in search_observer_queue.event_date%TYPE,
event in search_observer_queue.event%TYPE
)
is
begin
delete
from search_observer_queue
where object_id = dequeue.object_id
and event = dequeue.event
and event_date = dequeue.event_date;
end dequeue;
end enqueue;
procedure dequeue (
object_id acs_objects.object_id%TYPE,
event search_observer_queue.event%TYPE,
event_date search_observer_queue.event_date%TYPE
) is
begin
delete from search_observer_queue
where object_id = dequeue.object_id
and event = dequeue.event
and to_char(dequeue.event_date,'yyyy-mm-dd hh24:mi:ss') = to_char(dequeue.event_date,'yyyy-mm-dd hh24:mi:ss');
end dequeue;
end search_observer;
/
show errors
--
-- Copyright (C) 2005 MIT
--
-- This file is part of dotLRN.
--
-- dotLRN is free software; you can redistribute it and/or modify it under the
-- terms of the GNU General Public License as published by the Free Software
-- Foundation; either version 2 of the License, or (at your option) any later
-- version.
--
-- dotLRN is distributed in the hope that it will be useful, but WITHOUT ANY
-- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-- details.
--
--
--
-- @author <a href="mailto:openacs@dirkgomez.de">openacs@dirkgomez.de</a>
-- @version $Id$
-- @creation-date 13-May-2005
--
-- Partly ported from ACES.
create table search_observer_queue (
object_id integer,
event_date date
......
\i search-tables-create.sql
\i search-packages-create.sql
\i search-sc-create.sql
\i syndication-create.sql
-- Search Observer Package
--
-- Search Observer
--
-- @cvs-id $Id$
create function search_observer__enqueue(integer,varchar)
create or replace function search_observer__enqueue(integer,varchar)
returns integer as '
declare
p_object_id alias for $1;
......@@ -20,8 +20,9 @@ begin
end;' language 'plpgsql';
select define_function_args('search_observer__enqueue','object_id,event');
create function search_observer__dequeue(integer,timestamptz,varchar)
create or replace function search_observer__dequeue(integer,timestamptz,varchar)
returns integer as '
declare
p_object_id alias for $1;
......@@ -37,3 +38,6 @@ begin
return 0;
end;' language 'plpgsql';
select define_function_args('search_observer__dequeue','object_id,event_date,event');
ad_schedule_proc -thread t [parameter::get_from_package_key -package_key search -parameter SearchIndexerInterval -default 60 ] search_indexer
namespace eval search {}
namespace eval search::init {}
nsv_set search_static_variables item_counter 0
ad_proc -private search::init::schedule_indexer {} {
Schedule the indexer if the search package has been instantiated (indexing doesn't work
if it hasn't been, so why should we schedule it?).
We use the uncached version of apm_package_id_from_key to avoid forcing the user to
restart their server after mounting search.
} {
set package_id [apm_package_id_from_key_mem search]
if { $package_id != 0 } {
ad_schedule_proc \
-thread t [parameter::get \
-package_id $package_id \
-parameter SearchIndexerInterval \
-default 60 ] \
search::indexer
}
}
search::init::schedule_indexer
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="search_indexer.search_observer_dequeue_entry">
<fullquery name="search::indexer.search_observer_queue_entry">
<querytext>
declare
begin
search_observer.dequeue(
object_id => :object_id,
event_date => :date,
event => :event
);
end;
select object_id, event_date, event
from search_observer_queue
where rownum < 100
order by event_date asc
</querytext>
</fullquery>
</queryset>
This diff is collapsed.
......@@ -2,7 +2,13 @@
<queryset>
<fullquery name="search_indexer.search_observer_queue_entry">
<fullquery name="search::queue.insert">
<querytext>
insert into search_observer_queue (object_id, event_date, event) values (:object_id, now(), :event)
</querytext>
</fullquery>
<fullquery name="search::indexer.search_observer_queue_entry">
<querytext>
select object_id, event_date, event
from search_observer_queue
......@@ -10,7 +16,7 @@
</querytext>
</fullquery>
<fullquery name="search_content_get.get_file_data">
<fullquery name="search::content_get.get_file_data">
<querytext>
select :content as content,
'file' as storage_type
......@@ -18,7 +24,7 @@
</querytext>
</fullquery>
<fullquery name="search_content_get.get_lob_data">
<fullquery name="search::content_get.get_lob_data">
<querytext>
select :content as content,
'lob' as storage_type
......
......@@ -2,24 +2,28 @@
<property name="title">#search.Advanced_Search#</property>
<property name="context">"advanced search"</property>
<div>
<form method=GET action=search>
<p>
<input type=text name=q size=41 maxlength=256 value="@q@">
<input type=submit value="Search" name=t>
<br>
#search.Date_Range#
<select name=dfs>
</p>
<p>
<label for="dfs">#search.Date_Range#</label>
<select id="dfs" name=dfs>
<option value=all> #search.anytime#
<option value=m3> #search.past_3_months#
<option value=m6> #search.past_6_months#
<option value=y1> #search.past_year#
</select>
#search.nbspDisplay#
<select name=num>
<label for="num">#search.nbspDisplay#</label>
<select id="num" name=num>
<option value=10 <if @num@ eq 10>#search.selected#</if>>10 #search.results#
<option value=20 <if @num@ eq 20>#search.selected#</if>>20 #search.results#
<option value=30 <if @num@ eq 30>#search.selected#</if>>30 #search.results#
<option value=50 <if @num@ eq 50>#search.selected#</if>>50 #search.results#
<option value=100 <if @num@ eq 100>#search.selected#</if>>100 #search.results#
</select>
</p>
</form>
</div>
......@@ -8,7 +8,7 @@ ad_page_contract {
set package_id [ad_conn package_id]
if { $num == 0 } {
set num [ad_parameter -package_id $package_id LimitDefault]
set num [parameter::get -package_id $package_id -parameter LimitDefault]
}
set title "Advanced Search"
......
<master>
<property name="title">#search.Search#</property>
<property name="context">#search.Search#</property>
<center>
<div style="text-align:center">
<form method=GET action=search>
<small>
<a href=advanced-search>#search.Advanced_Search#</a>
<br>
<div><small><a href=advanced-search>#search.Advanced_Search#</a></small></div>
<div>
<input type=text name=q size=80 maxlength=256>
<br>
<input type=submit value="#search.Search#" name=t>
<input type=submit value="#search.Feeling_Lucky#" name=t>
</small>
</div>
</form>
</center>
</div>
<master>
<property name="title">@page_title@</property>
<property name="context">@context;noquote@</property>
<form method=GET action=search>
<small>
<a href=@url_advanced_search@>#search.Advanced_Search#</a>
<br>
<input type=text name=q size=31 maxlength=256 value="@query@">
<input type=submit value="#search.Search#" name=t>
<input type=submit value="#search.Feeling_Lucky#" name=t>
</small>
</form>
<if @t@ eq "Search">
<i>#search.lt_Tip_In_most_browsers_#</i><br><br>
</if>
<property name="context">Results</property>
<if @empty_p@ true>
<p class="hint">#search.lt_You_must_specify_some#</p>
</if>
<else>
<if @and_queries_notice_p@ eq 1>
<font color=6f6f6f>
<font color="6f6f6f">
#search.The#
[<a href=help/basics#and>#search.details#</a>]<br>
</font>
</if>
<if @nstopwords@ eq 1>
<font color=6f6f6f>
<font color="6f6f6f">
#search.lt_bstopwordsb_is_a_very#
[<a href=help/basics#stopwords>#search.details#</a>]<br>
</font>
</if>
<if @nstopwords@ gt 1>
<font color=6f6f6f>
<font color="6f6f6f">
#search.lt_The_following_words_a# <b>@stopwords@</b>.
[<a href=help/basics#stopwords>#search.details#</a>]<br>
</font>
</if>
<multiple name="searchresult">
<if @searchresult.title_summary@ nil>
<a href=@searchresult.url_one@>#search.Untitled#</a><br>
</if>
<else>
<a href=@searchresult.url_one@>@searchresult.title_summary;noquote@</a><br>
</else>
<if @searchresult.txt_summary@ nil>
</if>
<else>
@searchresult.txt_summary;noquote@<br>
</else>
<font color=green>@searchresult.url_one@</font><br><br>
</multiple>
<if @count@ eq 0>
Your search - <b>@query@</b> - did not match any documents.
<if @count@ eq 0>
Your search - <b>@query@</b> - did not match any content.
<br>#search.lt_No_pages_were_found_c#<b>@query@</b>".
<br><br>#search.Suggestions#
<ul>
......@@ -60,56 +36,67 @@
<li>#search.Try_fewer_keywords#
</if>
</ul>
</if>
<else>
<table width=100% bgcolor=3366cc border=0 cellpadding=3 cellspacing=0>
<tr><td>
<font color=white>
#search.Searched_for_query#
</font>
</td><td align=right>
<font color=white>
#search.Results# <b>@low@-@high@</b> #search.of_about# <b>@count@</b>#search.________Search_took# <b>@elapsed@</b> #search.seconds#
</font>
</td></tr>
</table>
<br clear=all>
</else>
</if>
<else>
<div id="search-info">
<p class="subtitle">#search.Searched_for_query#</p>
<p class="times">
#search.Results# <strong>@low@-@high@</strong> #search.of_about# <strong>@count@</strong>#search.________Search_took# <strong>@elapsed@</strong> #search.seconds#
</p>
</div>
<div id="search-results">
<ol style="counter-reset:item @offset@">
<multiple name="searchresult">
<li>
<a href="@searchresult.url_one@" class="result-title">
<if @searchresult.title_summary@ nil>#search.Untitled#</if>
<else>@searchresult.title_summary;noquote@</else>
</a>
<if @searchresult.txt_summary@ not nil>
<div class="result-text">@searchresult.txt_summary;noquote@</div>
</if>
<div class="result-url">@searchresult.url_one@</div>
</li>
</multiple>
</ol>
</div>
</else>
<include src="/packages/search/lib/navbar" &="urlencoded_query"
paginator_class="list-paginator-bottom" count="@result.count@" &="low" &="high"
&="offset" &="num" &="search_package_id">
<if @from_result_page@ lt @to_result_page@>
<center>
<if @count@ gt 0>
<div style="text-align:center">
<form method="get" action="search">
<div>
<input type="text" name="q" size="60" maxlength="256" value="@query@">
<input type="submit" value="#search.Search#">
</div>
</form>
<if @t@ eq "Search">
<i>#search.lt_Tip_In_most_browsers_#</i>
</if>
</div>
<small>#search.Result_page#</small>
<if @stw@ not nil>
<p style="text-align:center;font-size=-1">#search.lt_Try_your_query_on_stw#</p>
</if>
</if>
</else>
<if @from_result_page@ lt @current_result_page@>
<small><a href=@url_previous@><font color=0000cc><b>#search.Previous#</b></font></a></small>
</if>
&nbsp;@choice_bar;noquote@&nbsp;
<if @current_result_page@ lt @to_result_page@>
<small><a href=@url_next@><font color=0000cc><b>#search.Next#</b></font></a></small>
</if>
</center>
<if @and_queries_notice_p@ eq 1>
<p class="hint">#search.and_not_needed# [<a href="help/basics#and">#search.details#</a>]</p>
</if>
<if @nstopwords@ eq 1>
<p class="hint">#search.lt_bstopwordsb_is_a_very# [<a href="help/basics#stopwords">#search.details#</a>]</p>
</if>
<if @nstopwords@ gt 1>
<p class="hint">#search.lt_The_following_words_a# [<a href="help/basics#stopwords">#search.details#</a>]</p>
</if>
<if @count@ gt 0>
<center>
<table border=0 cellpadding=3 cellspacing=0>
<tr><td nowrap>
<form method=GET action=search>
<center>
<small>
<input type=text name=q size=31 maxlength=256 value="@query@">
<input type=submit value=Search>
</small>
</center>
</form>
</td></tr>
</table>
</center>
<if @stw@ not nil>
<center>
<font size=-1>#search.lt_Try_your_query_on_stw#</font></center>
</center>
</if>
<if @debug_p@>
<p>#search.Searched_for_query#</p>
<p>#search.Results_count#</p>
</if>
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment