Index: openacs-4/packages/forums/forums.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/forums.info,v
diff -u -r1.56.2.8 -r1.56.2.9
--- openacs-4/packages/forums/forums.info	11 Mar 2020 19:50:53 -0000	1.56.2.8
+++ openacs-4/packages/forums/forums.info	7 May 2020 08:34:04 -0000	1.56.2.9
@@ -9,7 +9,7 @@
     <implements-subsite-p>f</implements-subsite-p>
     <inherit-templates-p>t</inherit-templates-p>
 
-    <version name="1.3.1d17" url="http://openacs.org/repository/download/apm/forums-1.3.1d17.apm">
+    <version name="1.3.1d18" url="http://openacs.org/repository/download/apm/forums-1.3.1d18.apm">
         <owner url="http://openacs.org">OpenACS</owner>
         <summary>Online discussion forums.</summary>
         <release-date>2017-08-06</release-date>
@@ -19,7 +19,7 @@
         <maturity>2</maturity>
         <package_instance_name>#forums.Forums#</package_instance_name>
 
-        <provides url="forums" version="1.3.1d17"/>
+        <provides url="forums" version="1.3.1d18"/>
         <requires url="acs-kernel" version="5.9.1"/>
         <requires url="acs-tcl" version="5.10.0d24"/>
         <requires url="acs-mail-lite" version="5.9.1"/>
Index: openacs-4/packages/forums/tcl/forums-install-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forums-install-procs.tcl,v
diff -u -r1.10 -r1.10.2.1
--- openacs-4/packages/forums/tcl/forums-install-procs.tcl	7 Aug 2017 23:48:11 -0000	1.10
+++ openacs-4/packages/forums/tcl/forums-install-procs.tcl	7 May 2020 08:34:04 -0000	1.10.2.1
@@ -11,13 +11,19 @@
 ad_proc -private forum::install::package_install {} { 
     package install callback
 } {
-    forum::sc::register_implementations
+    # Since before 5.5, search is implemented using callbacks. New
+    # installations will not register search service contract
+    # implementations. See forums-callback-procs.
+    # forum::sc::register_implementations
 }
 
 ad_proc -private forum::install::package_uninstall {} { 
     package uninstall callback
 } {
-    forum::sc::unregister_implementations
+    # Since before 5.5, search is implemented using callbacks. New
+    # installations will not register search service contract
+    # implementations. See forums-callback-procs.
+    # forum::sc::unregister_implementations
 }
 
 ad_proc -private forum::install::package_upgrade {
@@ -34,6 +40,11 @@
                 # just need to install the forum_forum callback
                 forum::sc::register_forum_fts_impl
             }
+            1.3.1d17 1.3.1d18 {
+                # Unregister search service contract implementation
+                # and rely on callbacks from now on.
+                forum::sc::unregister_implementations
+            }
         }
 }
 
Index: openacs-4/packages/forums/tcl/forums-sc-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/forums/tcl/forums-sc-procs.tcl,v
diff -u -r1.17 -r1.17.2.1
--- openacs-4/packages/forums/tcl/forums-sc-procs.tcl	3 Nov 2018 19:49:29 -0000	1.17
+++ openacs-4/packages/forums/tcl/forums-sc-procs.tcl	7 May 2020 08:34:04 -0000	1.17.2.1
@@ -13,7 +13,7 @@
 
 namespace eval forum::message {}
 
-ad_proc -private forum::message::datasource { message_id } {
+ad_proc -private -deprecated forum::message::datasource { message_id } {
     @param message_id
     @author dave@thedesignexperience.org
     @creation-date 2002-08-07
@@ -25,6 +25,9 @@
     We expect message_id to be a root message of a thread only, 
     and return the text of all the messages below
 
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
 } {
 
     # If there is no connection than this proc is called from the
@@ -73,13 +76,16 @@
     ns_log Notice "forum::message::datasource end"
 }
 
-ad_proc -private forum::message::url { message_id } {
+ad_proc -private -deprecated forum::message::url { message_id } {
     @param message_id
     @author dave@thedesignexperience.org
     @creation-date 2002-08-07
 
     returns a URL for a message to the search package
 
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
 } {
     forum::message::get -message_id $message_id -array message
     set forum_id $message(forum_id)
@@ -92,7 +98,7 @@
 
 namespace eval forum::forum {}
 
-ad_proc -private forum::forum::datasource {
+ad_proc -private -deprecated forum::forum::datasource {
     forum_id
 } {
     Datasource for the FtsContentProvider contract.
@@ -101,6 +107,10 @@
 
     @author Jeff Davis davis@xarg.net
     @creation-date 2004-04-01
+
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
 } {
     if {![db_0or1row datasource {
         select
@@ -119,7 +129,7 @@
     return [array get datasource]
 }
 
-ad_proc -private forum::forum::url { 
+ad_proc -private -deprecated forum::forum::url { 
     forum_id
 } {
     url method for the FtsContentProvider contract
@@ -128,6 +138,10 @@
 
     @author Jeff Davis davis@xarg.net
     @creation-date 2004-04-01
+
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
 } {
 
      return "[db_string select_forums_package_url {}]forum-view?forum_id=$forum_id"
@@ -136,23 +150,35 @@
 
 namespace eval forum::sc {}
 
-ad_proc -private forum::sc::register_implementations {} {
+ad_proc -private -deprecated forum::sc::register_implementations {} {
     Register the forum_forum and forum_message content type fts contract
+
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
 } {
     db_transaction {
         forum::sc::register_forum_fts_impl
         forum::sc::register_message_fts_impl
     }
 }
 
-ad_proc -private forum::sc::unregister_implementations {} {
+ad_proc -private -deprecated forum::sc::unregister_implementations {} {
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
+} {
     db_transaction { 
-        acs_sc::impl::delete -contract_name FtsContentProvider -impl_name forum_message
-        acs_sc::impl::delete -contract_name FtsContentProvider -impl_name forum_forum
+        acs_sc::impl::delete -contract_name FtsContentProvider -impl_name forums_message
+        acs_sc::impl::delete -contract_name FtsContentProvider -impl_name forums_forum
     }
 }
 
-ad_proc -private forum::sc::register_forum_fts_impl {} {
+ad_proc -private -deprecated forum::sc::register_forum_fts_impl {} {
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
+} {
     set spec {
         name "forums_forum"
         aliases {
@@ -167,7 +193,11 @@
 }
 
 
-ad_proc -private forum::sc::register_message_fts_impl {} {
+ad_proc -private -deprecated forum::sc::register_message_fts_impl {} {
+    DEPRECATED: search is implemented using callbacks now.
+
+    @see forums-callback-procs.tcl
+} {
     set spec {
         name "forums_message"
         aliases {