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.
Welcome to dominoGuru.com!
Focused on being the go-to resource for the IBM Lotus Notes Domino developer, dominoGuru.com delivers introductory-level best practices and advanced development deep dives for the IT professional, book and gadget reviews, and technical weblog, and more!
Announcing the LotusTechInfo Community Landing Page!
07/30/2009 11:01:24 AM by Chris Toohey
The IBM Lotus Information Development Center has been hard at work with not only highlighting community member education through social networks and services like Twitter, Facebook, and even YouTube, but they've also created a LotusTechInfo Landing Page on the IBM Lotus Developer Domain.
While the community itself is resides on IBM Greenhouse, this Landing Page will remain as public.
Incidentally, if you do not yet have an IBM Greenhouse account, feel free to sign-up and enter Joyce Davis as your IBM Contact.
From there, you will easily be able to access/join the IBM Lotus Technical Information and Education Community.
Want to know what the IBM LTIEC is all about without having to sign-up for a Greenhouse account? Check out the Landing Page and find out who we are working within and beyond the community to build both Lotus portfolio knowledge as well as business contacts.
And if you have a blog or site where you already contribute to this community, check out the developerWorks Author Achievement Recognition program and learn how you can re-purpose your tips and tricks, have them gain a more global audience, and better establish your subject matter expertise.
You're Invited: July 2009 Lotus Technical Information and Education Community Meeting
07/27/2009 10:49:14 AM by Chris Toohey
Tomorrow - July 28th @ 11:00AM EASTERN - we're having our monthly LTIE Community Meeting.
This month we'll cover news from the information development team, welcome two Lotus Online Community members to share their stories with the audience, and - our special topic of the month - discuss how we can leverage social networks and social media to proactively answer the questions of IT professionals and Lotus customers.
For more information - including dial-in and online web conference info - please see the post for the July Lotus Technical Information and Education Community Meeting.
And for those of you actively using some of the social networks that will be discussed during tomorrow's meeting, feel free to check out the Lotus Technical Information and Education Community on Facebook as well as the LTIEC's official Twitter feed @LotusTechInfo.
And if you already do plan on attending, do your part and bring a friend; the more people that get the message the better!
IBM Lotus Community News - In case you missed it!
05/13/2009 03:16:56 PM by Chris Toohey
I thought I'd take a few minutes to highlight and comment on several of the truly things you should know news items and upcoming events in the IBM Lotus Community lately.
May 10th, 2009: Nathan highlights the Bob Picciano vs. Lotus Online Community Bloggers conference call, which took place on Friday, May 8th, 2009. I had the privilege of not only attending the call but asking Bob the following question:
You'd mentioned that collaboration was the heart of the Smart Work initiative. Do you see certain products in the Lotus portfolio coming to the foreground? And conversely do you see some products falling to the background? Would we leverage more cloud services? Or are we looking at streamlining Domino? What's the break down as you see it to really drive this initiative home?
At least that's what Nathan quoted me saying, which sounds a lot smarter than anything that normally falls out of my mouth...
Bob fielded each question - including this one - like someone who actually gets it. This was my first interaction with the current General Manager of IBM Lotus, and the impression that I left with was that Bob is one of us.
A few things that you should absolutely take away from the call:
-
Mac as a client alternative is shaking people up to understand that there's no reason I couldn't have the same level of proficiency with a slick client like Ubuntu.
Nathan highlighted this one as well - the BYOOS attitude of the Lotus product portfolio really shines through with this statement. Lotus products are a cost-savings alternative to competitive collaborative technologies - in part - due to their non-dependancy on Operating Systems, Hardware, etc.
-
The other aspect of the applications is that it's not necessarily the traditional apps -- they can be apps that come through SaaS, web services, widgets and gadgets which are much less dependent on underlying technology, and as a consequence act as an enabler.
I'll step back here and bring up a topic that was just discussed on the latest episode of The 1352 Report. In this episode, the gang discusses potential marketing to the end user customer.
The thing that I have always found in these Lotus sucks arguments that arguably helped spawn (or at least contributed to) the Lotus Marketing discussion is this: the main reason people complain about Lotus Notes is that they perceive a better usage experience with a different technology. They know the other technology. They've seen what it can do. They've heard good things about it. Whatever the case, the driver isn't something personal against a given Lotus product (again, in most cases) but the want of the day-to-day customer to have a better experience and ultimately an easier work day.
Now, in that context, consider Bob's statement. Lotus products can be used to deliver enterprise level, real-business issue-addressing solutions via SaaS, cloud solutions, widget and gadgets as well as traditional web browser or fat client applications without pushing a given technology. Hell, the technology should be seamless and transparent in the usage experience.
Does this change how you're building your Lotus product-based applications?
-
There's so much more potential on what we can do today. We've got to get the word out.
This - to me - was the biggest take away from that call. IBM understands - like every yellowbleeder knows - that we are working with an absolutely amazing product portfolio. IBM - more importantly - understands that they need to make customers know that too. And IBM is really starting to push initiatives to make this a reality. I think they understand that their marketing may be missing their targets. They understand that there is a lot of talent outside of the IBM organization and are looking to leverage it with new strengthened community interactions. And while it's not something that can happy overnight, it is happening!
May 12th, 2009: OpenNTF, just this past week, announced their Steering Committee members and released their new online web presence.
OpenNTF's mission statement (if you will):
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.
Browse the catalog to find the projects, components and controls you're looking for which have been made available under the Apache license (ALv2).
Get involved in OpenNTF by contributing code, discussing technical topics or submitting ideas for OpenNTF improvements.
In the midst of this re-launch, long-time OpenNTF contributor Declan Sciolla-Lynch published the following observation: Is OpenNTF In Danger Of Jumping The Shark. Interesting points and concerns that I'm certain are shared amongst contributors and users alike, but the thing that I want to point out here - which serves to drive my earlier point home - is that IBM is engaging the community. In this case, it was by through the OpenNTF Steering Committee members and those IBMers who commented on the post. Definitely a must-read for anyone who leverages the amazing contributions, thankfully contributes themselves, or is especially concerned about IBMs involvement in the Open Source Lotus Notes/Domino community initiative.
May 13th, 2009: And speaking of community initiatives, the Lotus Technical Information & Education Community Kickoff meeting is scheduled for May 26th, 2009.
Join us for the first monthly meeting of the Lotus Technical Information and Education community! Our community consists of IBMers, business partners and customers who contribute to or use technical information for Lotus & Websphere Portal products, as well as those who have worked with the Lotus Information Development Center to provide feedback to help improve our offerings.
In this kickoff meeting, you'll hear about our community building strategy, meet some of our advocates who've agreed to help drive contributions, and learn how you can participate in our community to help keep technical information accurate, comprehensive, easy to find and relevant.
If you have product expertise to share or have opinions on how Lotus technical content can be improved, please join us for this important kickoff meeting! If you can't attend live, be sure to listen to the audio replay which will be posted following the meeting.
To accommodate schedules, we've setup two meetings:
- May 26th, 2009 @ 9:00AM - 10:00AM Eastern (-5:00 GMT)
- May 26th, 2009 @ 7:00PM - 8:00PM Eastern (-5:00 GMT)
We will be updating the Lotus Technical Information and Education Community (Greenhouse Login required) with more information on the meetings as we get closer to the date! If you're not on IBM Greenhouse (or are and haven't joined the the Lotus Technical Information and Education Community yet) there's still time to join before the call!
Those of you on Facebook can get more information via the following published events on the Lotus Technical Information and Education Facebook page:
Architecture: The "Report Profile"
02/23/2006 08:44:41 PM by Chris Toohey
While I feel it's important to provide real-time information to your application users, large databases that handle several thousand transactions per day, and more accurately, the reporting of or data interaction with said transactions can make even the most streamlined application slow with embarrassingly sluggish response times. In these cases, for those applications that exceed the "logical" document count for a Domino database (I'd say 200,000+ documents for a single database) I typically recommend the implementation of transaction profiles - the utilization of an architecture which I'll attempt to explain in the following article.
I've seen countless applications that tend to become sluggish just as it's finally being utilized to it's potential - and it's often the architecture reflecting the lack of understanding that while @dblookups and @dbcolumns are great for simple applications, they can prove disastrous for high-transaction databases.
While I don't consider myself a load-and-utilization expert, even I can see that there's going to be an issue with running an @dblookup on a view that contains 200,000 documents every time a form or document is opened simply to show the user the current document count or to return a subset of data from the database. It's for situations like this that I recommend the following:
Create an agent called "app/statreporter|statreporter". Below I've included some very basic Lotuscript that illustrates what you might include in such an agent.
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim reportview As NotesView
Dim reportdoc As NotesDocument
Dim coll As NotesDocumentCollection
Set db=s.CurrentDatabase
Set view = db.GetView("report")
'Check for a Report Profile, if none, create one
Set reportview=db.GetView("reportprofile")
Set reportdoc=reportview.GetFirstDocument
If (reportdoc Is Nothing) Then
Set reportdoc = db.createdocument
Call reportdoc.ReplaceItemValue("Form","reportcount")
End If
'Collect document counts from a particular view
Set view = db.GetView("ExampleView1")
Call reportdoc.ReplaceItemValue("Totalfrom1",view.EntryCount)
'Collect document counts from a subset of documents in another view
Set view = db.GetView("ExampleView2")
Set coll = view.GetAllDocumentsByKey("subsetkey")
Call reportdoc.ReplaceItemValue("Totalfrom2", coll.Count)
'Collect information from an external database - securely!
Dim dblu As NotesDatabase
Dim doclu As NotesDocument
Dim lutrigger As String
Dim count As Long
lutrigger = "lookupkey"
Set dblu = New NotesDatabase( db.server, "OutsideDatabase" )
Set view = dblu.GetView("stats")
Set coll = view.GetAllDocumentsByKey(lutrigger, True)
count = 0
Set doclu = coll.GetFirstDocument
Do While Not(doclu Is Nothing)
count = count + doclu.ExampleField1(0)
Set doclu = coll.GetNextDocument(doclu)
Loop
Call reportdoc.ReplaceItemValue("ExampleOutsideCollection",count)
'Save the Report Profile for further usage
Call reportdoc.Save(True,False,True)
End Sub
provided by Julian Robichaux at nsftools.com.
From the above code, you can see that I'm creating or modifying a single document, updating run-time information on whichever lookups I will need for my applications and returning the results in their own field - all to which I can now use a @DBLookup to a single document to gather the information that I require for my particular application.
Additionally, I am not only looking up information in the current database (as seen in my first two examples), but also in a separate database. As such, utilizing this approach can even lend to a tighter security infrastructure for your application servers, not to mention alleviated the need to jump from database to database.
Now, instead of having to traverse view after view to gather information, I can simply lookup the catalogged content in my Report Profile. The only thing left to do is set the expectation that this information can be on a 30 minute delay, in case you have a user that decides to perform a function that would generate a new entry to-be-catalogged in the "profile report" and performs another function, which should reflect a requirement to have the latest information.
I have a work-around for just this situation, which will be published in part 2 of this series.
Technorati tags: Show-n-Tell Thursday


