Archive of UserLand's first discussion group, started October 5, 1998.

Make your DG searchable

Author:Lixian B. Chiu
Posted:4/9/1999; 11:27:41 AM
Topic:Make your DG searchable
Msg #:4919
Prev/Next:4918 / 4920

Steps to make make Frontier 6 index your discussion group message:

1) In your user.databases table, you need to make an entry for htmlInterfaces.root (NOT disucss.root), and under this new user.databases.["htmlInterfaces.root"] table, put a boolean object "supportsIndexing" and make it true.

So, simply put, you need to set a boolean object user.databases.["#htmlInterfaces.root"].supportsIndexing to true.

2) set config.mainResponder.prefs.flSearchEngine to true

3) in your discussion group's message table (the one inside discuss.root), put the address of your msgReader object into ["xxx:yyy:discuss.root"].["your discussion group's name"].prefs.adrMsgReader, for example, on my discuss.root, I have:

discuss.prefs.adrMsgReader = @["Earth:Frontier 6.0:Guest Databases:www:htmlInterfaces.root"].discussionGroup.msgReader

4) empty your root.websites.["#data"] table

5) in your htmlInterfaces.root,

discussionGroup.["#search"].siteURL -> change to your site's url, mine is http://localhost/discussionGroup/

discussionGroup.["#ftpSite"].url -> change to your discussion site's url, mine is localhost/discussionGroup/

discussionGroup.["#ftpSite"].folder -> delete it

That's almost all you need to do. After you performed all these steps, try submit a message, and then go to your config.mainResponder.data.searchQueue, you will find your message is waiting to be indexed. If you want to see the actual indexing, go to user.scheduler, move the entry "searchEngine" from hourly to everyMinute.

You must notice that I said "almost". Yes, you only get 99% of it working. It does index your message, but the url of the message is wrong. To correct this, you need to go into mainResponder.search.client.indexPage, then look for this line:

else <    if searchTable.title == nil

      searchTable.title = adrDgMsg^.subject

   pageText = string (adrDgMsg^.body)

You need to add one more line after this code segment, and make it:

else <    if searchTable.title == nil

      searchTable.title = adrDgMsg^.subject

   pageText = string (adrDgMsg^.body)

   searchTable.url = searchTable.url + "$" + number (nameOf (adrDgMsg^))




There are responses to this message:


This page was archived on 6/13/2001; 4:49:17 PM.

© Copyright 1998-2001 UserLand Software, Inc.