Forum OpenACS Q&A: Problems with searching ETP

Collapse
Posted by James Harris on
I have search working for weblogger and file storage but have problems whenever I try to enable the service contract for searching etp_page_revision (OACS 5.01 with PG).  Does anyone have this search working?

[12/Feb/2004:15:14:17][4185.5078027][-sched:24-] Warning: ACS-SC: Function Not Found: AcsSc.ftscontentprovider.datasource.etp_page_revision
[12/Feb/2004:15:14:17][4185.5078027][-sched:24-] Error: can't read "datasource(content)": no such element in array
can't read "datasource(content)": no such element in array
    while executing
"search_content_get txt $datasource(content) $datasource(mime) $datasource(storage_type)"
    ("INSERT" arm line 5)
    invoked from within
"switch $event {
            INSERT {
                set object_type [acs_object_type $object_id]
                if {[acs_sc_binding_exists_p FtsCont..."
    ("uplevel" body line 3)
    invoked from within
"uplevel 1 $code_block "
    ("1" arm line 1)
    invoked from within
"switch $errno {
                0 {
                    # TCL_OK
                }
                1 {
                    # TCL_ERROR
              ..."
    ("while" body line 20)
    invoked from within
"while { [db_getrow $db $selection] } {
            incr counter
            if { [info exists array_val] } {
                unset array_val
        ..."
    ("uplevel" body line 5)
    invoked from within
"uplevel 1 $code_block "
    invoked from within
"db_with_handle -dbn $dbn db {
        set selection [db_exec select $db $full_statement_name $sql]

        set counter 0
        while { [db_getrow $..."
    (procedure "db_foreach" line 36)
    invoked from within
"db_foreach search_observer_queue_entry {} {

        switch $event {
            INSERT {
                set object_type [acs_object_type $object_id]..."
    (procedure "search_indexer" line 9)
    invoked from within
"search_indexer"
    ("eval" body line 1)
    invoked from within
"eval [concat [list $proc] $args]"
    (procedure "ad_run_scheduled_proc" line 42)
    invoked from within
"ad_run_scheduled_proc {t f 30 search_indexer {} 1076503524 0 f}"

Collapse
Posted by Caroline Meeks on
Hi James,

Any luck? I'm also trying to get search working with ETP. I'm not seeing your error but I'm not seeing any content either. :/

Caroline

Collapse
Posted by Caroline Meeks on
You were a step ahead of me. After following the instructions in this thread

https://openacs.org/forums/message-view?message_id=154759

and running this query

insert into search_observer_queue(select revision_id, current_timestamp,\
'INSERT' from cr_revisions r,cr_items i where r.item_id=i.item_id and i.content_ty\
pe='etp_page_revision' and r.revision_id = i.live_revision);
INSERT 0 42

I now have the same error you do.

Collapse
Posted by James Harris on
No Caroline, I haven't had any luck fixing the problem and have uninstalled the etp_page_revision search service contract on my site.  I'm keen to get it working again if anyone with a deeper understanding of OACS can help.
Collapse
Posted by Dave Bauer on
Can you search the API-DOC for this procedure? Use the search box on the right hand side and see if there are any results. You'll have to have the implementation installed for the proc to be created.

It should return a private result so you'll need to click "Show" to see the private procedures.

There should be a tcl procedure called
AcsSc.ftscontentprovider.datasource.etp_page_revision

Make sure you restart aolserver after you install the service contract binding, the tcl procedures for the bindings are created on startup.

Collapse
Posted by James Harris on
I just reinstalled the contract and it now works!  I'm sure I'd tried doing it three or four times previously with no luck but I'm certainly not complaining.

Dave, the tcl procedure was listed once I had reinstalled.  Thanks.