<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
<title>Sean Cull</title>
<description>Tech tips on Notes / Domino and life with a Tablet PC</description>
<link>http://www.seancull.co.uk/public/seancull.nsf/</link>
<language>en-uk</language>
<lastBuildDate>Thu, 11 Dec 2008 18:28:53 +0100</lastBuildDate>
<item>
<title>SNTT : Button to check if your users are fowarding mail to external email accounts</title>
<pubDate>Thu, 11 Dec 2008 18:28:53 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2</guid>
<content:encoded><![CDATA[  Users forwarding automatically forwarding emails to external accounts can cause both security and reliability issues. I have seen instances where an email was automatically sent to an external account which sent back an error bounce message ... which got sent to the same account ... which sent back another bounce message ... and so on. <br /> <br /> There are two main ways that users will do this. <strong><br /> <br /> The first</strong> is to modify the mail forwarding address in their person record ( Can your users edit this setting ? Should they be able to edit this setting ? ). You can find these affected records by searching the people view in the NAB / Domino Directory using a search string such as the one shown below - this is a cruse search looking &nbsp;for the existence of the "@" symbol in the mailaddress field. Note that you can save this as a shared search for future use. <br /> <br /> <img  alt="Image:SNTT : Button to check if your users are fowarding mail to external email accounts" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2/content/M2?OpenElement" /><strong><br /> <br /> The second</strong> method that users use to forward mail to external accounts is to use the mail rules in their mail files. These can be disabled in the server configuration record but they are genuinely useful things to have in many cases. <br /> <br /> I have written code for a button which will scan everyones mail rules ( assuming the user has access to their mail files ) and return a report of mail rules containing the symbols "@" and "." in the same forwarding address. This is a fairly crude search string but it is effective in most cases - feel free to improve upon it. <br /> <br /> Clicking on the button will produce a report such as the one below which is emailed to your Notes account. <br /> <br /> <img  alt="Image:SNTT : Button to check if your users are fowarding mail to external email accounts" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2/content/M3?OpenElement" /><br /> <br /> If you are having trouble accessing peoples mail files you may want to try using the "Full Access Administration" option in the administrator client <br /> <br /> <img  alt="Image:SNTT : Button to check if your users are fowarding mail to external email accounts" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2/content/M4?OpenElement" /><br /> <br /> <br /> You can download the as an lss file at the end of this post. You can also download a database with the button in the first document - just cut and paste it to where ever. You should obviously look at the code before you click on the button - do this by selecting the button, right clicking and choosing edit. The easiest way to select the button without pressing it is to backspace onto it. <br /> <br /> The code is provided for your own use without warranty. FoCul would be very happy to provide you with admin or development support for your Notes and Domino needs. You can contact us via <span style="text-decoration:underline"><br /> <br /> </span><a href=http://www.deliverytoolkit.com/><span style="text-decoration:underline">http://www.deliverytoolkit.com</span></a> - our new shrink wrapped offerings <span style="text-decoration:underline"><br /> </span><a href=http://focul.net/><span style="text-decoration:underline">http://focul.net</span></a> - our main site ( needs updating !! ) <span style="text-decoration:underline"><br /> </span><a href=http://seancull.co.uk/><span style="text-decoration:underline">http://seancull.co.uk</span></a> ( my personal tech blog ) <br /> <br /> <br /> <a href="http://www.seancull.net/public/seancull.nsf/dx/mailaudit.zip/$file/mailaudit.zip" title="mailaudit.zip"mailaudit.zip/>mailaudit.zip</a><br /> <a href="http://www.seancull.net/public/seancull.nsf/dx/mailaudit2.lss/$file/mailaudit2.lss" title="mailaudit2.lss"mailaudit2.lss/>mailaudit2.lss</a><br /> <br /> As ever if anyone knows of a better way to monitor this - or to disable it - please let me know. It does seem odd that the functionality does not exists in 80x <br /> <br /> The last question is will my GPRS signal last far enough into the Irish Sea to replicate this from my ferry ! <br /> <br /> Sean   ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/sntt-button-to-check-if-your-users-are-fowarding-mail-to-external-email-accounts.htm2?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>SNTT - Short agent to change the run on server for scheduled agents</title>
<pubDate>Thu, 4 Dec 2008 18:00:00 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/short-agent-to-change-the-run-on-server-for-scheduled-agents.htm</link>
<category>Dev Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/short-agent-to-change-the-run-on-server-for-scheduled-agents.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/short-agent-to-change-the-run-on-server-for-scheduled-agents.htm</guid>
<content:encoded><![CDATA[ I use this administration agent in my databases to quickly change the "run on" server for all f the scheduled agents when I deploy a template to a new server.  <br /> <br />The other approach I use is to have the agent "run on all servers" but to then have each agent check for a configuration document in the database which then lists which servers it is allowed to run on. If the current server is not in the configuration document then the agent exits. <br /> <br />Sub Initialize <br />&nbsp; &nbsp; &nbsp; &nbsp; Dim session As New NotesSession <br />&nbsp; &nbsp; &nbsp; &nbsp; Dim ws As New notesuiworkspace <br />&nbsp; &nbsp; &nbsp; &nbsp; Dim db As NotesDatabase <br />&nbsp; &nbsp; &nbsp; &nbsp; Set db = session.CurrentDatabase <br />&nbsp; &nbsp; &nbsp; &nbsp; Dim askme As Variant <br />&nbsp; &nbsp; &nbsp; &nbsp;  <br />&nbsp; &nbsp; &nbsp; &nbsp; askme = ws.Prompt (PROMPT_OKCANCELEDIT, _ <br />&nbsp; &nbsp; &nbsp; &nbsp; "Suggested Server", _ <br />&nbsp; &nbsp; &nbsp; &nbsp; " You must use the format CN=...." ,db.server) <br />&nbsp; &nbsp; &nbsp; &nbsp; If Not Isempty (askme) Then <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Forall a In db.Agents <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Not a.servername = "" And Not a.servername = "*" Then <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If a.servername = askme Then <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print a.name + " already set to run on chosen server" <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print "changing " + a.name + " from " + a.servername + " to " + askme <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a.servername = askme <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call a.save <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End Forall &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; End If <br />&nbsp; &nbsp; &nbsp; &nbsp; End Sub <br /> <br /> <br /><a href="http://www.seancull.net/public/seancull.nsf/dx/change_server.lss/$file/change_server.lss" title="change_server.lss"change_server.lss/>change_server.lss</a>  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/short-agent-to-change-the-run-on-server-for-scheduled-agents.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/short-agent-to-change-the-run-on-server-for-scheduled-agents.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>GPSED.COM Blackberry GPS Datalogger and Memory Map overlay ( 8/10 considering it is beta )</title>
<pubDate>Sat, 29 Nov 2008 17:43:12 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/gpsed.com-blackberry-gps-datalogger-and-memory-map-overlay-810-considering-it-is-beta-.htm</link>
<category>Blackberry</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/gpsed.com-blackberry-gps-datalogger-and-memory-map-overlay-810-considering-it-is-beta-.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/gpsed.com-blackberry-gps-datalogger-and-memory-map-overlay-810-considering-it-is-beta-.htm</guid>
<content:encoded><![CDATA[ Some time back I read about <a href=http://www.gpsed.com/><span style="text-decoration:underline">GPSED.com</span></a> on <a href="http://oak-grove.typepad.com/oakgrove/2008/07/morning-walk-tracking-on-gpsedcom.html"><span style="text-decoration:underline">Graham Chastneys blog</span></a>. <br /> <br /> I do quite a bit of hill walking and mountain biking and although I think navigation by GPS is a deeply flawed idea in the mountains ( a philosophical point about the skill set you should have rather than any technical issues) I do like the idea of using a GPS as a datalogger to record how your journey went and to share it with others. <br /> <br /> I installed the GPSED.com sofware on my Blackberry 8310 and went for a mountain bike ride. I then uploaded the route to GPSED.COM ( <a href=http://gpsed.com/track/2436512390246647404><span style="text-decoration:underline">see here</span></a> ) and then downloaded it into <a href="http://www.memory-map.co.uk/">Memory Map</a> - a popular digital mapping system in the UK. The screen shot below shows the output - well impressive for free software. <br /> <br /> <img  alt="Image:GPSED.COM Blackberry GPS Datalogger and Memory Map overlay ( 8/10 considering it is beta )" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/gpsed.com-blackberry-gps-datalogger-and-memory-map-overlay-810-considering-it-is-beta-.htm/content/M2?OpenElement" /><br />  <br />The software is buggy, for example when you switch units the numbers change but the units label stays the same. I am also uncomfortable that you cannot delete your tracks from the web site once you have made them public.  <br /> <br />Memory Map itself is very impressive. I use it a lot for planning routes in the hills. Being an optimist it is particularly handy for comparing the ascent profiles of known walks with planned walks <br /> <br /><a href="http://www.seancull.net/public/seancull.nsf/dx/duddonwoods.jpg/$file/duddonwoods.jpg" title="duddonwoods.jpg"duddonwoods.jpg/>duddonwoods.jpg</a>  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/gpsed.com-blackberry-gps-datalogger-and-memory-map-overlay-810-considering-it-is-beta-.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/gpsed.com-blackberry-gps-datalogger-and-memory-map-overlay-810-considering-it-is-beta-.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>If your Snagit Editor is really slow and hogs CPU then read on</title>
<pubDate>Sat, 29 Nov 2008 16:49:15 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/if-your-snagit-editor-is-really-slow-and-hogs-cpu-then-read-on.htm</link>
<category>My software</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/if-your-snagit-editor-is-really-slow-and-hogs-cpu-then-read-on.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/if-your-snagit-editor-is-really-slow-and-hogs-cpu-then-read-on.htm</guid>
<content:encoded><![CDATA[ <strong>UPDATE : Snagit 9.1 has been released ( @ 9/12/08 ) and appears to cure this problem</strong> <strong><br /> <br /> Note : </strong>&nbsp;I am not entirely sure I understand why this works but it does seem to. I have asked Techsmith for clarification and will update this accordingly <br /> <br /> I am a big fan of Techsmiths Snaggit for creating annotated screenshots. Recently I have found that the editor program it has been taking 50% of the CPU and causing the computer to hang. I tried to reinstall it but that made no difference. Then I came across this artice on the Techsmith support site &nbsp;: <span style="text-decoration:underline"><br /> <br /> </span><a href="http://techsmith.custhelp.com/cgi-bin/techsmith.cfg/php/enduser/std_adp.php?p_faqid=474&amp;p_created=1141836211&amp;p_sid=XcyuQ6kj&amp;p_accessibility=0&amp;p_redirect=&amp;p_lva=&amp;p_sp=cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9Nyw3JnBfcHJvZHM9MCZwX2NhdHM9JnBfcHY9JnBfY3Y9JnBfc2VhcmNoX3R5cGU9YW5zd2Vycy5zZWFyY2hfbmwmcF9wYWdlPTEmcF9zZWFyY2hfdGV4dD1jcHU*&amp;p_li=&amp;p_topview=1"><span style="text-decoration:underline">After making a capture, Editor loads slowly or the CPU usage jumps to a high amount which locks up the machine.</span></a> <br /> <br /> <blockquote>In version 9 this can happen if there is a zip file in the same folder with all your images that SnagIt Editor is keeping track of. &nbsp;This is a known issue that will be fixed in a future release. &nbsp;As a temporary workaround please remove all zip files from the folders that your images are contained in.</htmlblock> <br /> <br /> What the article does not make clear is what folders snaggit is watching. The default folder for storing the previous clips turns out to be : <br /> <br /> C:\Documents and Settings\>>username<<\Local Settings\Application Data\TechSmith\SnagIt\DataStore <br /> <br /> but this has no zips in it. <br /> <br /> So I double clicked on the folder icon in the bottom right of the screen, choose the folder option and then elected a newly created blank folder. The performance improved significantly but I am still not 100% sure I have a robust solution - I have emailed Techsmith and will update the response here if it is helpful <br /> <br /> You don't realise how useful Snagit is until you try and use it to get screen captures of itself ( which you can't easily ) ! <br /> <br /> <img  alt="Image:If your Snagit Editor is really slow and hogs CPU then read on" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/if-your-snagit-editor-is-really-slow-and-hogs-cpu-then-read-on.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/if-your-snagit-editor-is-really-slow-and-hogs-cpu-then-read-on.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/if-your-snagit-editor-is-really-slow-and-hogs-cpu-then-read-on.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Jabra SP700 Bluetooth Hands Free and FM transmitter ( 7/10  but could so easily have been 10 / 10 )</title>
<pubDate>Sat, 29 Nov 2008 07:56:06 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/jabra-sp700-bluetooth-hands-free-and-fm-transmitter.htm</link>
<category>My hardware</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/jabra-sp700-bluetooth-hands-free-and-fm-transmitter.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/jabra-sp700-bluetooth-hands-free-and-fm-transmitter.htm</guid>
<content:encoded><![CDATA[  <table width=100%> <tr valign=top> <td width=21%><img  alt="Image:Jabra SP700 Bluetooth Hands Free and FM transmitter ( 7/10  but could so easily have been 10 / 10 )" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/jabra-sp700-bluetooth-hands-free-and-fm-transmitter.htm/content/M2?OpenElement" /> <td width=78%>The <a href="http://www.jabra.com/sites/jabra/uk-uk/products/pages/jabrasp700.aspx"><span style="text-decoration:underline">Jabra SP700</span></a> is a visor mounted bluetooth car kit which also acts as an FM transmitter for a bluetooth A2DP MP3 player e.g. your Blackberry 8310 or similar. <br /> <br /> This means that you can listen to your phone calls or your MP3's on the car radio speakers <br /> <br /> The implementation is brilliant in most ways but there are some features which seem to lack thought <br /> <br /> .  <tr valign=top> <td> <td></table> <br /> <br /><br /> <strong><br /> Pros</strong> <br /> <br /> Very Effective <br /> <br /> Very clear conversations even through the car speakers at speed <br /> <br /> Excellent voice dialling on my BB 8310 <br /> <br /> Eliminates the need for an MP3 transmitter <span style="text-decoration:underline"><br /> <br /> </span><a href="http://www.4mobiles.co.uk/products/JABSP700/jabra-sp700-bluetooth-speakerphone.htm"><span style="text-decoration:underline">Cost GBP 40</span></a> <strong><br /> <br /> Cons</strong> <br /> <br /> My BB 8310 will restart the current podcast after I receive a call ( probably a blackberry profile issue ) <br /> <br /> You need to explicitly activate the FM transmitter with a button when a call comes in if the FM transmitter is not in use. Once you do trigger it it announces the frequency which takes 3 seconds and in that time you cannot hear your call ( you can turn this off but I think you then loose the other quite useful voice prompts ) <br /> <br /> Unlike some other less feature rich models it does not convert the incoming call number into a name - it just reads out the number <strong><br /> <br /> Silly Design Mistakes</strong> <br /> <br /> The in-car charging cable has a really fiddly plug ( like a small usb but not ) which fits into a recess behind a rubber plug - a frustration when you think that most people will want to charge the device whilst it is still attached to the visor<br /> <br /> The device will pair with multiple bluetooth devices but only one at a time. this is not too bad ( although see this one from the <a href=http://vowe.net/archives/010053.html><span style="text-decoration:underline">competition</span></a> ) but the frustrating part is that it will only pair <em>automatically</em> with the last device - so if your wife uses it with her phone then you need to go into your phone menu to re connect your device - it would be great if it cascaded through the devices until it found one. <br /> <br /> The blue LED which is almost directly in your line of sight needs a piece of tape over it to stop it dazzling you at night - I believe that this can be turned off but you need to download the manual - tape is easier !  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/jabra-sp700-bluetooth-hands-free-and-fm-transmitter.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/jabra-sp700-bluetooth-hands-free-and-fm-transmitter.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>SNTT: Stopping users from opening the wrong replica</title>
<pubDate>Wed, 22 Oct 2008 22:00:00 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/sntt-stopping-users-from-opening-the-wrong-replica.htm</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/sntt-stopping-users-from-opening-the-wrong-replica.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/sntt-stopping-users-from-opening-the-wrong-replica.htm</guid>
<content:encoded><![CDATA[  One of the great strengths of notes is that users can access the same information on different servers or on local replicas. It can also be a real problem. <br /> <br /> I have frequently had calls from people along the lines of <br /> <blockquote>"I added some information and I can see it but my colleague can't". </blockquote><br /> <br /> One of our clients recently wanted to deploy replicas of their business critical applications to a different server to improve robustness. Without taking any special steps this actually reduces robustness and user satisfaction because over a period of time users end up using different replicas from each other and sometimes are using a slow server ( a branch office in South Africa on broadband was often a culprit ) without realising this. <br /> <br /> The dynamics of how Notes chooses which server to open next often puzzles me but I was once told that it was to do with the alphabetical order of the servers because of the order of the databases in catalog.nsf - and once the top icon is for a distant server users will always use that server. <br /> <br /> Anyhow, the code that follows may help. In this particular case the business applications are only used on one site so access to any off-site server should only be required if the on-site server cannot be accessed, his makes it easy - in other projects I have used a rule whereby the application should be accessed on the same server as the persons mail file <br /> <br /> There are 3 design elements : <br /> <br /> 1) an action that creates a profile document listing the name of the preferred server - this is manually triggered when the system is set up <br /> <br /> 2) some script in the database initialize script which compares the preferred server lists above with the actual server <br /> <br /> 3) a subform which pops up to alert the user if looks as though they are using the wrong server. <br /> <br /> <br /> Essentially the code does the following : <br /> <br /> checks to see if the person has access to the database <br /> gets the preferred server name from the profile document and compares this with the actual server name. <br /> <br /> if the actual server != the preferred server then the system checks to see if the preferred server can be opened. <br /> if the preferred server can be opened then the user is advised as shown in the screen shots below otherwise the user is allowed to open the requested server <br /> <br /> I wasn't able to write code to actually switch to the new database so instead it closes the database and brings the correct icon to the top on the workspace. i have not tried this in a "workspaceless" environment. <br /> <br /> <br /> <img  alt="Image:SNTT: Stopping users from opening the wrong replica" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/sntt-stopping-users-from-opening-the-wrong-replica.htm/content/M2?OpenElement" /><br /> <br /> <img  alt="Image:SNTT: Stopping users from opening the wrong replica" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/sntt-stopping-users-from-opening-the-wrong-replica.htm/content/M3?OpenElement" /><br /> <br /> <br /> You may think that the steps required to access the "wrong" server are a bit OTT but remember that this pop up only gets triggered when the "preferred" server is available. <br /> <br /> <br /> <br /> Core Code <br /> <br /> Sub s_ServerCheck_6_01 <br />  &nbsp; <br />  &nbsp; '############################################################################## <br />  &nbsp; ' Sean cull, www.focul.net, 30/9/08 <br />  &nbsp; ' the purpose of this code is detect the opening of a suboptimal replica and redirect the user to the best replica <br />  &nbsp; ' this will be tested each time that the database is opened to make sure that the person is opening the most efficient server <br />  &nbsp; ' other componenets in this functionality are : &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; 'sfServerCheck - subform <br />  &nbsp; ' s_ServerCheck_6_01 ( Database Scripts ) <br />  &nbsp; 'Administration\Set default server ( Agent ) <br />  &nbsp; <br />  &nbsp; <br />  &nbsp; '############################################################################## <br />  &nbsp; <br />  &nbsp; <br />  &nbsp; <br />  &nbsp; Dim ws As New notesuiworkspace <br />  &nbsp; Dim session As New notessession <br />  &nbsp; Dim db As NotesDatabase <br />  &nbsp; Dim level As Integer <br />  &nbsp; Dim stringStrings As String <br />  &nbsp; Dim profileStrings As notesitem <br />  &nbsp; Dim doc As NotesDocument <br />  &nbsp; Dim currentserver As String <br />  &nbsp; Dim alternatedb As New NotesDatabase( "", "" ) <br />  &nbsp; Dim gooduidb As notesuidatabase <br />  &nbsp; Dim baduidb As notesuidatabase <br />  &nbsp; Dim uidb As NotesUIDatabase <br />  &nbsp; Dim acceptance As Variant <br />  &nbsp; Dim titlestring As String <br />  &nbsp; <br />  &nbsp; Set db = session.currentdatabase <br />  &nbsp; <br />  &nbsp; If db.server = "" Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentserver = "Local" <br />  &nbsp; Else <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentserver = db.server <br />  &nbsp; End If <br />  &nbsp; <br />  &nbsp; level = db.CurrentAccessLevel <br />  &nbsp; <br />  &nbsp; If level < 1 Then ' 1 = depositer <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print "You do not have access to this database" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit Sub <br />  &nbsp; End If <br />  &nbsp; <br />  &nbsp; Set doc = db.GetProfileDocument("Default Server",db.ReplicaID) <br />  &nbsp; If Not doc Is Nothing Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set profileStrings = doc.GetFirstItem("ProfileStrings") <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If doc.hasitem("ProfileStrings") Then &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stringStrings = doc.profilestrings(0) <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Not stringstrings = "NONE" Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Not FoCulCommonName_5_01 (db.server) = FoCulCommonName_5_01 (stringstrings) Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print "Default server listed as " &amp; stringstrings &amp; " but you appear to be on " &amp; currentserver &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'try and open alternate db <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If alternatedb.OpenByReplicaID( stringstrings, db.ReplicaID) Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print( alternatedb.Title &amp; " was successfully opened" ) <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set Doc = New NotesDocument ( db ) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doc.recycle_flag_tx = "False" <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doc.actualserver_tx = FoCulCommonName_5_01(db.Server) <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; doc.preferredserver_tx = FoCulCommonName_5_01(stringstrings) <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TitleString = "You may be using the wrong server" <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br /> ' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;flag = notesUIWorkspace.DialogBox( form$ , &#91;autoHorzFit&#93; , &#91;autoVertFit&#93; , &#91;noCancel&#93; , &#91;noNewFields&#93; , &#91;noFieldUpdate&#93; , &#91;readOnly&#93; , &#91;title$&#93; , &#91;notesDocument&#93; , &#91;sizeToTable&#93; , &#91;noOkCancel&#93; , &#91;okCancelAtBottom&#93; ) <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Acceptance = &nbsp;WS.DialogBox( "sfServerCheck" , True , True , True , False , False , False , TitleString , Doc, True , False , True ) <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Not doc.plsContinue_tx(0) = "" Then &nbsp;' subform negotiated successfully - force this db open <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit Sub <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print "The preferred database can be opened - switching now" <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set baduidb = ws.CurrentDatabase <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'Call notesUIWorkspace.OpenDatabase( server$, file$, view$, key$, newInstance, temp ) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ' open the preferred database so that the icon is at the top of the icon stack <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ' then close both ui databases sown <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ' if anyone has a better method then please let me know ! <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call WS.OpenDatabase( stringstrings, alternatedb.FilePath,"", "", False, False) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set uidb = ws.CurrentDatabase <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call uidb.Close <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Set uidb = ws.CurrentDatabase <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call uidb.Close &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Print( "Unable to open database - allowing this replica to be used" ) <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If <br />  &nbsp; End If <br /> End Sub <br /> <br /> You can download a copy of the design elements in a database by clicking the link below. As ever please let me know if there is a better approach !  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/sntt-stopping-users-from-opening-the-wrong-replica.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/sntt-stopping-users-from-opening-the-wrong-replica.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Blog partially reskinned - I hate IE</title>
<pubDate>Wed, 15 Oct 2008 23:49:33 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/blog-reskinned-i-hate-ie.htm</link>
<category>Dev Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/blog-reskinned-i-hate-ie.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/blog-reskinned-i-hate-ie.htm</guid>
<content:encoded><![CDATA[ I will post more about this but I am part way through reskinning this blog as part of a project to re-develop our company web site. <br /> <br /> It works great in Firefox but IE is not so good - reminds me of this graph  <br /> <br /><a href="https://addons.mozilla.org/en-US/firefox/addon/1843"><span style="text-decoration:underline">Firebug</span></a> is just brilliant  <br /> <br />Click on the comments button to see the old style<br /> <br /> <img  alt="Image:Blog partially reskinned - I hate IE" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/blog-reskinned-i-hate-ie.htm/content/M2?OpenElement" /><br /> <br /> <a href="http://www.i-marco.nl/weblog/archive/2006/06/24/time_breakdown_of_modern_web_d">Link</a>  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/blog-reskinned-i-hate-ie.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/blog-reskinned-i-hate-ie.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Improving the meta title data on Domino Blog entries ( a passed on tip )</title>
<pubDate>Tue, 7 Oct 2008 20:25:08 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/improving-the-meta-title-data-on-domino-blog-entries.htm</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/improving-the-meta-title-data-on-domino-blog-entries.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/improving-the-meta-title-data-on-domino-blog-entries.htm</guid>
<content:encoded><![CDATA[ When you look at the Google results for <a href=http://phigsaidwhat.com/Phigmentb/phigment.nsf/dx/aboutme.htm><span style="text-decoration:underline">Sean Burgess</span></a> you will see that the title of the Blog article is clearly shown in Google whereas if you look at my current Google results you can see that the default template behaviour is just to use the site title - I think that Seans method is more informative. <br /> <br /> <img  alt="Image:Improving the meta title data on Domino Blog entries ( a passed on tip )" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/improving-the-meta-title-data-on-domino-blog-entries.htm/content/M2?OpenElement" /><br /> <br /> At ILUG 2007 Sean explained that you can change this by using the DXSubject &nbsp;tag in addition to the DXTitle tag. Note that you can only do this where the page displayed relates to a single article otherwise there is no DXSubject value - took me a while to realise that ;) <br /> <br /> In my case I created a new block template called HTMLTopWithSubject and used that on the Document and InlineCommentsDocument page templates. <br /> <br /> <img  alt="Image:Improving the meta title data on Domino Blog entries ( a passed on tip )" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/improving-the-meta-title-data-on-domino-blog-entries.htm/content/M3?OpenElement" /><br /> <img  alt="Image:Improving the meta title data on Domino Blog entries ( a passed on tip )" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/improving-the-meta-title-data-on-domino-blog-entries.htm/content/M4?OpenElement" /><br /> <br /> Steve Castledine, the developer of the IBM Blog Template, has just posted a really useful guide to its configuration : <br /> <br /> http://www.stevecastledine.com/sc.nsf/dx/domino-blog-theme-editing-and-tag-library/ <br /> <br /> Does anyone know why hot spot hyperlinks like the one above don't always work in the blog template ?  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/improving-the-meta-title-data-on-domino-blog-entries.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/improving-the-meta-title-data-on-domino-blog-entries.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>SNTT - Visual Directory - thumbnails in the domino directory</title>
<pubDate>Thu, 2 Oct 2008 23:06:02 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/visual-directory-thumbnails-in-the-domino-directory.htm</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/visual-directory-thumbnails-in-the-domino-directory.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/visual-directory-thumbnails-in-the-domino-directory.htm</guid>
<content:encoded><![CDATA[  <br /> <img  alt="Image:SNTT - Visual Directory - thumbnails in the domino directory" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/visual-directory-thumbnails-in-the-domino-directory.htm/content/M2?OpenElement" /><br /> <br /> Last year one of our clients asked us to help create a directory of staff with thumbnail images, profiles and contact details. After bouncing it about we agreed that using the Domino directory would make sense as much of the information was already there. <br /> <br /> I am always wary of messing with the directory but in this case it was a relatively small directory ( < 200 people ) and we set out to add design elements rather than modify existing design elements. The scheme that we came up with is shown in the images above - essentially the system converts thumbnail images ( 80px x 80px ) into image resources and then displays these image resources in the view. <br /> <br /> I doubt that this approach will &nbsp;scale to very large organisations but I have used it on a version of <a href="http://www.seancull.co.uk/Public/seancull.nsf/dx/jake-howletts-codestore.net-fake-names-40000-names-in-a-domino-directory-1010-.htm?opendocument&amp;comments#anc1"><span style="text-decoration:underline">Jake Howletts</span></a> test directory with 2,000 names and it works fine. <br /> <br /> Before launching into the technical description I would like to thank the following people whose code is included in some way :  <ul> <li><a href="http://www.focul.net/public/foculweb.nsf/dx/visual-directory---focul-adds-thumbnails-to-the-domino-directory.htm"><span style="text-decoration:underline">Our client</span></a> who paid for some of this work and kindly agreed for it to be open sourced - it was a win - win because we obviously didn't charge them for the open source code that we used.  </li><li>Ewan Arthur, a colleague from FoCul, &nbsp;who worked with me on the code  </li><li><a href=http://www.nsftools.com/blog/CurrentBlog.htm><span style="text-decoration:underline">Julian Robichaux</span></a> - &nbsp;http://www.openntf.org/Projects/codebin/codebin.nsf/0/DF779ACFF30EB48886257118004D35B5  </li><li><a href=http://louiscapozzoli.com/default.aspx><span style="text-decoration:underline">Lou Capizzoli</span></a> on Openntf.org &nbsp;http://www.openntf.org/Projects/codebin/codebin.nsf/0/DF779ACFF30EB48886257118004D35B5  </li><li><a href=http://www.cubert.net/><span style="text-decoration:underline">Charles Robinson</span></a> &nbsp;http://www.cubert.net &nbsp;( the my documents folder code )  </li><li><a href=http://www.lotusgeek.com/><span style="text-decoration:underline">Rocky Oliver</span></a> / <a href="http://www-10.lotus.com/ldd/bpmpblog.nsf"><span style="text-decoration:underline">Andre Guiard</span></a> &nbsp;http://www.lotusgeek.com/SapphireOak/LotusGeekBlog.nsf/D6Plinks/ROLR-6MBMQJ &nbsp; &nbsp; &nbsp; &nbsp;</li></ul><strong><br /> The Scheme</strong> <br /> <br /> A new form was used to display the persons profile. This form has an action button allowing a jpg file to be uploaded and stored in a rich text field called UserPhoto. <br /> <br /> A background agent ( which needs unrestricted privileges ) takes the newly attached jpg files, downloads this to the hard drive on the server and then creates an image resource using DXL using code from Lou and Julian. The name of the image resource is the document unique id of the person record. The jpg file is deleted from the hard drive once the image resource has been created <br /> <br /> A new view displays the person records and the image resources associated with each person record. The view has a form formula which forces the new profile form to be used when a document is opened from this view. The form has a form field to make sure that the default form for that record is always the original Domino Directory person form, <br /> <br /> In the examples attached below I have left the default domino directory views in place but it is a simple matter to change the default opening view ( edit the Mainframeset ) to be the new one with the images <br /> <br /> Note that the forms and code shown here are simplified from the production system but the key concepts still work. <strong><br /> <br /> The Design Elements</strong> <br /> <br /> The only change to the existing elements of the Domino directory is the default view for the mainframeset frameset, everything else uses new design elements. These are : <span style="text-decoration:underline"><br /> <br /> Forms </span>: <br /> <br /> .FoCul\PersonProfile <span style="text-decoration:underline"><br /> <br /> Views </span>: <br /> <br /> Focul\01. Profiles\By Name) <span style="text-decoration:underline"><br /> <br /> Script Library </span>: <br /> <br /> .FoCul_Image_Resource_Handling_6_01 <span style="text-decoration:underline"><br /> <br /> Scheduled Agent </span>: <br /> <br /> .FoCul\Update Image Resources ( note that this needs to be set up for your named server ) <br /> note that the agent contains a selection rule so that it only runs on records needing to be processed <span style="text-decoration:underline"><br /> <br /> Other agents </span>: <br /> <br /> .FoCul\Set images for all people - populates all records with test images stored in c:\temp\images &nbsp;( may not be MAC friendly ) <br /> <br /> (.FoCul Remove Profile) <strong><br /> <br /> The Downloads</strong> <br /> <br /> There are four downloads : <br /> <br /> <br /> Very Small : The script library at the heart of the system <br /> <br /> <a href="http://www.seancull.net/public/seancull.nsf/dx/.FoCul_Image_Resource_Handling_6_01.lss/$file/.FoCul_Image_Resource_Handling_6_01.lss" title=".FoCul_Image_Resource_Handling_6_01.lss".FoCul_Image_Resource_Handling_6_01.lss/>.FoCul_Image_Resource_Handling_6_01.lss</a> <br /> <br /> Small : A database with just the required additional design elements ( 0.5 Mb ) <br /> <br /> <a href="http://www.seancull.net/public/seancull.nsf/dx/designelementsonly.zip/$file/designelementsonly.zip" title="designelementsonly.zip"designelementsonly.zip/>designelementsonly.zip</a> <br /> <br /> Medium : A full Domino Directory (8.0.2 ) with the original and the new design elements and 10 records ( 3 Mb ) <br /> <br /> <a href="http://www.seancull.net/public/seancull.nsf/dx/somerecords.zip/$file/somerecords.zip" title="somerecords.zip"somerecords.zip/>somerecords.zip</a> <br /> <br /> Large : The 2000 record Domino Directory with test images ( 40 Mb &nbsp;) <br /> <br /> <a href="http://www.seancull.net/public/seancull.nsf/dx/fakenameswimages.zip/$file/fakenameswimages.zip" title="fakenameswimages.zip"fakenameswimages.zip/>fakenameswimages.zip</a> <strong><br /> <br /> Areas for Improvement</strong> <br /> <br /> The system probably won't work on MAC or Linux ( clients and servers ) without some simple changes to the file paths construction <br /> <br /> Some code is needed to remove the resource images when a thumbnail or person record is removed <strong><br /> <br /> Unashamed Plug</strong> <br /> <br /> Ewan and I would be very happy to help anyone who wants commercial support to implement this type of system ( or any other system ) via <a href=http://www.focul.net/><span style="text-decoration:underline">FoCul Ltd</span></a>. We are based in the UK and have a particularly strong record in developing applications for the Manufacturing sector.  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/visual-directory-thumbnails-in-the-domino-directory.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/visual-directory-thumbnails-in-the-domino-directory.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Google Webmaster tool - Where in the world is your site ?</title>
<pubDate>Tue, 9 Sep 2008 09:14:37 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/google-webmaster-tool-where-in-the-world-is-your-site.htm</link>
<category></category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/google-webmaster-tool-where-in-the-world-is-your-site.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/google-webmaster-tool-where-in-the-world-is-your-site.htm</guid>
<content:encoded><![CDATA[ I am just in the process of moving some PHP sites from a UK server to a US server. <br /> <br /> One of the issues in the past has been that Google thinks a xxxxx.org site served from the US is focused on US users and it will not appear as highly in google.co.uk or doogle.com with "results from the UK" <br /> <br /> This video from Google shows how to use the "Set Geographic Target" tool to manage this. <br /> <br /> <a href="http://googlewebmastercentral.blogspot.com/2008/04/where-in-world-is-your-site.html">http://googlewebmastercentral.blogspot.com/2008/04/where-in-world-is-your-site.html </a>  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/google-webmaster-tool-where-in-the-world-is-your-site.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/google-webmaster-tool-where-in-the-world-is-your-site.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Fix for Noteshound breaking Notes 8.02 when installed</title>
<pubDate>Thu, 4 Sep 2008 10:14:50 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/noteshound-breaks-notes-8.02-when-installed.htm</link>
<category>Dev Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/noteshound-breaks-notes-8.02-when-installed.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/noteshound-breaks-notes-8.02-when-installed.htm</guid>
<content:encoded><![CDATA[ I installed <a href=www.noteshound.com>Noteshound</a> 7.1.0 on my machine yesterday with Notes 8.0.2. when I went to restart Notes it wouldn't work. Worse still a standard &nbsp;un-install and re-install didn't work either so I had to go and delete the folders manually - all in all I lost a couple of hours of work time. <br /> <br />I put in a support request to Noteshound and Ken Haggmann came back very quickly this morning. After some troubleshooting he deduced that the "Install right-click option" was causing the problem. This adds the following line to the notes.ini file <br /> <br />AddInMenus=nhAddin.dll <br /> <br />Once this line is removed Notes can be restarted although the Noteshound right click option will not be available. <br /> <br />The right-click option is installed by default <br /> <br /><img  alt="Image:Fix for Noteshound breaking Notes 8.02 when installed" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/noteshound-breaks-notes-8.02-when-installed.htm/content/M2?OpenElement" /> <br /> <br />It does make you think that with so much change going on with the Notes clients at the moment that it must be a challenging time for ISVs who are integrating deeply into the Notes client as opposed to using standard Notes functionality  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/noteshound-breaks-notes-8.02-when-installed.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/noteshound-breaks-notes-8.02-when-installed.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Berry Locator - how to find a lost Blackberry ( 9/10 )</title>
<pubDate>Thu, 4 Sep 2008 09:35:40 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/berry-locator-how-to-find-a-lost-blackberry.htm</link>
<category>My software</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/berry-locator-how-to-find-a-lost-blackberry.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/berry-locator-how-to-find-a-lost-blackberry.htm</guid>
<content:encoded><![CDATA[  <img  alt="Image:Berry Locator - how to find a lost Blackberry ( 9/10 )" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/berry-locator-how-to-find-a-lost-blackberry.htm/content/M2?OpenElement" /><br /> <br /> This is a piece of software that has saved me several times and is well worth the £ 4 cost <br /> <br /> It sits on your blackberry and when you send it an email ( text messages don't work ) with a special pass phrase in it the blackberry will email you back with its location from the internal GPS unit. It also brings the blackberry out of mute mode and activates an alarm on full volume <br /> <br /> Two minor issues for me, I found the install via the desktop would not work but a support ticket quickly got me a direct download jad link. The second is that I can t seem to use another blackberry to display the location map - you need to use a desktop. <br /> <br /> On one occasion I had left my phone on a customers desk and then gone to see several other customers in the same building. I lost the phone and triggered the Berry Locator software. It quickly told me which office it was in so I wen to that office only to be met half way there by my customer who was walking around trying to find me with a very load blackberry that he couldn't silence. <br /> <br /> Thanks to <a href="http://steves.seasidelife.com/2008/02/08/got-a-blackberry-want-to-keep-it/"><span style="text-decoration:underline">Steve</span></a> who put me on to it via his blog   ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/berry-locator-how-to-find-a-lost-blackberry.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/berry-locator-how-to-find-a-lost-blackberry.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Darik&#8217;s Boot And Nuke Disk Shredder ( 7 /10 )</title>
<pubDate>Fri, 29 Aug 2008 19:36:17 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/dariks-boot-and-nuke-disk-shredder-7-10-.htm</link>
<category>My software</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/dariks-boot-and-nuke-disk-shredder-7-10-.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/dariks-boot-and-nuke-disk-shredder-7-10-.htm</guid>
<content:encoded><![CDATA[ I use this software to wipe hard drives of all data. <br /> <br /> This is a slightly <a href=http://www.thestarman.narod.ru/asm/mbr/WIPE.html><span style="text-decoration:underline">controversial</span></a> area but as best I can tell Darik's Boot And Nuke Disk Shredder seems to be well regarded. <br /> <br /> <blockquote>Darik's Boot and Nuke ("DBAN") is a self-contained boot disk that securely wipes the hard disks of most computers. DBAN will automatically and completely delete the contents of any hard disk that it can detect, which makes it an appropriate utility for bulk or emergency data destruction.  <p>DBAN is a means of ensuring due diligence in computer recycling, a way of preventing identity theft if you want to sell a computer, and a good way to totally clean a Microsoft Windows installation of viruses and spyware. DBAN prevents or thoroughly hinders all known techniques of hard disk forensic analysis.  <p>The development and support of the DBAN software project is funded in part by GEEP International. GEEP is the largest, the most efficient, and the most environmentally conscientious consumer electronics recycling company in North America.</blockquote> <br /> <br /> Its easy to use, download the iso image, burn it to CD, reboot and wipe the partitions of your choice - mind you it takes an awful long time per disk ( > 12 hrs for a 60Gb laptop drive )<span style="text-decoration:underline"><br /> <br /> </span><a href=http://www.dban.org/><span style="text-decoration:underline">http://www.dban.org</span></a>  <p><strong>Update</strong> <p>dropped from 10/10 to 7/10 for time taken to shred a disk  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/dariks-boot-and-nuke-disk-shredder-7-10-.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/dariks-boot-and-nuke-disk-shredder-7-10-.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>USB Windows Boot Disk</title>
<pubDate>Fri, 29 Aug 2008 19:24:35 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/usb-boot-disk.htm</link>
<category>My hardware</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/usb-boot-disk.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/usb-boot-disk.htm</guid>
<content:encoded><![CDATA[ I find it useful to have a USB boot disk when I am messing about with hardware, particularly since many systems no longer have a floppy drive. It was also the only useful thing I could do with the freebie Lotus QuickR 256Mb USB pen given away by <a href="http://planetlotus.org/profiles/mary-beth-raven">Mary Beth Raven</a> at ILUG 2008 <br /> <br />There are a few articles on the web about creating these, one of the best is this <a href="http://blogs.oreilly.com/digitalmedia/2004/10/utility-to-make-usb-flash-driv.html">O'Reilly Digital Media Blog</a> <br /> <br />I personally found that for a windows boot disk the easiest method ( suggested in a response on the blog above ) was to use the Dell utility and rename the autoexec,bat file to stop it running the Dell diagnostic software <br /> <br />The utility is available at  <br /> <br /><a href=ftp://ftp.dell.com/diags/CW1310A0.EXE>ftp://ftp.dell.com/diags/CW1310A0.EXE</a> <br /> <br />The much praised HP Drive Key Boot Utility can be found at  <br /> <br /><a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=US&amp;swItem=MTX-UNITY-I23839">http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=US&amp;swItem=MTX-UNITY-I23839</a> <br /> <br />I struggled with this a bit because it defaults to a linux boot disc whereas I wanted a windows boot disc ( to run Ghost 2003 ) <br /> <br />  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/usb-boot-disk.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/usb-boot-disk.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Running Notes 8 when you are short of resources</title>
<pubDate>Wed, 13 Aug 2008 08:25:00 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/running-notes-8-when-you-are-short-of-resources.htm</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/running-notes-8-when-you-are-short-of-resources.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/running-notes-8-when-you-are-short-of-resources.htm</guid>
<content:encoded><![CDATA[ Although the Eclipse notes client is a richer place to work there are times when it would be better to run the simpler basic client . A good example would be if I have several virtual machines running at once on my laptop. <br /> <br /> Even though you have installed the Standard ( eclipse ) client you can still start the basic client by using nlnotes.exe ( NL is supposedly No Logo ). Your desktop icons etc will be the same in both versions. <br />  <br />I do this with a shortcut on my start menu. nlnotes.exe is located in the same folder as Notes.exe, in my case "C:\Program Files\IBM\Lotus\Notes\nlnotes.exe"   ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/running-notes-8-when-you-are-short-of-resources.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/running-notes-8-when-you-are-short-of-resources.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Restarting Notes cleanly</title>
<pubDate>Wed, 13 Aug 2008 08:17:35 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/restarting-notes-cleanly.htm</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/restarting-notes-cleanly.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/restarting-notes-cleanly.htm</guid>
<content:encoded><![CDATA[ Although Notes is much much better about restarting after a crash there are still times when it hangs. A good example for me is when you open the developer help with the script debugger on. <br /> <br /> People used to use products like KillNotes.exe to restart Notes but since version 6 (?) you can use the NSD option with the -kill parameter. I have this set up as a short cut in my menu bar using the following syntax <br /> <br /> "C:\Program Files\IBM\Lotus\Notes\nsd.exe" -kill <br /> <br /> Click on the shortcut and Notes is taken down and you can restart notes - with the Notes 8 eclipse client you will probably need to close the large java error pop up <br /> <br /><img  alt="Image:Restarting Notes cleanly" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/restarting-notes-cleanly.htm/content/M2?OpenElement" />  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/restarting-notes-cleanly.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/restarting-notes-cleanly.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Thecus 4100+ NAS ( 2/10 )</title>
<pubDate>Wed, 13 Aug 2008 08:09:05 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/thecus-4100-nas-210-.htm</link>
<category>My hardware</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/thecus-4100-nas-210-.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/thecus-4100-nas-210-.htm</guid>
<content:encoded><![CDATA[  <table width=100%> <tr valign=top> <td width=20%><img  alt="Image:Thecus 4100+ NAS ( 2/10 )" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/thecus-4100-nas-210-.htm/content/M2?OpenElement" /> <td width=79%> <br />This device is just terrible. It has a Gigabyte network interface but the CPU max's out on just a standard network. <br /> <br />It did seem like an attractive option being able to take 5 x 1Tb disks but I ( and others ) have found the <a href="http://forums.hexus.net/thecus-care-hexus/129094-ns4100-very-slow-transfer-speed.html">performance terrible</a>, particularly with small files <br /> <br />Even with a 40% discount it was a bad purchase. Its a shame really because it has FTP, Web disk and even a web server.  <br /> <br />Thecus's own advise via their official representative on the Forum's is buy a bigger unit from us - not much chance of that !</table> <br />  ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/thecus-4100-nas-210-.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/thecus-4100-nas-210-.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Finding which documents have been deleted from a database with a script solution</title>
<pubDate>Thu, 29 May 2008 08:16:35 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/finding-which-documents-have-been-deleted-from-a-database-with-a-script-solution.htm</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/finding-which-documents-have-been-deleted-from-a-database-with-a-script-solution.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/finding-which-documents-have-been-deleted-from-a-database-with-a-script-solution.htm</guid>
<content:encoded><![CDATA[ <strong><span style="text-decoration:underline"><br /> Update</span></strong> <br /> <br /> Notes 8.5 now has an extra column in the user activity pop up which shows deletions <br /> <br /> I seem to have lost the comments somehow but several people recommended <a href=http://www.ytria.com/WebSite.nsf/WebPageRequest/Solutions_scanEZen?OpenDocument><span style="text-decoration:underline">Ytrias</span></a> (free ) tool over Notes Peek. I have tried it now and it is very good<br /> <br /> <hr> <br /> <br /> I recently had a call from a customer to say that their application had stopped working. It turned out that a number of configuration documents had been inadvertently deleted when the user tried to archive off old documents - but which ones ? <br /> <br /> One frustrating feature of Notes is that unless you code something special it is very difficult to find out who has deleted documents and when ( I now generally use a soft delete mechanism so that most users &nbsp;cannot hard delete documents ) <br /> <br /> 1) The first quick check is to look in the application properties - user activity and see if anyone has "written" a large number of documents. <br />  <br /><img  alt="Image:Finding which documents have been deleted from a database with a script solution" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/finding-which-documents-have-been-deleted-from-a-database-with-a-script-solution.htm/content/M2?OpenElement" /><br /> <br /> <br /> 2) I then use a script to compare the documents in the "live" copy with the documents in a local replica or backup. This takes each document in the backup and tries to find the corresponding document in the live copy. If no matching document is found ( or just a deletion stub ) it puts that document in a folder so that I can copy it back to the live system ( note that the doc unid will change ) <br /> <br /> 3) If I need to do further analysis to see when the document was deleted ( and indirectly by who using the logs ) I can now use the doc unid and <a href="http://www-1.ibm.com/support/docview.wss?uid=swg24005686"><span style="text-decoration:underline">NotesPeek</span></a> to examine the deletion stub - I find that the search facility doesn't always work so I tend to dump it to a text pad and search there <br /> <br /> <img  alt="Image:Finding which documents have been deleted from a database with a script solution" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/finding-which-documents-have-been-deleted-from-a-database-with-a-script-solution.htm/content/M3?OpenElement" /><strong><br /> <br /> <br /> <br /> This is the LotusScript code for step 2 </strong>( also attached as an LSS )<br /> <br /> 'check for deletions on the server: <br /> <br /> Option Public <br /> Option Declare ' because Rocky says you must <br /> <br /> <br /> Sub Initialize <br />  <br /> 'check for deletions on the server: <br /> ' Sean Cull, www.seancull.co.uk <br />  <br />  <br /> ' This agent compares two replicas and highlights documents that are in one <br /> ' replica but not the other. These documents are added to folders $4091_Deleted_Documents <br /> ', $missingdocuments or $zerolengthdocs for later examination <br />  <br /> ' the code is particularly usefull for finding what has been deleted from a replica <br />  <br />  Dim ws As New notesuiworkspace <br />  Dim session As New NotesSession <br />  Dim thisdb As notesdatabase <br />  Dim otherdb As notesdatabase <br />  Dim coll As notesdocumentcollection <br />  Dim thisdoc As notesdocument <br />  Dim otherdoc As NotesDocument <br />  Dim number_docs As Long <br />  Dim var As Variant <br />  Dim unidvar As String <br />  Dim Error_4091_flag As Boolean <br />  <br />  On Error Goto printerror &nbsp; &nbsp; &nbsp; &nbsp; <br />  On Error 4091 Goto error_4091 <br />  ' error 4091 occurs when you use getdocumentbyunid on a deletion stub <br />  ' the error message is invalid universalid <br />  ' there are some support documents which also suggest that you sometimes do manage <br />  ' to get a handle on a stub so you also need to check if doc.size = 0 <br />  <br />  Set thisdb = session.CurrentDatabase <br />  Set coll = thisdb.AllDocuments <br />  <br />  number_docs = coll.count <br />  <br />  Print "There are " &amp; Cstr(number_docs) &amp; " Documents to process" <br />  <br />  'variant = notesUIWorkspace.Prompt( type%, title$, prompt$ &#91;, default &#93; &#91;, values &#93; ) <br />  'PROMPT_CHOOSEDATABASE (13) <br />  'variant(0) = server <br />  'variant(1) = path <br />  'variant(2) = title <br />  <br />  var = WS.Prompt( 13, "Choose the second database", "") <br />  <br />  Set otherdb = Session.GetDatabase( var(0), var(1), False ) <br />  If Not otherdb.IsOpen Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; Msgbox "Could not open the second database" <br />  &nbsp; &nbsp; &nbsp; &nbsp; Exit Sub <br />  End If <br />  <br />  <br />  Set thisdoc = coll.GetFirstDocument <br />  Do Until thisdoc Is Nothing <br />  &nbsp; &nbsp; &nbsp; &nbsp; number_docs &nbsp;= &nbsp; &nbsp; &nbsp; &nbsp; number_docs &nbsp;- 1 <br />  &nbsp; &nbsp; &nbsp; &nbsp; Print &nbsp; &nbsp; &nbsp; &nbsp; number_docs ' this slows things down but I find it useful <br />  &nbsp; &nbsp; &nbsp; &nbsp; unidvar = thisdoc.UniversalID <br />  &nbsp; &nbsp; &nbsp; &nbsp; error_4091_flag = False <br />  &nbsp; &nbsp; &nbsp; &nbsp; Set otherdoc = otherdb.GetDocumentByUNID(unidvar) <br />  &nbsp; &nbsp; &nbsp; &nbsp; If error_4091_flag Then ' a deletion stub <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call thisdoc.putinfolder("$4091_Deleted_Documents",True) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; Else <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If otherdoc Is Nothing Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ' a missing document as opposed to a deleted one <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Call thisdoc.putinfolder("$Missing_Documents",True) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ' there is a document but we need to check if it is a zero length stub <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If otherdoc.size = 0 Then Call thisdoc.putinfolder("$Zerolengthdocs",True) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End If &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />  &nbsp; &nbsp; &nbsp; &nbsp; End If <br />  &nbsp; &nbsp; &nbsp; &nbsp; Set thisdoc = coll.GetNextDocument(thisdoc) <br />  Loop <br />  <br />  Exit Sub <br />  <br /> Error_4091 : <br />  error_4091_flag = True &nbsp; &nbsp; &nbsp; &nbsp; <br />  Resume Next <br />  <br /> PrintError: <br />  <br />  If (Err() <> 0) Then <br />  &nbsp; &nbsp; &nbsp; &nbsp; Messagebox( "Error" &amp; Str(Err) &amp; ": " &amp; Error$) <br />  End If <br />  <br />  Exit Sub <br />  <br /> End Sub   ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/finding-which-documents-have-been-deleted-from-a-database-with-a-script-solution.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/finding-which-documents-have-been-deleted-from-a-database-with-a-script-solution.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>ClipCache Pro (9/10)</title>
<pubDate>Fri, 23 May 2008 23:35:20 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/clipcache-pro.htm</link>
<category>My software</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/clipcache-pro.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/clipcache-pro.htm</guid>
<content:encoded><![CDATA[  I had mixed success with earlier versions of <a href=http://www.xrayz.co.uk/clipcache/><span style="text-decoration:underline">ClipCache Pro</span></a> but this latest version seems to run really well under Vista. <br /> It is great for improving your efficiency and generally making life easier - it is also occasionally useful for those moments when your brain becomes disengaged and you delete a mornings work <br /> <br /> <h3>I Like</h3>  <br />Ease of use, custom keyboard short cuts, images getting clipped as well, clean up tools to remove formatting <br /> <br /> <h3>I Dislike</h3> <br />&nbsp;Some common code I use to dump data to spreadsheets uses the clipboard, if you leave clipcache on you can easily get 1000 + new clips in its store !  <br />Some crashes under XP<br /> <br /> <img  alt="Image:ClipCache Pro (9/10)" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/clipcache-pro.htm/content/M2?OpenElement" /><img  alt="Image:ClipCache Pro (9/10)" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/clipcache-pro.htm/content/M3?OpenElement" /><br />   ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/clipcache-pro.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/clipcache-pro.htm?opendocument&amp;comments</wfw:comment>
</item>
<item>
<title>Quick floating server console in client using AdminRemoteConsole</title>
<pubDate>Fri, 23 May 2008 13:10:00 +0100</pubDate>
<link>http://www.seancull.net/public/seancull.nsf/dx/quick-floating-server-console-in-client-using-adminremoteconsole.htm</link>
<category>Admin Tips</category>
<dc:creator>Sean Cull</dc:creator>
<comments>http://www.seancull.net/public/seancull.nsf/dx/quick-floating-server-console-in-client-using-adminremoteconsole.htm?opendocument&amp;comments</comments>
<guid isPermaLink="true">http://www.seancull.net/public/seancull.nsf/dx/quick-floating-server-console-in-client-using-adminremoteconsole.htm</guid>
<content:encoded><![CDATA[  This is a feature that I use pretty much every day. The Command( &#91;AdminRemoteConsole&#93; ) can be used to open a floating i.e. non-modal server console in your client. <br /> <br /> I use it on a smarticon as shown in the clip below. One of the best features is that you can copy the contents of the console to a clipboard for better analysis. It is much more convenient than using the Admin Client <br /> <br /> <img  alt="Image:Quick floating server console in client using AdminRemoteConsole" border="0" src="http://www.seancull.net/public/seancull.nsf/dx/quick-floating-server-console-in-client-using-adminremoteconsole.htm/content/M2?OpenElement" /><br /> <object width="550" height="400"> <br /> <param name="movie" value="../dx/console.swf/$file/console.swf"> <br /> <embed src="http://www.seancull.net/public/seancull.nsf/dx/../dx/console.swf/$file/console.swf" width="550" height="400"> <br /> </embed> <br /> </object>   ]]></content:encoded>
<wfw:commentRss> http://www.seancull.net/public/seancull.nsf/dxcomments/quick-floating-server-console-in-client-using-adminremoteconsole.htm</wfw:commentRss>
<wfw:comment> http://www.seancull.net/public/seancull.nsf/dx/quick-floating-server-console-in-client-using-adminremoteconsole.htm?opendocument&amp;comments</wfw:comment>
</item>
</channel></rss>
