Domino Code Fragment

Code Name*
Creating a Search Agent to Search the Internet
Date*
04/28/2024
Source (or email address if you prefer)*
Rlatulippe@romac.com
IP address:.18.218.218.230
Description*
Creating a Search Agent to Search the Internet
Type*
LotusScript
Categories*
(Misc)
Implementation:
Required Client:
Server:
Limitations:
Comments:
Files/Graphics attachments (if applicable): Code:
Exercise Title : Creating a Search Agent to Search the Internet

Where : Agent in R&D database

Solution :

Sub Initialize
    '-- For each Query document selected by the Agent :
    '-- This script will perform searches of Yahoo!'s site.
   
    '-- Get unprocessed document collection from Current Database
    Dim Session As New NotesSession
    Dim currentdb As NotesDatabase
    Set currentdb = Session.CurrentDatabase
    Dim webdoc As NotesDocument
   
    Dim unprocessed As NotesDocumentCollection
    Set unprocessed = currentdb.unprocesseddocuments    
   
     '-- Iterate through collection
    Dim doc As NotesDocument
    Set doc = unprocessed.getfirstdocument
   
    Do While Not (doc Is Nothing)
         
          '-- Process Yahoo Documents Only
         If doc.form(0) = "Yahoo Search" Then
             
         '-- Get the search string from the document
              Dim YahooQuery As String
              YahooQuery = doc.QueryText(0)
             
         '-- Yahoo! uses the plus character as the "And" operator.
         '-- Loop through and replace spaces with plus characters.

               Do While Instr(YahooQuery," ")
                   pos = Instr(YahooQuery," ")
                   YahooQuery = Left$(YahooQuery,pos - 1) + "+" + Right$(YahooQuery, Len(YahooQuery) - pos)
              Loop
             
             
                 '-- Perform the Full Text Search, returning the results
              u = "
http://av.yahoo.com/bin/query?p=" + YahooQuery
             
            '- Get the page
              Set webdoc = currentdb.getdocumentbyurl(u,True)
            '- Make the new document a response to the query document
              Call webdoc.MakeResponse(doc)
              Call webdoc.save(True,False)
             
         End If
         
          '-- Label the Query Document
         Call session.UpdateProcessedDoc(doc)
         
         '-- Get next document
         Set doc = unprocessed.getnextdocument(doc)
         
    Loop
   
End Sub