Index: openacs-4/packages/search/search.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/search/search.info,v
diff -u -N -r1.34.2.4 -r1.34.2.5
--- openacs-4/packages/search/search.info 17 Jul 2009 11:48:31 -0000 1.34.2.4
+++ openacs-4/packages/search/search.info 29 Jul 2009 22:21:38 -0000 1.34.2.5
@@ -21,6 +21,7 @@
+
Index: openacs-4/packages/search/tcl/apm-callback-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/search/tcl/apm-callback-procs.tcl,v
diff -u -N
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ openacs-4/packages/search/tcl/apm-callback-procs.tcl 29 Jul 2009 22:21:38 -0000 1.1.2.1
@@ -0,0 +1,13 @@
+namespace eval search {}
+namespace eval search::install {}
+
+ad_proc search::install::after_instantiate {
+ -package_id:required
+} {
+ Package after instantiation callback proc.
+
+ Schedule the indexer so the admin doesn't have to restart their server to get search
+ up and running after mounting it.
+} {
+ search::init::schedule_indexer
+}
Index: openacs-4/packages/search/tcl/search-init.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/search/tcl/search-init.tcl,v
diff -u -N -r1.10 -r1.10.2.1
--- openacs-4/packages/search/tcl/search-init.tcl 7 Jun 2008 20:29:01 -0000 1.10
+++ openacs-4/packages/search/tcl/search-init.tcl 29 Jul 2009 22:21:38 -0000 1.10.2.1
@@ -1,5 +1,26 @@
+namespace eval search {}
+namespace eval search::init {}
+
nsv_set search_static_variables item_counter 0
-ad_schedule_proc -thread t [parameter::get_from_package_key -package_key search -parameter SearchIndexerInterval -default 60 ] search::indexer
+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