IBM®
Skip to main content
    Country/region select      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     
 
developerWorks
AIX and UNIX
IBM Systems
Information Mgmt
Lotus
New to Lotus
Products
How to buy
Downloads
Live demos
Technical library
Training
Support
Forums & community
Events
Rational
Tivoli
WebSphere
Architecture
Autonomic computing
Java™ technology
Linux
Multicore acceleration
Open source
SOA and Web services
Web development
XML
About dW
Submit content
Feedback


developerWorks  >  Lotus  >  Forums & community  >  Best Practice Makes Perfect

Best Practice Makes Perfect

developerWorks
A collaboration with Domino developers about how to do it and how to get it right in Domino

There's a new wiki about Domino development best practices. It was written by various experts in and out of IBM, and I followed up with a lot of edits myself, so I'm an after the fact contributor. It's brand new so there are probably some mistakes, which I hope you people who know what you're doing, will correct.

I think this will be a good resource for developers, and I'm adding a link to my list of links on the right.

In other news, if you'd like to read a short story by me (under my fiction alias of Tyler Tork), there's one in the December 2011 issue of Stupefying Stories, available for Kindle,
Nook or on iTunes.

Andre Guirard | 10 January 2012 12:11:40 PM ET | | Comments (3) | Permanent Link

The new document, Controlling Document Editing in a Notes Client Application, is intended for novices and will probably not contain a lot of news for the regular readers of this blog. But for those experienced developers here, I welcome your comments, corrections, questions about what the heck I meant by this sentence, etcetera. This is where the collaboration part comes in. Thanks.

Andre Guirard | 17 November 2011 01:34:02 PM ET | | Comments (2) | Permanent Link

It seems like a lot of companies are still struggling to figure out how this social stuff can be used to aid their marketing. It might be just me, but some of them seem to be wandering far into the Too Much Information zone.

I'm not even talking about the information the companies themselves publish, though why anyone would want to subscribe to the Twitter feed of a Chinese buffet restaurant or a hotel has frankly been puzzling me for a while. No, I'm talking about the information the companies want to help us publish about ourselves and our use of their products.

Take for instance a certain restaurant chain. I ordered online from their website, and what do I see on the ordering page? Yes, that's a Facebook button. Really, there's not enough trivia on Facebook, the restaurant thinks everyone I know needs to know what I'm having for dinner? I try to keep my posts useful, entertaining, interesting.

Then there's another new thing on Facebook -- I sincerely hope it's a fad. The "Social Reader" application posts every article you open in a given publication onto Facebook. Once you've allowed this application the ability to write to your wall, the instant you follow a link to the article, everybody knows of your interest in celebrity plastic surgery or whatever.

I really value that my Facebook friends can share articles they've enjoyed. I find out some worthwhile things, experience different points of view, and learn something about the person. But, not speaking for anyone else, I can't tell whether an article is worth sharing just from the title. I read lots of things online, and a fairly small proportion are worth passing on. When I post, again, I want it to mean something -- not just to vainly share every tiniest detail of my life in the presumption that someone might be interested. We are drowning in a flood of trivia already.

I know, I can hide those updates in my own feed. And I have (the Social Reader ones -- I've never seen a red hot meal update from that restaurant chain, so I don't know whether I can filter them easily). I just don't understand why people would choose allow those Social Readers and so on access to speak for them. I can understand people might be curious to read the article, but go to the newspaper's website and search for it there. Don't publish a link until you know it's worth publishing!

Andre Guirard | 15 November 2011 08:07:52 AM ET | | Comments (0) | Permanent Link

I suspect this can be simplified. Thought people might find it amusing.

Andre Guirard | 10 November 2011 08:09:35 AM ET | | Comments (1) | Permanent Link

A new version of the "LotusScript Gold Collection" toolkit is available on openntf.org. It includes the much requested NotesGroupManager library which used to be in the Lotus Sandbox, and a way to call Notes C API functions without having to check which OS you're using before each call. The latter might not work on all servers, but the problem has been reported to the LotusScript team in development. It works great on all clients (and you could easily make a server version, it's just not as efficient as you must load the classes for all supported OS instead of using dynamic loading).

And, if you're interested in the doing of my alter ego, Tyler Tork, you can read a Halloween tale on my other blog (link on right).

Andre Guirard | 31 October 2011 01:03:12 PM ET | | Comments (3) | Permanent Link

Timothy Briley asked:


I've noticed that over time you've written a bit about valid searches in Lotus Ntoes. Can you comment one way or another on whether or not this is a valid search method:
To find documents in a view containing an empty date field manually by using the search bar or programatically using notesView.FTSearch:
Not([fieldName] > 0)
If this is a valid method, why isn't it documented?

It is seems to work for you, fine. Many things are not documented. Sometimes this is because the developer didn't tell anyone about it, sometimes because it wasn't a planned feature (as I suspect is the case here), and sometimes because we don't want to commit to supporting it indefinitely. When you try to make each version of a product able to support applications created in all previous versions, you have to be careful about what you call a supported feature.
So in general, if something is not documented, you should use it with care and make a special point to test it out before you upgrade your Notes/Domino installation, to make sure it still works in the new version.
In this case, there's a supported way to do what you're looking to do. The "is present" syntax, which is documented, will let you find documents that do, or do not, contain a value in a given field.
However, depending on your application, this may not be the most efficient way to do your search. Please see the wiki article Searching for Documents for some guidelines.

Andre Guirard | 31 October 2011 06:15:00 AM ET | | Comments (2) | Permanent Link

http://www-01.ibm.com/support/docview.wss?uid=swg21569452

Please apply this security fix to your Sametime servers. Thanks

Andre Guirard | 28 October 2011 09:55:19 AM ET | | Comments (0) | Permanent Link

One reason I haven't been posting here much recently, is that I've been working on LotusLive configuration tools, and I didn't think that would be of general interest. These would be the NSFs that end users download to configure their workstations to access LotusLive Notes, and the one that the on-premises administrator in a "hybrid" organization uses to set up their servers to communicate with LotusLive's servers to deliver mail, etc. It's a lot of complicated application development for the Notes client, which is what I love.

So I can talk about some of the ins and outs of LotusLive client and hybrid server setup, how users are migrated, how we know when to delete their old mail files, and so on, if that's of interest here. Or if you have topics you'd like to see more about, please respond in comments.

Andre Guirard | 8 June 2011 08:18:14 AM ET | Home, Plymouth, MN, USA | Comments (5) | Permanent Link

When automatically generating an adminp request that applies to a specific database, there's an item in the request that you may find hard to create. If you create adminp requests manually and then examine the items in them, you can see for instance that you might have the item ProxyReplicaID with a date/time value. Doesn't look like you would expect a replica ID to look. How do you convert the value of (say) NotesDatabase.ReplicaID, a string, to the TIMEDATE value that gets stored in the note? All the bits are used, so there's a 100ths of a second value that you can't see, but it's in there. Likewise, the timezone is stored in there and has to be preserved.

If you had the value in an item in another document, it would be easy to copy the item to a new adminp request. But if you have to create it from scratch, you need a way to convert a replica ID hex string to a TIMEDATE value.

There is a way, fortunately. The constructor of the NotesDateTime class accepts a hex string as a possible input, so you can just write:

Dim replicaTD as New NotesDateTime(dbTarget.ReplicaID)

docAdminp.ReplaceItemValue "ProxyReplicaID", replicaTD

Though you can't get the NotesDateTime to tell you the exact value to 100th of a second, the exact TIMEDATE value is in there, as you can tell using @Text("ProxyReplicaID"; "*")

Andre Guirard | 7 June 2011 08:15:00 AM ET | Home, Plymouth, MN, USA | Comments (1) | Permanent Link

Image:What is this boy doing?
This has nothing whatever to do with IBM products, but is just a fun little project of my own. So if you're bored or whatever, steer your browser to the Pounce blog and ask a question for Tyler to answer.
The site is pretty rough at the moment; I'll pretty it up as I have time over the coming days.

Andre Guirard | 6 June 2011 09:10:16 AM ET | Home, Plymouth, MN, USA | Comments (0) | Permanent Link

Lotus Software

Search this blog 

Disclaimer 

    About IBM Privacy Contact