Showtime
My Blackberry Enterprise Server Push Utility for the Lotus Notes Client, allows you to create Jobs for individual Channel, Message, and Browser Content Pushes, as well as allows you to delete Pushed Channel Icons from defined recipient devices.
Contact Information
Blogger, podcaster, writer, and geek Chris Toohey covers topics from application development to the latest must-have-gadgets.
Latest Updates

More on Mailer...
More on Junction Lite...
More on Remote Console...

More on Controller API Utility...
Products & Applications
Time Tracker
The idea is simple. At the start of your day - upon completion of your first task - create an entry highlighting what you did and whether you feel it was an efficient or inefficient use of your time. Based on several requests, you can also select the priority, apply categories, or even align your time against a project.
For Lotus Notes Client v8.0 and above, you can use the Time Tracker Widget to make this process even easier!
Zephyr
My Configuration-based Rich Text Mail Merge and Emailing Utility, Zephyr allows you to create rich, data-driven emails to support automated workflow - all via Microsoft Word Mail Merge-like architecture. Dear <firstname> allows you to personalize each email message not only to the individual recipient, but also to the individual application workflow event!
xCopy
xCopy is a simple configurable xCopy client for the Lotus Notes client. By creating and defining xCopy Profiles, you can batch process your file backup or remote upload jobs. With the addition of the xCopy sidebar widget, you can easily kick-off these jobs, and modify both the xCopy Profiles and xCopy itself.
Community & Resources
Lotus Technical Information & Education Community
The Lotus Technical Information & Education community is comprised of IBM, business partner, and customer subject matter experts who use product wikis, published articles, white papers, community blogs and the latest in social media to build and share high quality technical content.
OpenNTF.org - Open Source Community for Lotus Notes Domino
OpenNTF is devoted to enabling groups of individuals all over the world to collaborate on IBM Lotus Notes/Domino applications and release them as open source.
developerWorks Lotus : Wikis
Share your deployment experiences and best practices in our wikis and help IBM to create scenarios for successful deployments. Contribute to the community by collaborating on shared content and leverage the shared knowledge from that community.
XPage Primer: Using the ContactPhoto Image via SSJS
08/30/2010 02:04:00 AM by Chris Toohey
I wanted my upcoming XPage Maps proof of concept (IBM Lotus Notes Domino XPages + Personal Address Book + Google Maps Mashup) to be a little more user friendly than I had originally intended. See, my original goal was to simply query address data from the Lotus Notes Client Personal Address Book and use that address data for runtime queries to Latitude and Longitude info... and then show those as locations on the map via pin overlays.
A decent demo, but it really doesn't do much in the way of using the data.
So I thought that I would not only generate the balloon/popup overlays triggered via an onclick on the given pin, but also use -- if available -- the ContactPhoto for the individual pin overlay.
Now, for those of you not familiar with the concepts I'm using here -- which rely as much on traditional IBM Lotus Notes Domino Web Application Development as much as XPages and SSJS -- here is the short, short version of the principles used here.
db.nsf/0/UNIDis a perfectly valid and operational URL schema. When performing READ operations against a NotesDocument via the Universal ID (UNID), the View designation really doesn't matter. I'm using0, but you could just as well usedb.nsf/IBM Lotus Notes is an excellent enterprise application platform/UNID... the name ultimately doesn't matter.*db.nsf/0/UNID/$File/[Attachment Name]is a perfectly valid and operational URL schema for reading a file attachment in a NotesDocument.- The IBM Lotus Notes Personal Address Book Contact|Person Form Design Element's Photo Rich Text Lite Field forces the file attachment name to ContactPhoto.
* -- Views can still be used to set Form Formulas, but do not use Form Formulas for application security (at all, but) especially when using UNIDs.
So, via SSJS, I'm simply going to check a given Contact NotesDocument (contactRecord) for the existence of any $File NotesItems (a leap, I know... but it's a proof of concept...).
If there is a $File, I will set the logo variable to the ContactPhoto, otherwise to a default pin PNG.
if (contactRecord.getDocument().hasItem("$File")) {
var _docUNID = contactRecord.getDocument().toString();
var logo = "/names.nsf/0/" + _docUNID + "/$file/ContactPhoto";
} else {
var logo = "/default.png";
}
The result is a per-NotesDocument logo URL that I can use for my Google Maps overlays!
I plan to release XPage Maps early this week -- if not sometime later today -- but I thought that this simple example deserved it's own post. Understanding that there is an absolute need for XPage developers to understand core functionality of the platform is a given, but I don't think it's often stated that not having knowledge of the quirks of the platform can lead to misconceptions of the capabilities of the platform.
One final note: Some XPage developers may assume that I'm using a Data Table or Repeat Control with a defined Data Source to display this data... but I'm not. I'm using an SSJS Library and a Script Block:
<xp:scriptBlock value="initialize(#{javascript:return getContacts();});" />
... but more on that when I release XPage Maps.



Just to add to that. If you set up a "RichText Lite" field and set it to thumbnail then you can set the lookup file name of that field.
Allows the Notes users to see an actual image, while your code renders using a fixed URL to that field.
Chris, just to let you know that URL format will work fine on the server as it is accessing the old style HTTP server, however it won't work in the Notes client. This question on IQJam provides a little more detail:
http://iqjam.net/...
I use the following function to get straight with the attachments:
function getBaseURL() {
var curURL = context.getUrl();
var curAdr = curURL.getAddress();
var rel = curURL.getSiteRelativeAddress(context);
var step1 = curAdr.substr(0,curAdr.indexOf(rel));
// Now cut off the http
var step2 = step1.substr(step1.indexOf("//")+2);
var result = step2.substr(step2.indexOf("/"));
return result;
}
function getImageURL(docID:java.lang.String, imgname:java.lang.String) {
var base = getBaseURL();
var middle = "/xsp/.ibmmodres/domino/OpenAttachment";
if (base.substr(0,4) == "/xsp") {
middle += base.substr(4);
} else {
middle += base;
}
var result = base + middle + "/" + docID + "/$File/" + imgname + "?Open";
return result;
}
The functions work on SSJS with both XPiNC and Browser
Chris let me introduce you to 2 super secret key combinations:
Ctrl+C and Ctrl+V. Call me on a crypto-line so I can explain what they do.
One is glad to be of service.
@Ollik
Good to know, but that makes sense if you're getting the baseref without appending the alternate port, which you should be able to do by changing Stephan's code above.
Hi ,
Am not able to see the computed image in blackberry device.I can see only image url.Please help me in resolve this.
Regards
Meena