Archiving in Lotus Notes came a long way. It is easier then ever once you got it setup right (if you
were nice to your Notes administrator (s)he would have setup that for you
using a policy). So here is the trick. Create one folder named
Archive. It is case sensitive, so
archive or
ARCHIVE won't do.
You now can drag & drop documents into that folder. The standard Notes mail template contains code to recognize when you want to drop into that special name.
Tip: when dragging from other folders than the inbox use Ctrl+Drag, so Notes will retain the folder information (and yes - I'm getting myself a Huawei E5 router). You will be prompted to archive the documents:
While this is sweet and easy you would now have to wait until archival is complete. Waiting for a computer to finish its work is the last thing I want to do, so I say NO. With a few extra steps the documents still get archived away. Let me show you.
Read more
Posted by Stephan H Wissel on 30 September 2009
|
categories: Show-N-Tell Thursday
Take note: this is the 21st century. If you want business update your YellowPages listing with an eMail address. Go and fix your websites: if all that is on your homepage is one piece of flash no searchengine will find you - and yes that high paid executive looking for you on her iPhone won't see you either.
Posted by Stephan H Wissel on 30 September 2009
|
1 comment
|
categories: Singapore
With the help of
Richard and Tony I found out, that the material I'm looking for is called hardwood plywood (the image shows 10 layers). Now I had to design the table. This is what I came up with (using
Google SketchUp:
I'd like to keep things simple, so the plywood sheets would be just waxed or clear painted and wall mounted using metal triangles (you can see one sticking out on the left). The sheets would have a nice finish at the edges like the picture below.
Now I need to find a carpenter who can do that. My kitchen guy unfortunately doesn't have the quality of wood I'm looking for (other than that: he did a real good job in our kitchen).
Update: As Nick suggested - Rubber Wood would work too!
Update: It seems rubber wood is used for kitchen table tops and only comes up to 65cm wide. I would consider rearranging the layout to have a 10cm stripe of something else at the back (maybe a stripe of
perforated sheet or ?). When you look at the edges of the wood, you can see, that the edges are not 90 degree, but rounded. Makes it more pleasant when resting one's arm on them. There are three potential forms which are listedt in the sequence of my preference:

Posted by Stephan H Wissel on 30 September 2009
|
2 comments
|
categories: After hours
My study is equipped with two
Ikea Jerker computer desks. The
Jerkers were great as long as SWMBO and I were the only constant users. However now "
The Gentlemen" use the equiment increasingly often, so the Jerkers have to go and make space to a bespoke solution. Being a
carpenter's brother I have direct access to good advice (unfortunately
too far away for actual work). We decided on make and
material. Then I hit the wall: What is the correct English translation of "
Multiplex Platte"? It is a layered plywood panel, but I only got a blank look from the local carpenter I asked here. So I have tow questions: What is the correct English translation and (for my Singapore readers): where can you get them in Singapore?
Posted by Stephan H Wissel on 26 September 2009
|
4 comments
|
categories: After hours
In the beginning there was Notes. And Notes was used inside the corporation only. And things were good. Then came the time to link Notes to other eMail systems. These other systems only supported text. And things were good. Then MIME arrived. Notes added MIME conversion and trouble started <vbg>. A lot of admins didn't like MIME since it required additional bandwidth and opened up a can of potential worms. So they switched off the incoming or outgoing mime conversion. And forgot about the settings. So today many users grief because their nice messages are dumbed down to text. Fixing that is easy as 1-2-3 once you get your server configuration document into edit mode:
If most of your communication partners use Notes on the other end of the pipes, you might consider to encapsulate the original message by default (your bandwidth watchdog will hate you for that)
For the highest fidelity in RTF to MIME conversion you want to have a close look at
iFidelity.
Posted by Stephan H Wissel on 24 September 2009
|
6 comments
|
categories: Show-N-Tell Thursday
Testing web applications is a tedious job. Gazillion combinations of browsers and operating systems can turn that into a nightmare (suddenly a rich client doesn't look that bad anymore).
Scott Hanselman has a very good
blog post on testing considerations. One of the services he introduces in the post is
Browsershots that allows you to take screenshots of your site using many combinations of browsers and operating systems. The only catch: the site must be publicly accessible and the free service will publish your images. There is a private service available for a fee. Neat tooling for visuals. A similar offering is available from
MultiBrowserViewer which requires a client (Win only) installation. Still you need to test functionality and performance. Here you might look at
JMeter for performance or
Selenium for functional tests. Not to forget
HTTPUnit, XPages
Unit Tests and of course IBM's commercial tools like
Rational Functional Tester and
Rational performance Tester (For testing Notes client applications you would use
Smart Toucan's AutoUser). Of course performance testing comes with its own
set of caveats (Don't bother to test what you can't fix).
Posted by Stephan H Wissel on 24 September 2009
|
categories: Show-N-Tell Thursday
Over the weekend I took a stroll over Singapore's premier consumer electronics and IT fair
Comex 2009. Besides the usual suspects like all the big brands in PCs, printers, cameras and TVs one can find curiosities and strange things. One of them was the "
Mini Sun Power Saver" aggressively marketed by the H2H group. The flyer claims it can reduce domestic power consumption by 30% and stabilise your power supply. The strange part here is, that you just plug the device into a socket. So it sits in parallel to other consumers. The sellers claim the savings effect is due to the stabilisation of the power flow weeding out spikes and irregularities. The picture they use shows a zigzag line which isn't entirely accurate for AC, which is a sinus wave. Also the label reads "
German's technology" which is at least a grammatical error. So out the question to the lazy web: Can anyone explain how exactly
such a device would work (some complicated formulas are OK for me) and/or if it is just a repackaged snake-oil variant?
Update:
CASE (our SG consumer watchdog) thinks
it is Snakeoil.
Posted by Stephan H Wissel on 14 September 2009
|
4 comments
|
categories: After hours
XPages does a fe nice things automagically for you. Thinks like giving you the content of a view page by page. While this is impressive on the first view a lot of the potential users would like to see more options in that navigation/paging control. This got me thinking and I drafted how the "Ultimate View Navigator" would look like. After all Bob Obringer designed his classic Domino
navigator partly based on my suggestions (Unfortunately Bob's blog is gone). So I doodled around with my
favourite screen design tool and here is what I came up with:
I think it covers all the usual bases. A few caveats: It hasn't been designed for categorised views, but will display single category selections well (for my view on categorised views, check my
earlier post). It also will not perform nicely when you use reader fields protected documents (and again that
topic has been covered before). Did I miss anything in the UI?
Posted by Stephan H Wissel on 10 September 2009
|
16 comments
|
categories: XPages
The question "What is the best way to integrate Domino with an RDBMS" surfaces quite regularity. With the
impending demise of NSFDB2 these are your options:
- Domino Enterprise Connectivity Service (DECS - part of Domino)
- Lotus Enterprise Integrator (LEI - separate product)
- Custom code using LCLSX
- Custom code using Java in XPages
So the interesting question is: when to use what?
To get the best performance you need to revisit architecture rather than find solutions for a specific coding problem. When it comes to RDBMS code we find that a lot of developers like to create their own code not taking advantage of optimised code (caching, pooling etc.) provided by the platform. You need to clearly be aware why your code *MUST* talk to a RDBMS. These are the guidelines:
- Don't use an RDBMS (1)
Domino's multi-value field capability can model master-detail records without the need for a relation. the NotesSQL driver makes Notes databases available for report generators that require tables as input. Webservice and XML capabilities can provide many of the alternate use cases. I can have a look at specs to make suggestions how to implement them in standard Notes. We have databases in production with more than a million records and many GB in size. Some performance tuning works wonders:
- Does my application really need a RDBMS in the background? If you are looking for performance that is probably a no, if you need to integrate into existing systems that is probably a yes. also if you look at transactional applications that would be a yes
- Does my application need real-time lookup into an RDBMS? In a lot of cases that is a NO. You might need to lookup person information in the RDBMS. In this case you better use that information and TDI (provided with R8) to synchronize the RDBMS with the Domino Directory (there are enough fields for most information *and* there is a customization API build into the directory) and use @NameLookup which beats any RDBMS connection (for the caching have a look here: http://www.ibm.com/developerworks/lotus/library/ls-D6_Dir/ -- and that was just R6). For other databases DECS/LEI is a good option. So instead of RDBMS code you use normal lookups in Notes. A neat trick here: store the UNID of the new document into the person's record and instead a @DBLookup or getDocumentByKey you can use @NameLookup/@GetDocfield @NameLookup / getDocumentbyUNID for high performance
- Consider well: would a "on document change" agent be sufficient? Is the result of the transaction needed for the user directly? If not: Use a Java Threat for the connectivity so a transaction can continue without the user waiting
Don't use an RDBMS (2)
With XPages (introduced in Domino 8.5) an application now can use data from more than one document or database in a single form easily.
- Use DECS
Does my application CODE need real-time access into a RDBMS? Domino provides DECS out of the box and LEI for a fee. DECS/LEI provide a robust fast way to access RDBMS data without a developer needing to write (and maintain) ODBC/JDBC/LCLSX code. It also takes advantage of connection pooling. in DECS Domino forms are configured to map to relational tables including mapping multi-value fields to master-client tables. Entries exist in Domino and the RDBMS. Any RDBMS would work: DB/2 MySQL, Oracle and other vendors. DECS is a sufficient solution if creation/deletion of records happens through the Domino front-end (date changes, short of the primary key) can happen anywhere. There are thoughts about advanced uses of DECS.
- Use LEI
Similar to DECS but with more options: records can be created/deleted from Domino and/or the backend. Data can be stored in the RDBMS only (Virtual views/documents). Data operations can be scheduled (great for reporting). I like the virtual views and probably will write about them soon(er or later).
Domino doesn't do transaction(s) handling in an RDBMS. If you need that functionality you need to ensure that on the RDBMS side. A best practice for write access: write documents back into a "command database" that is linked to the RDBMS using DECS/LEI. The table it is linked to would be a auxiliary table with a "on create" trigger. That trigger does on the RDBMS site what it needs to do (and the developer doesn't need to understand anything about Domino. They only need to understand the RDBMS). The trigger would update the "command record" so on the Domino side you can process the result
- Custom code using LCLSX
Developers love this, but I haven't seen a good use case for that. Typically this is used for small transactions where the configurability of DECS/LEI is not appreciated. One case: an existing RDBMS with a lot of triggers/stored procedures can't be amended to incorporate a neat connection to Domino (the best solution: let DECS write in a temp table and have the onInsert trigger in the RDBMS pick the value and call the stored procedure. It separates your Lotus(Script) code from SQL 100%. This way you don't need to mix code and SQL, makes maintenance muuuch easier, saver and cheaper). If you have to code: use LCLSX. Do not use ODBC direcly (especially SQLServer sucks on ODBC, it is build for OLEDB which LCLSX is using for it). Encapsulate into classes.
- Custom code using XPages/Java
You can use any Java class in XPages to connect where ever you want to connect. Suitable approach when you have *huge* RDBMS databases and need to display/render small portions of it at a time (e.g. P/O database with a Domino based approval system). Maintain the connection in one of the contexts (application / session) and use a pool manager (but double-check: is DECS/LEI/TDI a better option?)
As usual YMMV.
Posted by Stephan H Wissel on 07 September 2009
|
4 comments
|
categories: Show-N-Tell Thursday