<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Another Copy Of</title>
    <link>http://augurgroup.com/b/</link>
    <description>Mad Ramblings of a Notes Developer</description>
    <language>en-us</language>           
    <generator>Nucleus CMS v3.32</generator>
    <copyright>Â©</copyright>             
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://augurgroup.com/b//nucleus/nucleus2.gif</url>
      <title>Another Copy Of</title>
      <link>http://augurgroup.com/b/</link>
    </image>
    <item>
 <title>Display remaining characters in field</title>
 <link>http://augurgroup.com/b/index.php?itemid=36</link>
<description><![CDATA[I was recently asked to display the remaining characters in a field as the user types (eg. 500 maxlen). So, I of course went online to avoidre-inventing the wheel.<br />
<br />
Here is what I found. Coding forums had an article entitled <a href="http://www.codingforums.com/showthread.php?s=80124b213f701470765a34ff815ec7d5&amp;p=717226#post717226"><i>Characters remaining as you type</i></a>. The code is pretty straightforward. I made some minor tweaks to get the code where I wanted it and came up with the following as a result.<br />
<br />
&gt; & &lt; replaced with {} for display<br />
-field value<br />
<code><br />
{textarea cols="58" rows = "3" onKeyUp="updatelen(event,500,this,document.getElementById('textCounter'))" onBlur="document.getElementById('textCounter').innerHTML='';" name = "npdShortDesc" <Computed Value>}<Computed Value>{/textarea}<br />
{div id="textCounter"}{/div}<br />
</code><br />
<br />
-jsheader<br />
<code><br />
//called on onKeyUp - shows remaing characters in text field<br />
// @ maxchars = max # of chars to allow<br />
// @obj = text field in question<br />
//@msgObj = div to hold remaining text messages<br />
function updatelen(event,maxchars,obj,msgObj){<br />
	var xlen = 0;<br />
	var curText = obj.value;<br />
	curText = curText.replace(/\W/g,"ZyXw")<br />
	var x = curText.match(/ZyXw/g);<br />
	if (x) {xlen = x.length;}<br />
	var remaining = maxchars - curText.length - xlen;<br />
	if (remaining < 0) {remaining = 0}<br />
	msgObj.innerHTML = "Characters remaining: " + remaining;<br />
	if (remaining == 0) {<br />
		curText = curText.substr(0, (maxchars - xlen));<br />
		obj.value = curText;<br />
		alert ("You have now used the maximum number of characters allowed! ");<br />
	}<br />
}<br />
</code><br />
<br />
-examples (Tom)<br />
<a href="http://augurgroup.com/b/media/1/20080731-counting_text.jpg">text counter</a><br />
<br />
<a href="http://augurgroup.com/b/media/1/20080731-counting_text_max.jpg">text counter max</a>]]></description>
 <category>Javascript</category>
<comments>http://augurgroup.com/b/index.php?itemid=36</comments>
 <pubDate>Mon, 28 Jul 2008 14:02:42 -0400</pubDate>
</item><item>
 <title>reload Method</title>
 <link>http://augurgroup.com/b/index.php?itemid=34</link>
<description><![CDATA[I was trying to reload a page after it was updated and the function was eluding me. So, I am putting it here for my own reference.<br />
<br />
Here is the link to the MSDN documentation on the reload method; location.reload([x]). Where x can be true, false, or a location: true = from the server; false = from cache; location = location.href.<br />
<br />
<a href="http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx">http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx</a>]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=34</comments>
 <pubDate>Thu, 15 May 2008 14:10:06 -0400</pubDate>
</item><item>
 <title>Friendlier source code with two FF add-ons</title>
 <link>http://augurgroup.com/b/index.php?itemid=33</link>
<description><![CDATA[Just read a great article in <a href="http://techrepublic.com.com/">TechRepublic</a> that talks about two new Firefox add-ons. View formatted source and View Source Chart — for viewing and working with the source code for pages viewed within Firefox.<br />
<br />
Great new add-ons that I just started playing with. Read <a href="http://blogs.techrepublic.com.com/programming-and-development/?p=670&amp;tag=nl.e055">the rest of the article</a> for more info.]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=33</comments>
 <pubDate>Wed, 14 May 2008 10:35:53 -0400</pubDate>
</item><item>
 <title>LND Performance 101</title>
 <link>http://augurgroup.com/b/index.php?itemid=32</link>
<description><![CDATA[Andre Guirard of <a href="http://www-10.lotus.com/ldd/bpmpblog.nsf/">Best Practice Makes Perfect</a> has a new whitepaper out on <a href="http://www.ibm.com/developerworks/lotus/documentation/d-ls-notesperformance/">how to write well-performing Notes/Domino apps</a>. It is invaluable and long overdue. Thanks Andre ! Read it now.]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=32</comments>
 <pubDate>Fri, 9 May 2008 11:35:30 -0400</pubDate>
</item><item>
 <title>The case of the missing design element</title>
 <link>http://augurgroup.com/b/index.php?itemid=31</link>
<description><![CDATA[I was asked to weigh in on a strange occurrence. A developer had worked on the design of a database in test and had refreshed the production template's design. Soon after, the database owner called and reported a 404 error; page not found. Upon further investigation, the cause of the error was a missing design element. What? The page the owner navigated to, a view, was missing. That page wasn't even affected by the change. But, this error was not present prior to the development changes. Although it was not part of the development changes, it must have been deleted , right? Ok, restore the design from backup and we're ok. Well, not exactly. The design element is missing there too.  What's up ?<br />
<br />
A little background. The original design was signed by a user who is no longer with the organization. No, this organization does not sign all design elements prior to moving into production (that will be a point for discussion soon). About a week prior to the design changes, the user id in question was terminated. They validated that there were no agents in production that were signed by the old employee, so that was enough right? Apparently not.<br />
<br />
Fast forward to the answer. Here is how the missing design element was discovered. We restored the terminated employees id and opened the design (the newly changed design in test) and viola, there was the design element. Ok, you say, the design element was hidden (using the last tab in the design properties that looks like a key) right? Yes, but not to show only to the ex-employee, but rather to a currently existing, valid role [DBAdmin]. So, if the role still exists, why did the design element suddenly go away when updated and refreshed?  There in lies the question.<br />
<br />
To review, a view signed by a newly terminated id had its design hidden to only members of the role [DBAdmin]. The ONLY change in the environment was the signing developers id was terminated one week prior to development changes being moved into production. This move caused the design element to disappear (seemingly) when the design was refreshed. Not immediately upon termination of the id but only after the design was refreshed. Admittedly, the new developer probably did not see the missing design element during the design changes and this was the reason that the design element eventually disappeared from production, however, the question I have is why was the design element missing in the first place? The role was still viable and the new developer was a member?<br />
<br />
Even if I never truly find the answer, I posted this as a reference for me and anyone else that experiences this issue.]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=31</comments>
 <pubDate>Thu, 8 May 2008 23:45:52 -0400</pubDate>
</item><item>
 <title>I am feeling a bit compressed about css and javascript</title>
 <link>http://augurgroup.com/b/index.php?itemid=30</link>
<description><![CDATA[Now I am far from a bit-head and cannot really get into any heady  discussion of run-time and loads etc etc. I can say, however, that there are two relatively easy ways to gain performance in a web app. 1. Stop using @import and start using link tags and script tags to reference outside code 2. Minify but be careful with obfuscation (love that word by the way). If you're interested, both of these tips and 10 more (that makes 12) are listed on AlastairC.ac: <a href="http://alastairc.ac/2007/06/atmedia-2007/">High Performance Web Pages</a> by Nate Koechley.<br />
<br />
I have read a lot about compression but never really did anything about it; until now. Turns out I was able to reduce the sizes of said css and js files by an average of 30% and reduced load times in my css and js files by almost half (from 300ms to 180ms using <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a>  for FF and <a href="http://www.fiddlertool.com/Fiddler2/version.asp">Fiddler</a> for IE). Both are great debugging tools.<br />
<br />
So, what did I use. Well I have listed the links to the sites/tools (free and online) below. In addition, I keep a duplicate file in the design for reference (eg. help.js and helpcompress.js). I reference the compressed js in the header and leave the original, fully commented code in the design for help.  <br />
<br />
Has anyone else used compression/obfuscation and have you run into any drawbacks?<br />
<br />
Links -<br />
<a href="http://www.bloggingpro.com/archives/2006/08/17/css-optimization/ ">Blogging Pro</a>: Good tool reference site. Pick from any of the css compression tools on the site. I chose CSSClean.<a href="http://www.askapache.com/online-tools/js-compress/"><br />
Online Dojo Javascript Compressor/Obfuscator</a>: Javascript compression<br />
<a href="http://www.cleancss.com/">CleanCSS</a>:CSS Compression]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=30</comments>
 <pubDate>Thu, 10 Apr 2008 16:18:35 -0400</pubDate>
</item><item>
 <title>Close windows (and tabs)</title>
 <link>http://augurgroup.com/b/index.php?itemid=29</link>
<description><![CDATA[I have a chuck of code that I use regularly to close windows:<br />
<code><br />
function closeWindow(){<br />
	window.opener = self;<br />
	window.close(); <br />
} <br />
</code><br />
<br />
This code closes the open window and avoids the prompt "Do you want to close this window?". I now have a need to close tabbed windows and the previous code does not work. <br />
<br />
Enter Interwebby {<a href="http://www.interwebby.com/blog/2006/02/04/3/">link</a>}.<br />
<code><br />
function closeWindow(){<br />
	window.opener = self;<br />
	window.open("","_parent","");<br />
	window.close(); <br />
} <br />
</code><br />
<br />
This slight change to the code works great to close all windows AND tabs on both FF and IE. Well, it did until FF 2.0. As you will see on the Interwebby site, the "new" code does not work in FF 2.0; it does work in IE7 however (thanks IE ;-).<br />
<br />
I have read that the initial JS flaw that caused the window.close() function to work was just that and that we should be moving away from this functionality. But as someone once said "If this is wrong, I don't want to be right".<br />
]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=29</comments>
 <pubDate>Wed, 9 Apr 2008 16:05:45 -0400</pubDate>
</item><item>
 <title>Double Authentication with Word Documents</title>
 <link>http://augurgroup.com/b/index.php?itemid=28</link>
<description><![CDATA[A colleague asked me if I had ever experienced the following: User logs into an application (authenticates correctly) and proceeds to a document where a Word Document is attached. The user clicks on the attachment and the system launches the Word Document into the same browser window (a user selected option). No problems so far. Now, the fun. The user then clicks the "back" button to return to said document and is challenged again to re-authenticate......<br />
<br />
After asking a few of the standard questions (web realm? acl settings? etc etc etc), I remembered an issue I ran into when working at a client site. The issue was related to a backslash (/) existing or not existing at the end of the initial authenticating url (eg. http://www.mysite.com versus http://www.mysite.com/). Now don't ask me why, but when I added the trailing backslash and performed the previous steps, I was not challenged to re-authenticate. Hmmmm. <br />
<br />
Now I did a little research and the best "explanation" I could find was a kinda, not-so related article on Tivoli {<a href="http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1130-00/en_US/HTML/am41_relnotes02.htm#ToC_56">link</a>}. I mean, they are both IBM products right?  The part about the article that caught my eye, other than the title "IBM HTTP Server reauthentication limitation with directory indexing" was the following: <br />
<br />
".... If the access does not contain a trailing forward slash character (/), this module appends the forward slash character and sends a redirect (HTTP status 302) to the client.<br />
<br />
In the case of reauthentication, this action forces the client to reauthenticate first against the initial URL (for example, http://server/dirname) and then against the mod_dir-modified URL (for example, http://server/dirname/). Thus, the client experiences two reauthentication attempts instead of the typical one reauthentication attempt when accessing other reauthentication protected objects."<br />
<br />
Other than that, I've got nothing. Except that the problem was solved. Any one else experienced this issue and have a viable reason as to why?]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=28</comments>
 <pubDate>Thu, 3 Apr 2008 00:00:05 -0400</pubDate>
</item><item>
 <title>Create a view for Soft Deletes</title>
 <link>http://augurgroup.com/b/index.php?itemid=27</link>
<description><![CDATA[It seemed simple enough, and eventually turned out that way. I needed the ability to "turn on" soft deletes and then preview them during their internment in case I needed to restore them.<br />
<br />
I created a view "Soft Deletes" and a "Restore" button with @UndeleteDocument as the onClick @formula. <br />
<a href="http://augurgroup.com/b/media/1/20080331-Soft Delete view.jpg">Soft Delete view</a><br />
<br />
But how can I get the Deleted documents to appear. I checked the "Allow Soft Deletes" checkbox in the Advanced database properties and still nothing. I was stuck looking for the flag or field or something to put in the View selection criteria. But what....and then I found it; Shared Contains Deleted Documents as a View type.  I don't know how many views I've created in my life but I have never done this. Always set my own flag or some version there-of. Well, to save you the trouble next time, here you go.<br />
<br />
<a href="http://augurgroup.com/b/media/1/20080331-shared, contains deleted documents.jpg">Shared, contains deleted documents</a><br />
<br />
Sometimes I wonder how I make it to work in the morning.<br />
<br />
]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=27</comments>
 <pubDate>Mon, 31 Mar 2008 22:53:13 -0400</pubDate>
</item><item>
 <title>Running multiple versions of IE</title>
 <link>http://augurgroup.com/b/index.php?itemid=26</link>
<description><![CDATA[Tim Tripcony of <a href="http://www.timtripcony.com/blog.nsf">Tip of the Iceberg</a> recently posted a great find; <a href="http://www.timtripcony.com/blog.nsf/d6plinks/TTRY-7D4AUD">running multiple versions of IE</a>.  For anyone who has "upgraded IE", this is a god-send. No longer necessary to delay upgrading to IE 7. Run parallel versions of IE 3 (why ?) - IE6. Works great. I upgraded to IE7 and then ran the executable to install IE6. Check it out and ensure your web apps work for the next release of Internet Explorer.]]></description>
 <category>Lotus Notes</category>
<comments>http://augurgroup.com/b/index.php?itemid=26</comments>
 <pubDate>Sun, 30 Mar 2008 22:59:10 -0400</pubDate>
</item>
  </channel>
</rss>