This database is designed so you can easily access the Internet right from your Notes workstation and store Web pages in your own Personal Web Navigator database.
Getting started viewing and searching pages
To browse a page, click
?_?__
`!b`1
7`^///?
?b___
`bOOO
`<b!R
*.BMP
CGM Imag
;*.WR1;*.WRK;*.W
which brings up your home page specified in Internet Options. You can enter new URL's for other Web pages in the search bar. You can save the page in the All Bookmarks view to read later by clicking the Add Bookmark... button. We have also included some of our favorite Web pages in the All Bookmarks view, which you can display by switching to the All Bookmarks view and selecting a page.
If you want to search for information in pages stored in the Personal Web Navigator database, you can search the database using full text search as you would any other Notes database. See online Help (Help4.nsf) for information on using full text search.
To use an Internet search engine, such as CNet, to search all available pages on the Internet, click
?_?__
`!b`1
7`^///?
?b___
`bOOO
`<b!R
922 2EDFA3BC D$S
*.BMP
CGM Imag
and enter your search criteria.
You can change the default Internet search engine as well as other Personal Web Navigator settings in the Internet Options document. To access this document, choose Actions - Internet Options when you are using the Personal Web Navigator database.
Using the Personal Web Navigator views
The Personal Web Navigator database contains the following views:
Favorites and Bookmarks
Displays pages for which you created bookmarks and also pages that you added to the Favorites folder.
Web Bots
Web Ahead
Notes launches a background agent, which you enable, called Web Ahead that runs on each of the pages stored in this folder. This agent retrieves all the Web pages specified by the URLs on a particular Web page and saves all the resulting Web pages in your database for you to read later. You can set the agent to retrieve the URLs several levels down from the page you specify.
Page Minder
Notes launches a background
agent
, which you enable, called Page Minder that monitors each of the Web pages stored in this folder and notifies you when the contents of that page change.
All Bookmarks
Lets you quickly view your favorite pages. You can create bookmarks for pages stored in the Personal Web Navigator database as well as pages that you access frequently on the Web.
All Pages
Displays all pages stored in the Personal Web Navigator database. You can browse these pages even when you are disconnected from the network.
Other
File Archive
Displays a list of files downloaded from Web pages, sorted in alphabetical order by file size.
House Cleaning
Displays a list of documents, sorted in ascending order by document size.
Use these views to reduce the number of documents in the database based on document or file size.
Getting more information
This is just a brief summary of the features you may want to use in the Personal Web Navigator database. For additional information,
'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Click(Source As Button)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As BUTTON
Set Source = Bind(Objectname_)
On Event Click From Source Call Click
End Sub
'++LotusScript Development Environment:2:2:Click:1:12
Msgbox "Unable to locate the Notes Help Database", 16, "Error"
End If
End Sub
click the following help icon:
60606
@ @@ @` @
@@ @@@@@`@@
`@ `@@`@``@
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$INFO
$BODY
Times New Roman
&Arial
About Personal
Web Navigator 4.6
Welcome to the Personal Web Navigator database. The Personal Web Navigator database allows you to access the Internet directly from your Notes workstation. This database acts as a repository for Web pages and files that have been downloaded so you can easily organize your pages and browse them when you are disconnected from the network. It also acts as an easy entry point for exploring the Internet. This version of the Personal Web Navigator database allows you to make use of the integrated Notes with Internet Explorer option to view pages using Internet Explorer while keeping all of the powerful functionality of Notes.
Choose "Using This Database" from the Help menu for information on using this database.
SearchURLEnter the URL of a specific search engine you want to associate with the Search button.
Search options:
Page Minder agent preferences:
Web Ahead agent preferences:
ReduceDaysChoose how you want Notes to purge the database.
Reduce full pages to links if not read within:|0Remove pages from database if not read in:|1Disable|2
ReduceSizeSpecify that Notes should warn you by displaying a message box when the database exceeds a certain size.
Warn me when the database exceeds:|1
Web Ahead
0S0E
Web Ahead
0S0E
0R4S
Enabled Background Agents
You have just enabled a background agent on your Notes workstation. Please make sure that you have enabled background agents in your Notes preferences by choosing File - Tools - User Preferences and selecting Enable scheduled local agents.
0R6S
Enable Web Ahead
Page Minder
0S0E
Page Minder
0S0E
0R4S
Enabled Background Agents
You have just enabled a background agent on your Notes workstation. Please make sure that you have enabled background agents in your Notes preferences by choosing File - Tools - User Preferences and selecting Enable scheduled local agents.
0R6S
Enable Page Minder
SaveHTMLCheck to save the source HTML text in the HTMLSource field in the Notes document.
Save HTML in Note?|1
Home Page:
SendMailTo
SendMailTo
1S2S3S10S11S
0S0E
Address...
Page Minder
0S0E
Page Minder
0S0E
Disable Page Minder
Web Ahead
0S0E
Web Ahead
0S0E
Disable Web Ahead
0S0E
WebServerPlease enter the name of the InterNotes Server which you would like to share web pages with
Housekeeping
reducedays
0S0E
Housekeeping
0S0E
Disable Housekeeping
Housekeeping
reducedays
0S0E
Housekeeping
0S0E
Enable Housekeeping
0S0E
KeepPage
Automatically store pages for disconnected use|0Manually store pages for disconnected use|1
$Script1
Categori_zeK
_Edit Document
Send Docu_ment
_Forward
_Move To Folder...
_Remove From FolderK
Close
0S0E
Save
0S0E
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
$TITLE
$INFO
$WINDOWTITLE
$Script
$$Script_O
$$ScriptName
$$FormScript
$$$FormScript_O
$$StartUpOptions
$StartUpOptions_O
$$OpenURL
$OpenURL_O
$$ScanAhead
$ScanAhead_O
$$PreferredSearchEngine
$PreferredSearchEngine_O
$$$Script1
$$Script1_O
$BODY
$ACTIONS
Categori_ze0
_Edit Document
Send Docu_ment
_Forward
_Move To Folder...
_Remove From Folder
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
ML(_}
$TITLE
$Index
$Formula
$FormulaClass
$VIEWFORMAT
$Comment
$ACTIONS
Categori_zeK
_Edit Document
Send Docu_ment
_Forward
_Move to Folder...
_Remove from Folder...
Browse'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Click(Source As Button)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As BUTTON
Set Source = Bind(Objectname_)
On Event Click From Source Call Click
End Sub
'++LotusScript Development Environment:2:2:Click:1:12
Sub Click(Source As Button)
Browse
End Sub
Delete'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Click(Source As Button)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As BUTTON
Set Source = Bind(Objectname_)
On Event Click From Source Call Click
End Sub
'++LotusScript Development Environment:2:2:Click:1:12
Sub Click(Source As Button)
ViewDelete
End Sub
Print...'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Click(Source As Button)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As BUTTON
Set Source = Bind(Objectname_)
On Event Click From Source Call Click
End Sub
'++LotusScript Development Environment:2:2:Click:1:12
Sub Click(Source As Button)
PrintWebDocument
End Sub
Forward...'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Click(Source As Button)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As BUTTON
Set Source = Bind(Objectname_)
On Event Click From Source Call Click
End Sub
'++LotusScript Development Environment:2:2:Click:1:12
Sub Click(Source As Button)
Dim docLocal As NotesDocument
Dim docCollection As NotesDocumentCollection
Set docCollection = db.UnprocessedDocuments
If (docCollection.Count = 0) Then
Msgbox "You must select a document.",16,"Error"
Exit Sub
Else
For j = 1 To docCollection.Count
Set docLocal = docCollection.getnthdocument(j)
If (w.dialogbox ("Forward", True, True, False, False, False, False, " Forward Options", docLocal)) Then
'++LotusScript Development Environment:2:2:ReduceOneDocumentToLink:1:8
Sub ReduceOneDocumentToLink
Print "Reducing pages that have not been read for " & docprofile.ReduceNumDays(0) & " days..."
doc.RemoveItem "Body"
doc.RemoveItem "HTMLSouce"
doc.RemoveItem "HTMLBody"
doc.RemoveItem "$Background"
doc.RemoveItem "$FILE"
doc.RemoveItem "URLLinks1"
doc.RemoveItem "WebAheadStatus"
doc.RemoveItem "WebAgentError"
doc.RemoveItem "PageMinderStatus"
doc.Save True,True
End Sub
'++LotusScript Development Environment:2:2:Queryclose:1:12
Sub Queryclose(Source As Notesuidatabase, Continue As Variant)
End Sub
x x $
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
&5vZn
$DBScript
$DBScript_O
$TITLE
$Flags
$PublicAccess
ShareWebPage
SharedOptions
1S2S
This Web page will be copied to the following Web Navigator database (the location of the Web Navigator database can be changed by choosing Actions - Internet Options from the menu)
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
Rating
SharedOptions
3S4S5S6S
Rating
Rating
Rating
SharedOptions
1S2S
Title
Title
Poor < ------------------------------ > Great!
contentSelect category from list that best describes contents of this document
'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Beforenavigate(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Cancel As Integer)
Declare Sub Navigatecomplete(Source As Webbrowser, Url As String)
Declare Sub Framebeforenavigate(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Cancel As Integer)
Declare Sub Framenavigatecomplete(Source As Webbrowser, Url As String)
Declare Sub Framenewwindow(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Processed As Integer)
Declare Sub Downloadbegin(Source As Webbrowser)
Declare Sub Downloadcomplete(Source As Webbrowser)
Declare Sub Progresschange(Source As Webbrowser, Progress As Long, Progressmax As Long)
Declare Sub Titlechange(Source As Webbrowser, Text As String)
Declare Sub Statustextchange(Source As Webbrowser, Text As String)
Declare Sub Initialize
Declare Sub Newwindow(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Processed As Integer)
'++LotusScript Development Environment:2:5:(Declarations):0:10
Dim WebDatabase As notesdatabase
Dim datadoc As notesdocument
Dim Session As notessession
Dim DocNoteID As notesdocument
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As WEBBROWSER
Set Source = Bind(Objectname_)
On Event Beforenavigate From Source Call Beforenavigate
On Event Navigatecomplete From Source Call Navigatecomplete
On Event Framebeforenavigate From Source Call Framebeforenavigate
On Event Framenavigatecomplete From Source Call Framenavigatecomplete
On Event Framenewwindow From Source Call Framenewwindow
On Event Downloadbegin From Source Call Downloadbegin
On Event Downloadcomplete From Source Call Downloadcomplete
On Event Progresschange From Source Call Progresschange
On Event Titlechange From Source Call Titlechange
On Event Statustextchange From Source Call Statustextchange
On Event Newwindow From Source Call Newwindow
End Sub
'++LotusScript Development Environment:2:2:Beforenavigate:1:12
Sub Beforenavigate(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Cancel As Integer)
' A navigation has requested a new window be opened
' we'll take care of everything and tell the caller we opened a new window
' otherwise the IE application starts up in a new window
Print "Error: Accessing web browser control ErrOLEException("& Err & ")"
Resume Next
End Sub
'++LotusScript Development Environment:2:2:Framebeforenavigate:1:12
Sub Framebeforenavigate(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Cancel As Integer)
End Sub
'++LotusScript Development Environment:2:2:Framenavigatecomplete:1:12
Sub Framenavigatecomplete(Source As Webbrowser, Url As String)
End Sub
'++LotusScript Development Environment:2:2:Framenewwindow:1:12
Sub Framenewwindow(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Processed As Integer)
' A navigation has requested a new window be opened
' we'll take care of everything and tell the caller we opened a new window
' otherwise the IE application starts up in a new window
'++LotusScript Development Environment:2:2:Downloadbegin:1:12
Sub Downloadbegin(Source As Webbrowser)
' Start Animation...
uidoc.Navbarspinnerstart
End Sub
'++LotusScript Development Environment:2:2:Downloadcomplete:1:12
Sub Downloadcomplete(Source As Webbrowser)
' Stop Animation...
uidoc.Navbarspinnerstop
End Sub
'++LotusScript Development Environment:2:2:Progresschange:1:12
Sub Progresschange(Source As Webbrowser, Progress As Long, Progressmax As Long)
Dim percent As Long
If progress = -1 Then
Print " Done"
Else
If ProgressMax > 0 Then
percent = (Progress * 100) / Progressmax
If percent > 0 Then
Print " " & percent & " % complete"
End If
Else
If progress >0 Then
Print " " & progress & " bytes read"
End If
End If
End If
End Sub
'++LotusScript Development Environment:2:2:Titlechange:1:12
Sub Titlechange(Source As Webbrowser, Text As String)
Dim NavBarURL As String
' Ask the browser object for the current URL
NavBarURL = browserobject.LocationURL
' Set the Text in the Nav bar and the window title
uidoc.NavBarSetText NavBarURL, Text
End Sub
'++LotusScript Development Environment:2:2:Statustextchange:1:12
Sub Statustextchange(Source As Webbrowser, Text As String)
Print " " & Text
End Sub
'++LotusScript Development Environment:2:2:Initialize:1:10
Sub Initialize
'*
'* Initialize Variables and declare local variables
'*
Dim InterNetProfile As Notesdocument
Dim ProfileView As notesview
Dim URL As Variant
Set Session = New NotesSession
Set WebDatabase = Session.CurrentDatabase
End Sub
'++LotusScript Development Environment:2:2:Newwindow:1:12
Sub Newwindow(Source As Webbrowser, Url As String, Flags As Long, Targetframename As String, Postdata As Variant, Headers As String, Processed As Integer)
'
' A navigation has requested a new window be opened
' we'll take care of everything and tell the caller we opened a new window
' otherwise the IE application starts up in a new window
'remove any remaining fields that don't need to be carried around
docLocal.RemoveItem "ForwardOptions"
docLocal.save True, False
End If
Exit Sub
Next
End If
Exit Sub
End Sub
'++LotusScript Development Environment:2:5:(Options):0:74
Option Public
Use "InternetFunctions"
'++LotusScript Development Environment:2:5:(Forward):0:1
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:5:(Options):0:66
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Postopen(Source As Notesuiview)
Declare Sub Queryaddtofolder(Source As Notesuiview, Target As Variant, Continue As Variant)
'++LotusScript Development Environment:2:5:(Declarations):0:2
'++LotusScript Development Environment:2:2:BindEvents:1:129
Private Sub BindEvents(Byval Objectname_ As String)
Static Source As NOTESUIVIEW
Set Source = Bind(Objectname_)
On Event Postopen From Source Call Postopen
On Event Queryaddtofolder From Source Call Queryaddtofolder
End Sub
'++LotusScript Development Environment:2:2:Postopen:1:12
Sub Postopen(Source As Notesuiview)
InstantiateObjects
End Sub
'++LotusScript Development Environment:2:2:Queryaddtofolder:1:12
Sub Queryaddtofolder(Source As Notesuiview, Target As Variant, Continue As Variant)
Call MoveToFolder(source,target,continue)
End Sub
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
"x]&c
$SCRIPTOBJ_14
$TITLE
$Name
$Index
$Formula
$FormulaClass
$VIEWFORMAT
$FormFormula
$Comment
$ACTIONS
$SCRIPTOBJ_0
$SCRIPTOBJ_1
$SCRIPTOBJ_2
$SCRIPTOBJ_4
$SCRIPTOBJ_11
$SCRIPTOBJ_12
$SCRIPTOBJ_13
$ViewGlobalScript
$ViewGlobalScript_O
$ViewScript
$ViewScript_O
HelpForm
Title
O=Lotus Notes
O=Lotus Notes
PURSAFO
|.:#U
O=Lotus Notes
CN=Lotus Notes Template Development/O=Lotus Notes
PURSAFO
Fde!f^^
Kb4ayB
$TITLE
$INFO
$$ScriptName
$BODY
'++LotusScript Development Environment:2:5:(Options):0:74
Option Base 1
Use "AgentFunctions"
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub Initialize
Declare Sub WormThePage(URLToWorm As Variant)
Declare Sub ProcessURLField
Declare Sub RetrievePages(y As Integer)
Declare Sub CheckPage(urltocheck As String, y As Integer)
Declare Function OKToRetrieve(checkurl As String, ArraySizeOK As Integer) As Integer
Declare Function OKToGetPerRobots( url As Variant ) As Integer
Declare Sub FetchRobotsFile(url As Variant, currentdomain As String)
'++LotusScript Development Environment:2:5:(Declarations):0:10
Dim LevelsToWorm As Variant
Dim WebAheadAuthentication As Variant
Dim PageToCrawl As notesdocument
Dim NextPageToCrawl As notesdocument
Dim URLTextList() As String
Dim URLListIndex As Integer
Dim pages_to_worm () As String 'list of pages that links need to be retrieved from
Dim ptw As Integer
Dim next_pages_to_worm () As String 'list of pages to retrieve in the next level pass
Dim nptw As Integer
Dim pages_retrieved ()As String 'list of pages that have already been retrieved for this session
Dim pr As Integer
Dim pages_wormed () As String 'list of pages that have already been processed in this session
Dim pw As Integer
Dim CurrentPageRetrieved As notesdocument
Dim ArraySizeOK As Integer
Dim WebAheadAgent As notesagent
'++LotusScript Development Environment:2:2:Initialize:1:10
Sub Initialize
'*
'* Initialize Variables and declare local variables
'*
Dim InterNetProfile As Notesdocument
Dim ProfileView As notesview
Dim WebAheadFolder As notesview
Dim URL As Variant
'*
'* Initialize Variables
'*
ArraySizeOK = True
pw=1
nptw=1
pr=1
ptw=1
Redim pages_to_worm(ptw)
Redim Next_Pages_to_worm(nptw)
Redim pages_retrieved(pr)
Redim pages_wormed(pw)
InstantiateAgentObjects
Set WebDatabase = Session.CurrentDatabase
Set WebAheadAgent = Session.currentagent
'*
'* Open/Create the Agent Error Log on the client.
'*
Set AgentLog = OpenLog(WebAheadAgent.name)
If LogLocation = "Agent Log" Then agentLog.LogErrors = True
Call logaction( "Starting Web Ahead agent.....")
'*
'* First check to see if the current location settings are set for local retrievals.
'*
If WebLocationOK Then
If Not ( WebDatabase Is Nothing) Then
Set datadoc = Session.SavedData
If (DataDoc Is Nothing) Then
Set DataDoc = New Notesdocument (WebDatabase)
End If
Else
Call logerror(1, "Unable to open Web Database.")
Goto cleanup
End If
If View Is Nothing Then
Call logerror(4, "Profile View does not exist. Please replace the design of " +WebDatabase.Title+" with Personal Web Navigator 4.6 template.")
Goto cleanup
End If
If docProfile Is Nothing Then
Call logerror(4, "No profile document, please select Actions - Internet Options and save the document. ")
Goto cleanup
End If
'*
'* Retrieving pertinent values from the
'* Internet Profile.
'*
LevelsToWorm = docProfile.ScanAhead
If LevelsToWorm(0) = "" Then
'Number of levels to Web Ahead not specified, assuming 1.
LevelsToWorm(0) = "1"
End If
'*
'* The following lines instantiate the WebAhead folder and
'* perform the worming of the pages.
'*
Set WebAheadFolder = WebDatabase.GetView("Web Bots\Web Ahead")
If (WebAheadFolder Is Nothing) Then
Call logerror(2, "Could not find Web Ahead Folder. Please replace the design of " +WebDatabase.Title+" with Personal Web Navigator 4.5 and rerun the Web Ahead agent.")
Goto cleanup
End If
Set PageToCrawl = WebAheadFolder.GetfirstDocument
If (PageToCrawl Is Nothing) Then
logaction( "No documents were found to retrieve links from. Web Ahead Agent successfully finished.")
Goto cleanup
Else
'*
'* The while loop retrieves all links off the pages in the Web Ahead folder for every level specified.
'*
While Not (PageToCrawl Is Nothing)
If PageToCrawl.form(0) = "HelpForm" Goto Nextdocument
Using Page Minder: Keeping track of changes to Web pages (Personal Web Navigator)
You can run a background agent called Page Minder that closely watches a particular Web page and notifies you when the contents of that page change.
Note
Page Minder only runs while your Notes workstation is running.
Enabling the Page Minder agent
To enable the Page Minder agent (you only need to do this once):
1. Choose File - Tools - User Preferences and select "Enable scheduled local agents."
2. Open the Personal Web Navigator database and choose Actions - Internet Options.
3. Click the Enable Page Minder button next to the agent.
4. In the "Choose Server To Run On" dialog box, choose Local and click OK. (This dialog box only appears if you have not yet enabled the agent in this database.)
Running the Page Minder agent
To run Page Minder on a Web page:
1. Choose Actions - Internet Options.
2. In the Page Minder agent preferences section, fill out these fields:
Search for updates every -- Choose how often you want the agent to check to see if the page contents have changed. You can choose Hour, 4 Hours, Day, or Week.
When updates are found -- Specify how you want to be alerted that the page changed. Choose "Send me a summary" to send a message notifying you that the page has changed. Choose "Send me the actual page" to send the newly updated Web page.
Send to -- Specify the name of the person to alert when the page content changes.
3. Exit and save your changes.
4. Select any Web page and drag it into the Page Minder folder.
The Page Minder agent runs based on the times you selected in the Internet Options document.
Note
You can run the Page Minder agent on pages from authenticated servers where you are required to supply a username and password before you can gain access to the page. Similarly, you can run the agent through an authenticated proxy server where you have to supply a username and password to gain access to the Internet. As long as you have successfully retrieved the page during your current Notes session, Notes stores your username and password in a field on the Web page and pulls it from there when it runs the agent. For security purposes, if you run this agent on authenticated servers or through authenticated proxy servers, you should encrypt your database so that the field is not visible to others.
Using Web Ahead: Automatically following links on Web pages (Personal Web Navigator)
Web pages usually contain URLs that point to other Web pages. You can run a background agent called Web Ahead that retrieves all the Web pages specified by the URLs on a particular Web page and saves all the resulting Web pages in your database for you to read later. You can set the agent to retrieve the URLs several levels down from the page you specify.
Note
Web Ahead only runs while your Notes workstation is running.
Enabling the Web Ahead agent
To enable the Web Ahead agent (you only need to do this once):
1. Choose File - Tools - User Preferences and select "Enable scheduled local agents."
2. Open the Personal Web Navigator database and choose Actions - Internet Options.
3. Click the Enable Web Ahead button next to the agent.
4. In the "Choose Server To Run On" dialog box, choose Local and click OK. (This dialog box only appears if you have not yet enabled the agent in this database.)
Running the Web Ahead agent
To run Web Ahead on a Web page:
1. Choose Actions - Internet Options.
2. In the Web Ahead agent preferences section, enter the number of levels of pages you want the agent to retrieve.
3. Exit and save your changes.
4. Select any Web page and drag it into the Web Ahead folder.
The Web Ahead agent runs every half hour.
Note
You can run the Web Ahead agent on pages from authenticated servers where you are required to supply a username and password before you can gain access to the page. Similarly, you can run the agent through an authenticated proxy server where you have to supply a username and password to gain access to the Internet. As long as you have successfully retrieved the page during your current Notes session, Notes stores your username and password in a field on the Web page and pulls it from there when it runs the agent. For security purposes, if you run this agent on authenticated servers or through authenticated proxy servers, you should encrypt your database so that the field is not visible to others.
'++LotusScript Development Environment:2:5:(Options):0:74
Option Public
'++LotusScript Development Environment:2:5:(Forward):0:1
Declare Sub RefreshPage
Declare Sub InstantiateObjects
Declare Sub OpenHomeURL
Declare Sub OpenSearchSite (docLocal As NotesDocument)
Declare Sub CreateNotesLink (docLocal As NotesDocument)
Declare Sub CopyDocumentToSharedDatabase (docLocal As NotesDocument, url As String)
Declare Sub CreateRatingDocument (docLocal As NotesDocument, url As String, title As String)
Declare Sub ReduceToLink (docLocal As NotesDocument)
Declare Sub GetProfileDocument
Declare Function LocationOK As Integer
Declare Sub ImportFavorites
Declare Sub FavoriteExtractAddress(posBegin As Integer)
Declare Sub CreateFavoriteDocument
Declare Sub FavoriteProcessOneLine
Declare Sub ImportBookmarks
Declare Sub NavigatorExtractAddress(posBegin As Integer)
Declare Sub ShrinkFolderName
Declare Sub NavigatorProcessOneLine
Declare Sub GetFolderName(posStart As Integer)
Declare Sub CreateNavigatorDocument
Declare Sub PrintWebDocument
Declare Sub WebNavHelp
Declare Sub IENextdoc(browserobject As Variant)
Declare Sub IEPreviousDoc(browserobject As Variant)
Declare Sub IEStop(browserobject As Variant)
Declare Function GetCurrentLocation As String
Declare Sub IEForwardNote (doc As notesdocument, browserobject As Variant)
Declare Sub IERefreshPage(browserobject As Variant)
Declare Sub IEOpenHome(browserobject As Variant)
Declare Sub IESearch(browserobject As Variant)
Declare Sub CreateIELink(url As String, title As String)
Declare Sub MoveToFolder(Source As NotesUIView,Target As Variant, Continue As Variant)
Declare Sub Initialize
Declare Function GetRegValue (szKey$, szValueName$) As String
Declare Sub SetRegValue(szKey$, szValueName$, szKeyValue)
Declare Function GetLocationItem (itemname As String) As Variant
Declare Sub SetLocationItem(itemname As String, itemvalue As String)
Declare Sub CreateIEBookmark(browserobject As Variant, folder As String)
Declare Sub RemoveObjects(doc As notesdocument)
Declare Sub GetCurrentFolders
Declare Sub ViewDelete
Declare Sub Browse
Declare Sub ViewForward(docLocal As notesdocument)
Declare Function DuplicateBookmark(szURL) As Integer
Declare Sub CheckRegistrySettings
Declare Function CompareValues(IEValue As String, NotesValue As Variant) As String
Declare Function ParseFilename(szPath As String) As String
Declare Sub NotesForwardNote(doc As notesdocument)
Declare Function ParseURL(url As String) As String
'++LotusScript Development Environment:2:5:(Declarations):0:10
'this script library is used by the views and forms for sharing various scripts -> Home, Search, Share, Import Bookmarks, and Reduce
Dim w As NotesUIWorkspace
Dim session As NotesSession
Dim db As NotesDatabase
Dim dbShared As NotesDatabase
Dim docProfile As NotesDocument
Dim note As NotesDocument
Dim bookmark As NotesDocument
Dim bookmarkfolder As NotesView
Dim firstnavigatedone As Integer
Dim view As NotesView
Dim hFile As Integer
Dim numDirectories As Integer
Dim szPath As String
Dim szEntry As String
Dim szURL As String
Dim szTitle As String
Dim szFolder As String
Dim filenamepath As String
Dim filename As String
Dim fileflag As Integer
Dim Directories() As String
%INCLUDE "lsconst.lss"
' This declares the routines used for retrieving key values
' from the registry on a Windows 32 client.
' NOTE: if you are running this app on a platform other than
' Windows 32 Intel, then it will not work.
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (Byval hKey&, Byval szSubKey$, Byval dwOptions&, Byval SAM&, hKey&) As Long
Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (Byval hKey&) As Long
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (Byval hKey&, Byval szValue$, Byval dwReserved&, dwType&, Byval szValue$, lpdwBuf&) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (Byval hKey&, Byval szValue$, Byval dwReserved&, Byval dwType&, Byval lpData$, Byval cbData&) As Long
Const HKEY_CURRENT_USER = &H80000001
Const KEY_READ = &H00020019
Const KEY_SET_VALUE = &H0002
Dim RetCode As Long
Dim dwType As Long
Dim hKey As Long
Dim dwSize As Long
Dim lpData As String
Dim cbData As Long
'++LotusScript Development Environment:2:2:RefreshPage:1:8
Sub RefreshPage
Dim currenturl As String
Dim currentdoc As notesuidocument
Dim urldoc As notesdocument
Dim docCollection As NotesDocumentCollection
Set docCollection = db.UnprocessedDocuments
If (docCollection.Count = 0) Then
Msgbox "You must select a document.",16,"Error"
Exit Sub
End If
Set currentdoc = w.currentdocument
currenturl=currentdoc.fieldgettext("URL")
Set urldoc = db.GetDocumentByURL(currenturl, 1)
w.EditDocument False, urldoc
w.viewrefresh
End Sub
'++LotusScript Development Environment:2:2:InstantiateObjects:1:8
Sub InstantiateObjects
Set w = New NotesUIWorkspace
Set session = New NotesSession
Set db = session.CurrentDatabase
Set view = db.GetView("(Internet Profile)")
Set docProfile = view.GetFirstDocument
End Sub
'++LotusScript Development Environment:2:2:OpenHomeURL:1:8
Sub OpenHomeURL
On Error 4005 Goto LoadHomeURL
Dim urldoc As NotesDocument
If (docProfile Is Nothing) Then GetProfileDocument
If (docProfile Is Nothing) Then
Msgbox "You need to specify a home page URL to open. Choose Actions - Internet Options from the menu."
index$ = url$ & Inputbox$(i(0),"Search Internet Server")
If index$<> "" Then
w.urlopen index$
End If
End If
End Sub
'++LotusScript Development Environment:2:2:CreateNotesLink:1:8
Sub CreateNotesLink (docLocal As NotesDocument)
Dim docMail As NotesDocument
Dim rtitem As NotesRichTextItem
Set docMail = New NotesDocument(db)
Set rtitem = New NotesRichTextItem(docMail,"Body")
docMail.Form = "Memo"
Call rtitem.AppendText(docLocal.url(0))
docMail.Subject = docLocal.Title(0)
docMail.Send False,docLocal.ForwardTo(0)
End Sub
'++LotusScript Development Environment:2:2:CopyDocumentToSharedDatabase:1:8
Sub CopyDocumentToSharedDatabase (docLocal As NotesDocument, url As String)
Dim webdoc As notesdocument
If (docProfile Is Nothing) Then GetProfileDocument
If (docProfile Is Nothing) Then
Msgbox "You need to specify a Web Server and Web Database to share pages with. Choose Actions - Internet Options from the menu."
Exit Sub
End If
If (docProfile.WebDatabase(0) = "") Then
Msgbox "You need to specify the shared server and database. Choose Actions - Internet Options from the menu."
Exit Sub
End If
Set dbShared = New NotesDatabase(docProfile.WebServer(0),docProfile.WebDatabase(0))
If Not (dbShared.IsOpen) Then
Msgbox "Can't open the shared database"
Exit Sub
End If
If docLocal.form(0) = "WebBrowserForm" Then
Set webdoc = dbshared.getdocumentbyurl(url)
dbShared.Close
Else
Set webdoc = dbshared.getdocumentbyurl(url)
dbShared.Close
End If
End Sub
'++LotusScript Development Environment:2:2:CreateRatingDocument:1:8
Sub CreateRatingDocument (docLocal As NotesDocument, url As String, title As String)
Dim docRating As NotesDocument
If (docProfile Is Nothing) Then GetProfileDocument
If (docProfile Is Nothing) Then
Msgbox "You need to specify a Web Server and Web Database to share pages with. Choose Actions - Internet Options from the menu."
Exit Sub
End If
If (docProfile.WebDatabase(0) = "") Then
Msgbox "You need to specify the shared server and database. Choose Actions - Internet Options from the menu."
Exit Sub
End If
Set dbShared = New NotesDatabase(docProfile.WebServer(0),docProfile.WebDatabase(0))
If Not (dbShared.IsOpen) Then
Msgbox "Can't open the shared database"
Exit Sub
End If
'create the remote document and add some fields to it
Set docRating = New NotesDocument(dbShared)
docRating.Form = "Person Rating Form"
docRating.Rating = docLocal.Rating
docRating.Content = docLocal.Content
docRating.Comments = docLocal.Comments
docRating.Author = session.UserName
docRating.URL = URL
docRating.Title = Title
docRating.Save True, True
dbShared.Close
End Sub
'++LotusScript Development Environment:2:2:ReduceToLink:1:8
Sub ReduceToLink (docLocal As NotesDocument)
If docLocal.hasitem("Body") Then
docLocal.RemoveItem "Body"
docLocal.RemoveItem "HTMLSource"
docLocal.RemoveItem "HTMLBody"
docLocal.RemoveItem "$Background"
docLocal.RemoveItem "$FILE"
docLocal.RemoveItem "$OLEOBJINFO"
docLocal.RemoveItem "URLLinks1"
docLocal.RemoveItem "WebAheadStatus"
docLocal.RemoveItem "WebAgentError"
docLocal.RemoveItem "PageMinderStatus"
docLocal.bookmark = "1"
docLocal.Save True,True
Else
docLocal.RemoveItem "$Body"
docLocal.RemoveItem "HTMLSource"
docLocal.RemoveItem "$Background"
docLocal.RemoveItem "$FILE"
docLocal.RemoveItem "$OLEOBJINFO"
docLocal.RemoveItem "URLLinks1"
docLocal.RemoveItem "WebAheadStatus"
docLocal.RemoveItem "WebAgentError"
docLocal.RemoveItem "PageMinderStatus"
docLocal.Bookmark = "1"
docLocal.Save True,True
End If
End Sub
'++LotusScript Development Environment:2:2:GetProfileDocument:1:8
Sub GetProfileDocument
Dim view As NotesView
Set view = db.GetView("Internet Profiles")
Set docProfile = view.GetFirstDocument
End Sub
'++LotusScript Development Environment:2:1:LocationOK:1:8
Function LocationOK As Integer
'*
'* This function verifies that the current location settings are correct for local web retrievals.
'*
LocationOK = True
Dim currentbrowser As String
Dim MailServer As String
currentbrowser = GetLocationItem("WebRetriever")
If CurrentBrowser <> "3" Or CurrentBrowser <> "1" Then
Msgbox "Your Browser setting for Notes is not set to retrieve in Notes. Edit your current location to change the browser setting to Notes.", 16, "Error"
LocationOK = False
Exit Function
End If
MailServer = GetLocationItem("MailServer")
If MailServer = "" Then
Msgbox "You do not have a mail file/server specified. Use File Mobile Edit Current Location... to set them.", 16, "Error"
LocationOK = False
Exit Function
End If
End Function
'++LotusScript Development Environment:2:2:ImportFavorites:1:8
Sub ImportFavorites
InstantiateObjects
Set note = New NotesDocument(db)
szFolder = "Favorites"
numDirectories = 0
Redim Directories(20)
fileflag = False
If(w.DialogBox("(ImportFavorite)",True,True,False,,,,"Import Favorites",note)) Then
'get the file to open
szPath = note.BookMarkFile(0)
If (szPath = "") Then
Exit Sub
Elseif (Right$(szPath,3) = "url" ) Then
'file is specified not path parse out filename and go directly to process file
filenamepath = szPath
fileflag = True
Goto ProcessFile
Elseif (Right$(szPath,1) <> "\") Then
szPath = szPath & "\"
End If
filename = Dir$(szPath ,ATTR_DIRECTORY)
While (filename <>"")
If (filename <> ".") And (filename <> "..") Then
filenamepath = szPath & filename
retType = Getfileattr(filenamepath)
If Not(retType = ATTR_DIRECTORY) Then
ProcessFile:
hFile = Freefile
'open the file
Open filenamepath For Input As hFile
'read in a line from the file
Do Until Eof(hFile)
Line Input #hFile,szEntry
Call FavoriteProcessOneLine
Loop
Else
'this is a directory
Directories(counter) = filename
counter = counter + 1
End If
End If
If fileflag Then Exit Sub
filename = Dir()
Wend
End If
'scan subdirectories if need be
If (counter > 0) Then
For x = 0 To (counter-1)
szFolder = "Bookmarks\" & Directories(x)
szSubPath = szPath & Directories(x) & "\"
filename = Dir$(szSubPath,ATTR_DIRECTORY)
While (filename <>"")
If (filename <> ".") And (filename <> "..") Then
retType = Getfileattr(szSubPath & filename)
If Not(retType = ATTR_DIRECTORY) Then
hFile = Freefile
'open the file
Open szSubPath & filename For Input As hFile
'read in a line from the file
Do Until Eof(hFile)
Line Input #hFile,szEntry
Call FavoriteProcessOneLine
Loop
End If
End If
filename = Dir()
Wend
Next
End If
End Sub
'++LotusScript Development Environment:2:2:FavoriteExtractAddress:1:8
Sub FavoriteExtractAddress(posBegin As Integer)
'get the position of the closing quote
szURL = Right$(szEntry,Len(szEntry) - posBegin+1)
End Sub
'++LotusScript Development Environment:2:2:CreateFavoriteDocument:1:8
Sub CreateFavoriteDocument
'Before we create the bookmark document we need to make sure that one does not already exist
If Not DuplicateBookmark(szURL) Then
Dim nulldoc As notesdocument
Dim title As String
Set bookmark = New NotesDocument(db)
If fileflag Then
title = Parsefilename(szPath)
bookmark.title = Left$(title, Len(title)-4)
Else
bookmark.title = Left$(filename, Len(filename)-4)
End If
bookmark.URL = szURL
bookmark.bookmark = "1"
bookmark.form = "HTMLForm"
Call bookmark.Save(True,False)
Call bookmark.PutInFolder(szFolder)
If docprofile.keeppage(0) = "0" Then
If GetLocationItem("WebLocation")(0) = "1" Then
Set nulldoc = db.getdocumentbyurl(szURL, 0,0,"","","","","",True)
End If
End If
End If
End Sub
'++LotusScript Development Environment:2:2:FavoriteProcessOneLine:1:8
Sub FavoriteProcessOneLine
'we have just read one line from the bookmark file
'see if this line has one of two entries in it
Dim pos As Integer
'look for an http reference
pos = Instr(1,szEntry,"=",5)
If (pos > 0) Then
FavoriteExtractAddress(pos+1)
If (szURL <> "") Then Call CreateFavoriteDocument
Exit Sub
End If
End Sub
'++LotusScript Development Environment:2:2:ImportBookmarks:1:8
Sub ImportBookmarks
InstantiateObjects
Set note = New NotesDocument(db)
szFolder = "Favorites and Bookmarks"
If(w.DialogBox("(ImportBookmark)",True,True,False,,,,"Import Bookmark",note)) Then
'get the file to open
szPath = note.BookMarkFile(0)
If (szPath = "") Then Exit Sub
hFile = Freefile
'open the file
Open szPath For Input As hFile
'read in a line from the file
Do Until Eof(hFile)
Line Input #hFile,szEntry
Call NavigatorProcessOneLine
Loop
End If
'we need to close the file
Close hFile
End Sub
'++LotusScript Development Environment:2:2:NavigatorExtractAddress:1:8
Call Body.Appendtext("The following page requires authentication information. Please retreive the page manually and move it to the Page Minder folder again.")
Call agentlog.Logaction("Page Minder does not support authenticated pages when using the Notes with Internet Explorer setting.")
End If
Else
Call logerror(9, "Page Minder received a bad status code of " + Cstr(NewWebDocument.HttpStatus(0)) +". Page " + Cstr(NewWebDocument.url(0))+" was not retrieved correctly.")