Wednesday, November 18, 2009

Sweet Drag and Drop Actions In the Lotus Notes Client

I've mentioned once or twice before that I really like using drag and drop. Although it is often a bit slower than other actions and you sometimes have to show the user how to do it, I find it to be a preferred method for executing certain tasks in an application. Lotus Notes itself offers many cool and useful drag and drop actions. I've been showing end users some of these for a long time, and always there are folks that had no clue drag and drop actions were even available. I wanted to share a few of them with you now.

Drag & Drop Links

You can drag and drop a document from any Notes view or a database icon into a rich-text field and Notes will create a document link or database link (as applicable). If the document is open, you can actually perform the drag and drop action from the tab. This is a much easier way to teach users how to send links to documents.

A couple of hints: You can often drag information from one part of Notes into another by hovering over the appropriate tab. For example, click and hold the tab of an open document, then drag it over to the tab of a document in edit mode. Hold it there for a second and the focus will change to the new document. You can then perform the drop action into a rich-text field and the link will be created. Also, an easy way to get the Notes:// address of an element is to perform that drag and drop into a regular text field. This will give you the Notes:// link along with the title of the item.

Drag & Drop Attachments

You can take attachments from a Notes document and drag them to the file system or your Windows desktop. For those of you on Notes 8, check out the very cool File Navigator side shelf component on OpenNTF. You can use this to drag and drop files directly from your Notes client!

Drag & Drop To/From Sametime

With Notes 8.5, you can drag a mail message to the Sametime Contacts list. When you drop it, a dialog will appear and present you with a list of all recipients of that e-mail message. You can choose to add them all or just select individuals to your contacts. This is a very speedy way to create groups within Sametime.

Going the reverse direction, you can drag a single contact or a group name from your Sametime Contacts list into the address fields of a new memo to instantly add those recipients to the mail message.

If you drag and drop a contact into a rich-text field, a mailto link to that individual will be created.

Drag & Drop Text

With Notes 8.5, users can now have a more rich experience as they drag & drop text. You can drag and drop text within a rich-text field (useful for rearranging some paragraphs, for example) or even between rich-text fields. I'll often use this when I am creating a new calendar entry and I want to pull some information out of an existing doc. Sure copy and paste is a bit faster, but drag and drop is so fun! ;-)

Drag & Drop Tabs

I often work with several documents and views open at one time and I generally like to have an orderly flow to how the tabs are arranged. If I open up these elements in an order other than the way I like them arranged, I just grab the tabs and reorder them via drag & drop. Perfect.

Drag & Drop Table Controls

There are some long awaited functions now available for manipulating tables via drag & drop. One of the best is the ability to resize columns without using the ruler. With Notes 8.5.1, you just grab the column border and drag & drop to resize.

You can also move whole rows or columns at one time via drag & drop. If you hover over the outside border of a row or column, you'll see the cursor change to an arrow pointing at a row or column respectively. Click, hold and drag and you'll see a shadow moving to represent that row/column. Drop it where you want it in the table and the other elements will be reordered accordingly (see animation below).

If you just want to move the content of a single cell, highlight it and then drag & drop it into the destination cell of choice. You can move multiple cells at once, as well. Play around with this a bit and you'll find some interesting functions.

While I'm on the subject of tables, while not strictly drag & drop specific, there are a couple of other very handy new tricks you might like. If you want to add a new row or column, you can now do this without resorting to the Table menu. To do this, hold the Shift key down and then hover over a row/column border. You'll see the cursor change to a thick horizontal or vertical line with a little blue diamond next to it. When you see this cursor, double click with your mouse and the new row/column will be inserted. Thanks to the developers...I really like that new edition!

So, those are some of my favorite drag & drop features in the Notes client. There are many more. How about you? Any particular drag & drop actions I missed that you really like? If so, please share in the comments.

Monday, November 16, 2009

RSS Feeds For Notes Documents

Yes...I haven't fallen off the earth. Thanks for asking. Just spending a lot of time learning other parts of the Lotus collab stack and having to crack open the books to study up on <shudder> admin topics leaves little time for development stuff anymore. I still plan to change that. :-)

I thought I'd throw this very simple but highly useful tip out here because I have found that not everyone is aware of it. In fact, I was asked about this topic the other day. The question at hand: Can I create an RSS feed that opens a document in the Notes client rather than on the web? The short answer: Of course!

This is very easy to do, since you can use the Notes URI format in place of the standard HTTP URI.

Here is a snippet of XML code from a feed that demonstrates this:

<title>Creating an RSS feed with Notes URIs</title>
<pubdate>Thu, 24 Feb 2005 10:39:25 PM -0400</pubdate>
<description>I posted this tip to SearchDomino in 2005
and it was the 2nd time I became a Hall of Fame tip winner.</description>

Notice the <link> element references a Notes identifier rather than a URI referencing a web resource via HTTP. When users view this feed in their RSS aggregator, it will provide links that open the documents in your Notes client.

The <link> element of your feed can be constructed using a formula (usually calculated in the document or in the view column) such as:

"<link>notes:///" + @ReplaceSubstring(@ReplicaID; ":"; "") + "/AllDocuments/" +
@Text(@DocumentUniqueID) + </link>"

You can replace "AllDocuments" with the name of your view or use its design ID.

Combined with the Feeds sideshelf component in Notes 8, this makes for a very handy mechanism for distributing document updates to end users in a more modern fashion.