All entries tagged with code_snippet
Not Forum Friday, but Usenet Tuesday. :-) A user in comp.groupware.lotus-notes.programmer had a question about generating Notes document remotely/in an automated way from another web application, using Perl:
> We have a Lotus Notes application and we would like to automate > creating a new document or record in that application from another web > based application. > > Here are the details: > User action on web application triggers a PERL script to create a new > record (document) in Lotus Notes (or Domino).
Here is my suggestion:
Create an agent that read the URL parameters you send to it.
Let's call the agent CreateNewDocument, and have two fields we want to fill out when the document is created. The Perl script can then call the URL like this:
The agent read the arguments and populate the corresponding fields, then save the document. I would highly recommend using a list to store the parameters, then you have a generic function you can re-use in any application.
In my article in the November/December 2006 issue of The View (starting on page 25) you have code for this.
Here is a class I just wrote to parse an incoming HTTP GET or POST. Put it in a script library called for example "URL.class":
Class URLclass Public url As String Private params List As String
Public Sub New() Dim session As New NotesSession Dim doc As NotesDocument Set doc = session.DocumentContext ' Document with all CGI variables ' Check if HTTP GET or POST was used... If Instr(doc.Query_String(0),"&") > 0 Then ' GET was used url = doc.Query_String(0) Elseif Instr(doc.Request_Content(0),"&") > 0 Then ' POST was used url = "&" & doc.Request_Content(0) Else ' No parameters Exit Sub End If End Sub
Public Function GetParams() As Variant Dim offset As Integer Dim startpos As Integer Dim midpos As Integer Dim endpos As Integer Dim nextpos As Integer Dim dataname As String Dim datavalue As String startpos = Instr(url,"&") ' Start of first parameter Do While Not startpos = 0 nextpos = Instr(startpos+1, url, "&") ' Start of next parameter If nextpos = 0 Then ' We reached the end endpos = Len(url)+1 Else endpos = nextpos End If midpos = Instr(startpos+1, url, "=") ' Position of = character |