• Anonymous
  • Login
  • Register
BlogSphere - Feature Request: Web tracking request


Could you please add a “Track Document” field to each document see who has accessed the page, the referrer status and search string if available. I know it changes the web blog into a psuedo personal web site but is that a bad thing?


Here is the script that I use:

Sub Initialize
' Dim logdb As New NotesDatabase( "", "UserLog.nsf" )
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim logdoc As NotesDocument
Set db = session.CurrentDatabase
Set doc = session.DocumentContext
Set logdoc = New NotesDocument ( db )

If doc.Track(0) = "Yes" Then
logdoc.form = "HitInfo"
logdoc.FormName = doc.Form(0)
logdoc.ServiceName = doc.ServiceName(0)
logdoc.ProductName = doc.ProductName(0)
logdoc.Auth_Type = doc.Auth_Type(0)
logdoc.WebpageName = doc.WebpageName(0)
logdoc.Content_Length = doc.Content_Length(0)
logdoc.Content_Type = doc.Content_Type(0)
logdoc.Gateway_Interface = doc.Gateway_Interface(0)
logdoc.HTTP_Accept = doc.HTTP_Accept(0)
logdoc.HTTP_Referer = doc.HTTP_Referer(0)
logdoc.HTTPS = doc.HTTPS(0)
logdoc.HTTP_User_Agent = doc.HTTP_User_Agent(0)
logdoc.Path_Info = doc.Path_Info(0)
logdoc.Path_Translated = doc.Path_Translated(0)
logdoc.Query_String = doc.Query_String(0)
logdoc.Remote_Addr = doc.Remote_Addr(0)
logdoc.Remote_Host = doc.Remote_Host(0)
logdoc.Remote_Ident = doc.Remote_Ident(0)
logdoc.Remote_User = doc.Remote_User(0)
logdoc.Request_Method = doc.Request_Method(0)
logdoc.Script_Name = doc.Script_Name(0)
logdoc.Server_Name = doc.Server_Name(0)
logdoc.Server_Protocol = doc.Server_Protocol(0)
logdoc.Server_Port = doc.Server_Port(0)
logdoc.Server_Software = doc.Server_Software(0)
logdoc.Server_URL_Gateway_Interface = doc.Server_URL_Gateway_Interface(0)

' If logdb.IsOpen Then
' Set newlogdoc= logdoc.CopyToDatabase(logdb)
' Else
Call logdoc.save( True, False )
' End If
End If
End Sub

The Form:


Webpage
Product Info
Service Name The Document name
From Form The name of the form that has been hit
Document Unique ID The Unique ID number of the page accessed.
Auth_Type The protocol-specific authentication method used to validate the user, if any.
Content_Length The length in bytes of the content sent to the user.
Content_Type This is the content type of attached information, such as graphics, HTTP POST and PUT,
Gateway_Interface The version of the CGI spec with which the server complies.
HTTP_Accept The MIME types that the client accepts.
HTTP_Referer The URL the user used to get to this page.
HTTPS Indicates if SSL mode is enabled for the server.
HTTP_User_Agent The client browser usied to send the request.
Path_Info Extra path information (from the server's root HMTL directory), as given by the client.
Path_Translated The server provides a translated version of PATH_INFO, which adds any physical mapping required.
Query_String The information that follows the ? in the URL.
Remote_Addr The IP address of the host making the request.
Remote_Host The name of the host making the request.
Remote_Ident This variable will be set to the remote user name retrieved from the server.
Remote_User Authentication method that returns the authenticated user name, if any
Request_Method The method used to make the request.
Script_Name A path to the script being executed, used for self-referencing URLs.
Server_Name The server's host name, DNS alias, or IP address as it would appear in self-referencing URLs.
Server_Protocol The name and version of the server protocol accompanying this request.
Server_Port The port to which the request was sent.
Server_Software The name and version of the information server software running the CGI program.
Server_URL_Gateway_Interface The version of the CGI spec with which the server complies.

The View synopsis:


Column Number: 1
Column Title: [Not Assigned]
Column Formula: @Year(@Date(@Created));
Column Width: 1 Characters
List Separator:
Hidden: Yes
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003 19:40:36
Sorting: Descending
Justification: Left
Totals: None
Hide Detail Values: No
Column Number: 2
Column Title: [Not Assigned]
Column Formula: @Month(@Date(@Created));
Column Width: 1 Characters
List Separator:
Hidden: Yes
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003 19:40:36
Sorting: Descending
Justification: Left
Totals: None
Hide Detail Values: No
Column Number: 3
Column Title: Month & Year
Column Formula: month := @Select(@Month(@Date(@Created)); "JAN"; "FEB"; "MAR"; "APR"; "MAY"; "JUN"; "JUL"; "AUG"; "SEP"; "OCT"; "NOV"; "DEC");month + " '" + @Right(@Text(@Year(@Date(@Created))); 2);
Column Width: 7 Characters
List Separator:
Hidden: No
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003 19:40:36
Sorting: Descending, Categorized
Justification: Left
Totals: None
Hide Detail Values: No
Column Number: 4
Column Title: Week
Column Formula: TestDate := @Date(@Created);TempYear := @Year(TestDate);WeekEndDate := @Adjust(TestDate; 0; 0; @Modulo(7 - @Weekday(TestDate); 7); 0; 0; 0);WeekStartDate := @Adjust(TestDate; 0; 0; -(@Weekday(TestDate) - 2); 0; 0; 0);@Text(WeekStartDate) + " - " + @Text(WeekEndDate);
Column Width: 5 Characters
List Separator:
Hidden: No
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003 19:40:36
Sorting: Descending, Categorized
Justification: Left
Totals: None
Hide Detail Values: No
Column Number: 5
Column Title: [Not Assigned]
Column Formula: @If(ProductName != Null; ProductName; ServiceName != Null; ServiceName; WebpageName != Null; WebpageName; "No title available");
Column Width: 1 Characters
List Separator:
Hidden: No
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003 19:40:36
Sorting: Ascending, Categorized
Justification: Left
Totals: None
Hide Detail Values: No
Column Number: 6
Column Title: Remotehost
Column Formula: @If(REMOTE_HOST != Null; REMOTE_HOST; Remote_Addr != Null; Remote_Addr; "No IP Address Available");
Column Width: 20 Characters
List Separator:
Hidden: No
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003 19:40:36
Sorting: Ascending, Categorized
Justification: Left
Totals: None
Hide Detail Values: No
Column Number: 7
Column Title: Created
Column Formula: @Created
Column Width: 9 Characters
List Separator: Comma
Hidden: No
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003
Sorting: Descending
Justification: Left
Totals: None
Hide Detail Values: No
Column Number: 8
Column Title: From
Column Formula: HTTP_Referer
Column Width: 58 Characters
List Separator:
Hidden: No
Responses Only: No
Icon: No
Number Format: General
Percentage (value * 100)%: No
Parentheses on Negative Numbers: No
Punctuated at Thousands: No
Time Format: 21/04/2003 19:40:36
Sorting: No
Justification: Left
Totals: None
Hide Detail Values: No



Taken Actions by Owners

Owners are investigating the request.



Documents
In this field you can enter the actual request.

You can use the rich text editor for rich text formating. You can also enter HTML to embed objects, e.g. to embed a YouTube video or a screenshot of the project. In this case use '[' and ']' to mark the passthrough HTML as such.

Please note that the first time you use the new UI your description is converted from rich text to MIME. You might want to copy and paste the raw plain text from the old UI in the new UI so that you don't loose information.
In this field owners can describe what they have done or want to do.

You can use the rich text editor for rich text formating. You can also enter HTML to embed objects, e.g. to embed a YouTube video or a screenshot of the project. In this case use '[' and ']' to mark the passthrough HTML as such.

Please note that the first time you use the new UI your description is converted from rich text to MIME. You might want to copy and paste the raw plain text from the old UI in the new UI so that you don't loose information.