Ben Langhinrichs

Photograph of Ben Langhinrichs

E-mail address - Ben Langhinrichs

Recent posts

Mon 21 Jun 2021

Custom Domino Extensions presentation

Thu 10 Jun 2021

Notes 12 without all the blue

Wed 5 May 2021

Pull public data into Notes on the fly

September, 2021
   01 02 03 04
05 06 07 08 09 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

Search the weblog

Genii Weblog

Method of the day: AppendHotspot

Tue 15 Feb 2005, 10:41 PM

by Ben Langhinrichs
Inline JPEG imageIt may be just coincidence, but it feels like some days every person who calls or writes wants to hear about the same piece of Midas functionality.  Today was something unexpected for me, since it is usually HTML generation or MIME e-mails or dynamic tables.  Today, everybody wanted to know about the amazing AppendHotspot method.

Well, to be fair, nobody asked about the AppendHotspot method.  Nope, not one.  They just asked questions to which the AppendHotspot method was the answer.  

So, what is this method, and why should you care?  Part of the reason is that this is an "all purpose" method.  You can add action hotspots, buttons, computed text, text popups, file download hotspots, mosueovers, etc. etc., all with the same method.  Here is a brief sampling of the kinds or questions and answers (not just from today):

Q. Can I use create computed text on a page using Midas.
A. Sure.  Just use code such as:
Call rtitem.ConnectPageBody(db.Server, db.FilePath, pagename)
Set rtchunk = rtitem.DefineChunk("Everything")
Call rtchunk.AppendHotspot("ComputedText", |@If(@ClientType="Web"; "I'm a web browser"; "I'm a Notes client")|)

Q. Can I add a button to an e-mail message I am sending that will reply to me when the user presses it?
A. Sure.  Just use code such as:
Call rtitem.ConnectBackend(doc.Handle, "Body")
Set rtchunk = rtitem.DefineChunk("Everything")
Call rtchunk.AppendHotspot("Formula Button", |@MailSend("Joe Schmoe"; ""; ""; "I was pressed"; "Body")|, "", "Press me")

Q. Is it possible to insert a subform into a form using Midas?
A. Sure.   Just use code such as:
Call rtitem.ConnectFormBody(db.Server, db.FilePath, formname)
Set rtchunk = rtitem.DefineChunk("Inside Section 1")
Call rtchunk.AppendHotspot("Subform Formula", |@If(@ClientType="Web"; "WebSub"; "NotesSub")|)

Q. Can I add a JavaScript action hotspot inside a table cell of an existing document?
A. Sure.  Just use code such as:
Call rtitem.ConnectBackend(doc.Handle, "Body")
Set rtchunk = rtitem.DefineChunk("Table 1; Row 3; Column 2")
Call rtchunk.AppendHotspot("JavaScript Action", |alert('If I knew more JavaScript, this example would be better')|, "", "JavaScript example to press")

Q. Is it possible to add a file upload onto a form using Midas?
A. Sure.  Just use code such as:
Call rtitem.ConnectFormBody(db.Server, db.FilePath, formname)
Call rtitem.Everything.AppendHotspot("File Upload", "", "")

I could go on, but I bet you catch the drift.  Pretty slick method, eh?  Really makes you want to go look at the Midas Help and see what else you can find (or even just read up on AppendHotspot), doesn't it?

Copyright 2005 Genii Software Ltd.

What has been said:

292.1. Stan Rogers
(02/16/2005 06:31 AM)

That's a big 'un. The lack of a means to creates hotspots in LS natively was THE driving force behind my venture into DXL. While DXL does the job, it is by definition going to be slower, and a DOM parser has a lot of memory overhead. "Some day," he said wistfully, "I will work with a client who can grasp the benefit of Midas...."

292.2. Ashish Sidapara
(02/16/2005 08:36 AM)

Too good !!

I cannot think of any scenario which has been missed out .. keep it up :)

292.3. Bruce Elgort
(02/16/2005 11:53 AM)


Thanks for these great examples. It's amazing what you can do with your tools. I am blown away!