Gregor, the impl name has to be the same as the acs object_type of the items you want to index.
So the impl_name should be bboard_message.
One way to check if the items are being indexed is to check the search_observer_queue table. After you add the items to the queue, they should only stay in there for 30 secs or so until the indexer runs again. It is a scheduled proc.
You can also do a select count(*) from txt. This is the actual table that holds the index. The count will tell you how many items have been indexed.
Here are my service contract implementations for forums:
ad_library {
Forums Library - Search Service Contracts
@creation-date 2002-08-07
@author Dave Bauer
@cvs-id $Id:
}
namespace eval forum::message {
ad_proc datasource { message_id } {
@param message_id
@author dave@thedesignexperience.org
@creation_date 2002-08-07
returns a datasource for the search package
this is the content that will be indexed by the full text
search engine
} {
forum::message::get -message_id $message_id -array message
set datasource(object_id) $message(message_id)
set datasource(title) $message(subject)
set datasource(content) $message(content)
set datasource(keywords) ""
set datasource(storage_type) text
set datasource(mime) "text/html"
return [array get datasource]
}
ad_proc 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
} {
forum::message::get -message_id $message_id -array message
set forum_id $message(forum_id)
return "[ad_url][db_string select_forums_package_url {}]message-view?message_id=$message_id"
}
}