Tuesday, August 31, 2010

How to Install the OpenNTF Document Management Plugin for Lotus Notes 8.5.x

There's now a great new OpenNTF document management plug-in for Notes. I'm interested in seeing if I can move away from MS Office and this little utility seems to me to be the best way to start. It allows you to work on documents in folders while still keeping things available for users who prefer to access folders directly. The only caveat that I've found so far is that it wants everything to be stored in OpenDocument format and will convert the imports accordingly.

So... I've just installed this plug-in and in typical "dumb-user" fashion, I had to ask a number of questions of the authors.

I thought that to save others a bit of time and to illustrate the whole procedure, I'd make the procedure available here. Even if you're not interested in this particular plug-in, you might be interested in some of the others which are available. (like the awesome FileNavigator project). These steps might just be the ticket to installing them.

My instructions worked on Lotus Notes 8.5.2 but should work on other some versions too.

Click here for the project page for DocumentManagement. In theory you can download it from OpenNTF. I think you have to be logged in first. For some reason, I've been finding it difficult to download anything on OpenNTF recently, so if you experience difficulty, head to their blog post and use the download link there.

2. Extract All files to a folder:
In my case, since I put all our Widgets together on a corporate drive, I extracted all of the files to X:\IBM\Lotus\Widgets\DocumentMangement. Your setup is probably different so just extract them wherever you want (and remember where you put them).

Note that I had to separately unzip the updatesite sub-folder. For some reason it's a zip inside the ZIP. Notes didn't want to read it when I first tried, so I unzipped it.

3. In Lotus Notes client click File, Application, Install on the menu.
What? You don't have a File, Application, Install menu option? Sometimes you don't. I'm not sure why. It might be an 8.5.0 or 8.5.1 thing because I didn't need to do it in 8.5.2.

To enable the Eclipse update manager UI in Lotus Notes, use these steps...

a. Close your Lotus Notes client

b. Start Notepad or your preferred text editor.

c. Open the \framework\rcp in the Notes Application Directory
In my case, this was,
C:\Program Files\IBM\Lotus\Notes\framework\rcp

d. Look for a file called plugin_customization.ini and open it.

e. Add the line
com.ibm.notes.branding/enable.update.ui=true
anywhere in the file.

f. Save and close file

g. restart Lotus Notes

Thanks to Christian Petters at www.cubetoon.com who first saved me from that gotcha.

Ok, detour over... let's resume...


3. In Lotus Notes client click File, Application, Install on the menu.

4. Choose the option maked (o) Search for new features to Install and click the button marked Next.

5. Click the button marked Add Folder Location...

6. Browse to:
X:\IBM\Lotus\Widgets\DocumentMangement\Updatesite
(or wherever you saved your files to back in step 2)
and click Ok.

7. You'll be presented with an "Edit Local Site" dialog box, just click Ok.

8. Click Finish. (this button lies - seriously... there's a long way to go yet)

9. On the next screen, select DocumentManagement/updatesite
For some crazy reason, it defaults to unticked ... then click Next

10. Click (o) I accept the terms in the License Agreements, then click Next.

11. Click Finish. (Guess what, this button lies too - we're not finished yet).

12. On the next screen, select (o) Install this Plug-in
This is another crazy default because it defaults to do not install the plug-in. If you weren't paying attention, you'd have to start all over again - I've been there before... more than once.
Click ok.

13. Watch Bar Graph

14. Restart the Notes Client

15. I got this lovely message when the client restarted
Failed to login
CLFRJ0010E
I don't know what it means but it went away and hasn't come back, so hopefully it's nothing to do with the install procedure.


16. In my installation, this was where I made a big mess. I kept expecting to see a sidebar plug-in and when it wasn't there, I tried reinstalling. Don't do this. It's not the correct procedure. :-)

Click on your Open menu and hopefully you'll see a Document Management option.

Don't click it... I didn't say to click it.

If you did, you'll probably get an error message about the root directory when you first start the application. Don't worry, it's alright. Just click ok. Then close the Document Management window.

17. From the Lotus Notes Menu, click File, Preferences. Look for a Preference called Document Management and click on that.

18. Choose a folder to manage and click Ok.

19. I think the document management app opens up automatically after this but if not, click Open and then Document Management.

If you've got some ODT documents, you might want to drop them in the folder you nominated and then click Refresh. You'll then be able to work with them in the document management facility.

You can also import files and categories (folders) - and everything seems to be updated on the server's file shares in real-time. Now that I've had a quick play, I'll point to something bigger.

Wednesday, August 25, 2010

The Notes UI and Sending a Link to a File - Part 2

Thanks to everyone who responded yesterday. I've considered and tested the responses to find the method which will be simplest for our users.

What follows is a set of instructions....

We start our instructions by identifying the file we want to link to. Often for me, this will be a MPEG, AVI or giant PDF (because why else would you link rather than attach?) but in this example, I'm just using a MS Word Document.


You can see my path here is:

M:\Dept\IT\2010\Development\ExtraNet\Concepts

and my file name is

Proposed Extranet Login Systems.doc

Thus; my entire path and filename would be;

M:\Dept\IT\2010\Development\ExtraNet\Concepts\Proposed Extranet Login Systems.doc

Already by working the actual filespec out we're stepping slightly beyond the boundaries of the typical user.

Next, we type our email and highlight the words we want to link to a file;


Then we click the new "LINK" icon in Notes 8.5

This gives us a nice little box in which to type our URL. If this was a web link, it would be easy. Of course, being a file link, it's a different story.

You might think that at this point, you could simply paste a link to;

M:\Dept\IT\2010\Development\ExtraNet\Concepts\Proposed Extranet Login Systems.doc

but you'd be wrong. Notes will throw this out to the operating system as a URL. If your browser accepts all kinds of different URLs, (like Google Chrome does - and I presume future browsers will) then it won't know what protocol to use.

Just pasting the path in caused a lot of problems for me.

So... this is what you need to do to modify your URL.
  1. Prefix it with file://
  2. Change all backslashes to forward slashes (actually this should happen automatically).
Your new URL should look like this;

file://M:/Dept/IT/2010/Development/ExtraNet/Concepts/Proposed Extranet Login Systems.doc

Paste your new URL in and send your email. It should all work. Well, mostly work... If your users have firefox, you might discover that it actually blocks local links for security reasons unless you use these workarounds.

I'm not sure whether to provide these instructions for my users or not. In my opinion, it's still too difficult for them. I guess it wouldn't be too hard to create a button which did it - or even better, if IBM were to adjust the links button in future versions of Notes to allow browsing and selecting files on local resources.

Tuesday, August 24, 2010

The Notes UI and Sending a Link to a File

Yesterday I found myself explaining to a new but technical user that Notes/Domino is, like Blackberry. An amazingly powerful and capable piece of software capable of everything that the competition is capable of - plus a whole lot more.

....and hampered by what is still one of the worst user interfaces in the world.

Sorry Notes UI team - I know you're doing your best. The same goes for the blackberry team. I know that they're doing their best too. It's just that the user interfaces have so far yet to go.


So, this morning, the same user asks me how to send a link to a file on our common drives without sending the attachment everywhere.

He's already cleverly tried attaching the .LNK file, but our policies don't allow that as it's considered to be an executable file.

I said to him that I didn't actually know. 18+ years of using the product and I still really don't know how to do this. I know several workarounds but I don't know of any one all-encompassing method.

It's sad.

Even sadder is the fact that as I received the call I was clicking the SEND button on a PDF I was sending around in the required manner.

How did I do it?

I added a button into my mail and dumped a chunk of code which uses the windows ShellExecute API call into the lotusscript section.

I looked around the notes client to see if there was a new way (like that wonderful new way of adding web links). Nope... I couldn't see anything.

I tried Create as hotspot... it spat the dummy about spaces in the file path.

I enclosed in quotes and tried again... this time it almost worked. I changed the beginning of the path to "file://" and it worked - but of course I know that some browsers won't accept file:// urls for security reasons.

I'm none the wiser.

I did a web search and found the following;

A set of instructions...

Nope... I'm not telling my users to do that. It's too hard and I'd rather tell them that they can't do it. Try again.

An External Application

You're kidding right? I mean, kudos to the guys who found an empty market niche but there's no way I'm going to accept that we need to install a third party app for this. It should be built in. In any case, the application does a sort of manual DAOS (Domino attachment and object service). It still stores the attachment in a second place - inside a database in the notes/domino system.


My Code
I guess I should make my button code available for everyone - well, everyone who has a designer client - so, not the majority of my users...

1. Add a button.
2. Change it to Run on Client - LotusScript
3. In the declarations section put this code...

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (Byval hwnd As Long, Byval lpOperation As String, Byval lpFile As String, Byval lpParameters As String, Byval lpDirectory As String, Byval nShowCmd As Long) As Long

Declare Function GetDesktopWindow Lib "user32" () As Long

'CONSTANTS
Const SW_SHOWNORMAL = 1
Const SW_SHOWMAXIMIZED = 3
Const SW_SHOWDEFAULT = 10

4. Create a new subroutine as follows;

Sub RunShellExecute(sTopic As String, sFile As Variant, sParams As Variant, sDirectory As Variant, nShowCmd As Long)
'EXAMPLE: Play wav file with associated app RunShellExecute "Play", "c:\windows\media\Notify.wav", 0&, 0&, SW_SHOWNORMAL
'EXAMPLE: Play avi file with associated app RunShellExecute "Play", "E:\VB Graphics\avi\Cogs.avi", 0&, 0&, SW_SHOWNORMAL
'EXAMPLE: Open txt file with associated app RunShellExecute "Open", "c:\My Documents\rundll.txt", 0&, 0&, SW_SHOWNORMAL
'EXAMPLE: Open txt file with notepad RunShellExecute "Play", "C:\windows\notepad.exe", "c:\My Documents\rundll.txt", 0&, SW_SHOWNORMAL
Dim hWndDesk As Long
Dim success As Long
Const SE_ERR_NOASSOC = &H31
Const vbTextCompare = 1
Dim HashPos As Integer
HashPos = Instr(1, sFile, "##" , vbTextCompare)
If HashPos > 0 Then
sTopic = Left(sFile, HashPos -1 )
sFile = Right(sFile, (Len(sFile) - (HashPos+1)))
End If
'The desktop will be the default for error messages
hWndDesk = GetDesktopWindow()
Print "RunShellExecute: " + "Topic=[" + sTopic + "]" + " File=[" + sFile + "]"
'Execute the passed operation
success = ShellExecute(hWndDesk, sTopic, sFile, sParams, sDirectory, nShowCmd)
End Sub

5. Write the click routine as follows; (with the LaunchPath pointing to your file).

Sub Click(Source As Button)
Const LaunchPath = "L:\Videos\IT\Hacking Fraud Example.avi"
RunShellExecute "Open", LaunchPath, 0&, 0&, SW_SHOWNORMAL
End Sub


There.... Easy! ... erm... not.


DAOS
The new Domino attachment and object service helps a lot in this regard. It only stores the attachment once - and without any user-intervention. It's almost a solution but not quite.

You see, in this day and age, we often want to make video and audio recordings of our conferences available to our internal staff without having to store even a single copy on our mail server. After all, sometimes these recordings are several gigabytes because the conferences can last for days.

Sometimes we just want to point people to a particular folder and not to file.


No Answer?
Well, that's it from me. I've been using Notes/Domino for longer than I was at school and yet I still don't know an easy way to send a link to a file.

Has anyone out there got any ideas?

Wednesday, August 18, 2010

Article: 5 Million Web Sites Served Malware for at Least 3 Months - And Nobody Noticed!

I really want to direct your attention to the following article which appeared today;

Malicious widget hacked millions of Web sites
Parked sites hosted by Network Solutions spread malware since at least May

Essentially the article says that up to 5 million web sites have been serving up malware for at least the last three months - and nobody noticed.

Even worse, it appears that nobody was safe;

"The widget turned every infected domain into a drive-by attack site that launched the multi-exploit "Nuke" toolkit against users running Internet Explorer, Firefox, Chrome and Opera"

Typically, the malware seems to only affect Windows PCs. Roll on Chromium OS! I'm not sure how much longer I can continue to support windows environments for anything other than games.

There's also the fact that the cleanup hasn't been completed.

"Although Network Solutions has disabled the widget on all parked domains and has taken the GrowSmartBusiness.com site offline, the widget remains on approximately 5,700 active sites that manually installed it, Huang said. Nor has Network Solutions scrubbed the malicious script targeting users with IP addresses located in Taiwan and Hong Kong"

Anyway, I've also got a bone to pick (as usual) with certain Anti-Virus vendors because yet again this month, I've seen known viruses just wander in past McAfee's defences. I'm not happy! Sadly, Microsoft's free Windows Defender is still much better at detecting viruses than the paid McAfee product. If you're not running it, you should get it now. This month I learned the hard way that you can't install it on an infected PC running in safe mode.

In the meantime I was just wondering what exactly this article means for cloud platforms of the future. Google Apps, IBM Lotus Live and Microsoft Azure? Surely none of these will work if the browsers don't come with anti-malware defences built in.

Also... what part should the ISP's play in defence I wonder?

Monday, August 16, 2010

Our Lotus Domino Cluster Failover Problem

In certain computing circles, "clustering" is a dirty word. I've heard of situations where, far from providing business continuity peace of mind, it creates more work and greater risk than it would if it were not involved.

This is not the case with Domino clustering. Done properly, it is extremely reliable

Our Problem
Recently, our cluster seems to have "picked up a slight flutter". Actually, I think that perhaps the rules behind it may have changed sometime around our 8.0 or 8.5 migration.

So, first I want to cover off basically what our cluster looks like;


Ok, this is quite a simplistic view and there are servers missing. I'm concentrating on the problem area only.

We have an onsite and offsite clustered Lotus Domino server, both running Lotus Domino 8.5 HF 1021. We'll call them "Onsite" and "Offsite" for ease of reference. The servers are quite a distance apart because we're clustering for business continuity purposes.

The theory is that our onsite staff members should access the onsite server unless it is down. The majority of our agents also run on this server, as does an intranet, extranet and several web sites. It's a busy and powerful box.

We discovered recently that many of our clients have been using the offsite server but we don't know exactly why.

It seems that if you open a database for which you don't already have a desktop icon, then the Notes client will default to opening it from the offsite server. What has exacerbated this problem is that we upgraded our clients to 8.5.1 and blew away their desktops. Now, suddenly all the computers are trying to access everything off the offsite server.

The reasons?
We don't know but were thinking that it was either;

  • Alphabetic: Because "Offsite" is lower in the alphabet than "Onsite"
or
  • Task Related: Because the Onsite server is much busier than the offsite one.

Does anyone have any ideas as to how we could go about finding out?

Thursday, August 12, 2010

Quick Rant: Why does Blackberry Discriminate against Australians?

I've noticed this on Blackberry a lot over the years and it always irritates me. Today, I thought I should post a quick rant to pass that irritation on.

See the picture...

Why the discrimination against Australians and South Koreans?

I'm sure I could bypass this with the right IP filter but that's not the point. Why do we get picked on. What have we ever done to Blackberry?