<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>robertwray.co.uk | random ramblings...</title>
        <link>http://www.robertwray.co.uk/blog/</link>
        <description></description>
        <language>en</language>
        <copyright>Copyright 2009</copyright>
        <lastBuildDate>Tue, 06 Jan 2009 10:09:50 +0000</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Error on rejectChanges() call on ExtJs store</title>
            <description><![CDATA[I have an ExtJs store that causes an error to raise when its rejectChanges() method is called. It looks like (from stepping through) that the rowIndex that the underlying ExtJs code is trying to hit is out of bounds. Why, I'm not sure. The closest search result I find took me to <a href="http://extjs.com/forum/showthread.php?t=55548">Commit/Reject changes in EditorGrid</a> from the ExtJs forums, which was *not* helpful :(<br /><br />I haven't worked out why it worked (as my code *does* already clear the filter earlier in the execution path), but, adding:<br /><br /><blockquote>store.clearFilter(true);<br /></blockquote>Immediately before the call to rejectChanges() works a treat. Go figure!<br /> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2009/01/error-on-rejectchanges-call-on.html</link>
            <guid>http://www.robertwray.co.uk/blog/2009/01/error-on-rejectchanges-call-on.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Javascript</category>
            
            <pubDate>Tue, 06 Jan 2009 10:09:50 +0000</pubDate>
        </item>
        
        <item>
            <title>Resolving Coolite objects in client script</title>
            <description><![CDATA[Has anyone found a good way to do this? Or, indeed, is there a trick I'm missing from Coolite? There doesn't appear to be a "Coolite." namespace declared in the same way there's an "Ext" namespace declared/provided when the components are used on a page.<br /><br />What I want to be able to do is write arbitrary client side javascript (event handlers and suchlike) inside a script block rather than inside an attribute of the server-side tag. The different ways I've discovered are:<br /><br /><u><b>Inside tag attributes</b></u><br />This is the tidiest way of writing the code as you get "nice" shortcut referencing of the server-side components like:<br /><br /><pre>  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:GridPanel</span> <span style="color: Red;">Title</span>="<span style="color: Blue;">My Grid of Items</span>" <span style="color: Red;">ID</span>="<span style="color: Blue;">myGrid</span>" <span style="color: Red;">runat</span>="<span style="color: Blue;">server</span>" <span style="color: Red;">StoreID</span>="<span style="color: Blue;">itemStore</span>" <span style="color: Blue;">&gt;</span>
      <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ColumnModel</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Columns</span><span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:Column</span> <span style="color: Red;">Header</span>="<span style="color: Blue;">Id</span>" <span style="color: Red;">DataIndex</span>="<span style="color: Blue;">ItemId</span>"/<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:Column</span> <span style="color: Red;">Header</span>="<span style="color: Blue;">Name</span>" <span style="color: Red;">DataIndex</span>="<span style="color: Blue;">ItemName</span>"<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ext:Column</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">Columns</span><span style="color: Blue;">&gt;</span>
      <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ColumnModel</span><span style="color: Blue;">&gt;</span>
      <span style="color: Blue;">&lt;</span><span style="color: Maroon;">SelectionModel</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:RowSelectionModel</span> <span style="color: Red;">runat</span>="<span style="color: Blue;">server</span>" <span style="color: Red;">SingleSelect</span>="<span style="color: Blue;">true</span>"<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">RowSelect</span> <span style="color: Red;">Handler</span>=<br />                    "<span style="color: Blue;">#{modifyItemButton}.enable(); <br /></span>                    <span style="color: Blue;">#{deleteItemButton}.enable();</span>" /<span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">RowDeselect</span> <span style="color: Red;">Handler</span>=<br />                    "<span style="color: Blue;">if (!#{myGrid}.hasSelection()) <br /></span>                    <span style="color: Blue;">{<br /></span>                    <span style="color: Blue;">  #{modifyItemButton}.disable(); <br /></span>                    <span style="color: Blue;">  #{deleteItemButton}.disable();<br /></span>                    <span style="color: Blue;">}</span>" /<span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Show</span> <span style="color: Red;">Handler</span>=<br />                    "<span style="color: Blue;">if (!#{myGrid}.hasSelection()) <br /></span>                    <span style="color: Blue;">{<br /></span>                      <span style="color: Blue;">#{modifyItemButton}.disable(); <br /></span>                      <span style="color: Blue;">#{deleteItemButton}.disable();<br /></span>                    <span style="color: Blue;">}</span>" /<span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">SelectionChange</span> <span style="color: Red;">Handler</span>=<br />                    "<span style="color: Blue;">if (!#{myGrid}.hasSelection()) <br /></span>                    <span style="color: Blue;">{<br /></span>                      <span style="color: Blue;">#{modifyItemButton}.disable(); <br /></span>                      <span style="color: Blue;">#{deleteItemButton}.disable();<br /></span>                    <span style="color: Blue;">}</span>" /<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ext:RowSelectionModel</span><span style="color: Blue;">&gt;</span>
      <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">SelectionModel</span><span style="color: Blue;">&gt;</span>
      <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Buttons</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:Button</span> <span style="color: Red;">Text</span>="<span style="color: Blue;">Refresh</span>" <span style="color: Red;">runat</span>="<span style="color: Blue;">server</span>" <span style="color: Red;">ID</span>="<span style="color: Blue;">refreshGridButton</span>"<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Click</span> <span style="color: Red;">Fn</span>="<span style="color: Blue;">refreshGridButton_Click</span>" /<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ext:Button</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:Button</span> <span style="color: Red;">Text</span>="<span style="color: Blue;">New</span>" <span style="color: Red;">runat</span>="<span style="color: Blue;">server</span>" <span style="color: Red;">ID</span>="<span style="color: Blue;">createItemButton</span>"<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Click</span> <span style="color: Red;">Fn</span>="<span style="color: Blue;">createItemButton_Click</span>" /<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ext:Button</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:Button</span> <span style="color: Red;">Text</span>="<span style="color: Blue;">Delete</span>" <span style="color: Red;">runat</span>="<span style="color: Blue;">server</span>" <span style="color: Red;">ID</span>="<span style="color: Blue;">deleteItemButton</span>" <span style="color: Red;">Disabled</span>="<span style="color: Blue;">true</span>"<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Click</span> <span style="color: Red;">Fn</span>="<span style="color: Blue;">deleteItemButton_Click</span>" /<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ext:Button</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span><span style="color: Maroon;">ext:Button</span> <span style="color: Red;">Text</span>="<span style="color: Blue;">Modify</span>" <span style="color: Red;">runat</span>="<span style="color: Blue;">server</span>" <span style="color: Red;">ID</span>="<span style="color: Blue;">modifyItemButton</span>" <span style="color: Red;">Disabled</span>="<span style="color: Blue;">true</span>"<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
                  <span style="color: Blue;">&lt;</span><span style="color: Maroon;">Click</span> <span style="color: Red;">Fn</span>="<span style="color: Blue;">modifyItemButton_Click</span>" /<span style="color: Blue;">&gt;</span>
              <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">Listeners</span><span style="color: Blue;">&gt;</span>
          <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ext:Button</span><span style="color: Blue;">&gt;</span>
      <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">Buttons</span><span style="color: Blue;">&gt;</span>
  <span style="color: Blue;">&lt;</span>/<span style="color: Maroon;">ext:GridPanel</span><span style="color: Blue;">&gt;</span></pre>
<br />Which shows using the "#" shortcut to resolve client-side control names. This doesn't actually do anything client-side, but instead is processed by Coolite as part of the controls rendering and converted into fully qualified names. It also makes for code that's quite difficult to work on as you get no Intellisense/Syntax highlighting, etc, inside the attribute.<br /><br /><u><b>&lt;%=ServerControl.ClientID=&gt; jiggery-pokery</b></u><br /><br />The other option is to have a block of code inside your javascript that says something like:<br /><br /><blockquote>function getMyGrid() { return &lt;%=myGrid.ClientID%&gt;; }<br /></blockquote>which causes the ASP.net rendering engine to emit the relevant reference. This, rather than using "document.getElementById" works for Coolite created ExtJs components as they're javascript objects that render markup, rather than markup elements with associated javascript. Or at least, that's how it appears from my perspective (Your viewpoint may vary).<br /><br />The code snippet above seems to generally upset the crap out of the Javascript parsing engine in Visual Studio 2k8 and means you get an irritating yellow warning in the Error List. Changing it to be the following code (yes, eval bad, etc,..) removes the warning:<br /><br /><blockquote>function getMyGrid() { return eval('&lt;%=myGrid.ClientID%&gt;'); }<br /></blockquote><u><b>What I want</b></u><br /><br />Something similar to "document.getElementById" or ASP.net AJAX's $get/$find pair but for Coolite. It may already be in the Coolite code, but if not, it's going to get written (if at all possible) by me very soon. So, I'll be able to write:<br /><br /><blockquote>var myGrid = Coolite.getComponent('myGrid');<br />if (myGrid.hasSelection())<br />{<br />// Do something here<br />}<br /></blockquote>Without having to worry about the fact that 'myGrid' is stuck in several ASP.net naming containers and is thus actually called ctl00_mainArea_subArea_ctl02_myGrid, or something equally obscure.<br />]]></description>
            <link>http://www.robertwray.co.uk/blog/2009/01/resolving-coolite-objects-in-c.html</link>
            <guid>http://www.robertwray.co.uk/blog/2009/01/resolving-coolite-objects-in-c.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">asp.net</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ASP.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Coolite</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Javascript</category>
            
            <pubDate>Sun, 04 Jan 2009 10:36:40 +0000</pubDate>
        </item>
        
        <item>
            <title>extJs: Combobox drop-down is half width</title>
            <description><![CDATA[I've been battling (on and off) with an extJs combobox not being wide enough for the past few days and finally google has come up trumps for me. The hint about setting <a href="https://extjs.com/forum/showthread.php?p=202882">"hideMode" to "offsets"</a> seems to solve the problem.<br /><br />It does seem to cause a new rendering oddity though, the combobox suffering the issue is contained inside of an anchor inside of a form layout inside of the fifth of a set of tab panels. Multiple comboboxes on the first tab (which incidentally is default visible) don't seem to exhibit the problem. The tab the combo is on contains the combo, and a grid with two associated buttons:<br /><br />&lt;tab&gt;<br /><pre>&nbsp;&nbsp;&nbsp; &lt;form&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;anchor&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;combo /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/anchor&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;anchor&gt;<br />            &lt;label /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;grid&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;columnModel /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;buttons&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;button1 /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;button2 /&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;buttons&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;grid&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/anchor&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/form&gt;<br />&lt;/tab&gt;<br /></pre><br />When initially rendered, the label for the combo doesn't appear, nor do the buttons for the grid, they in fact do't render until the combo's drop-down is triggered. There's also a noticable lag when the tab is selected between the drop-down button part of the combobox appearing (show straight away) and the main text-box part showing (shows after a second). Grrrr!<br />]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/extjs-combobox-drop-down-is-ha.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/extjs-combobox-drop-down-is-ha.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
            <pubDate>Tue, 23 Dec 2008 14:58:31 +0000</pubDate>
        </item>
        
        <item>
            <title>extJs: getClientRects() error - Part 2</title>
            <description><![CDATA[<b>Previously: <a href="http://www.robertwray.co.uk/blog/2008/12/extjs-getclientrects-error.html">http://www.robertwray.co.uk/blog/2008/12/extjs-getclientrects-error.html</a></b><br /><br />After encountering the getClientRects() issue again I downgraded to IE7 to eliminate a beta browser as the causal factor. It still happened. Grr!<br /><br />Having found a thread about it on the <a href="http://extjs.com/forum/showthread.php?t=26276">extJs forums</a>, it looks like it's caused by a bit of craptitude in the extJs version that's included in Coolite v0.6. I want 0.7!! (At least there's a work-around/solution in the linked forum posting for those not using Coolite).<br />]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/extjs-getclientrects-error---p.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/extjs-getclientrects-error---p.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Coolite</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
            <pubDate>Mon, 22 Dec 2008 15:34:03 +0000</pubDate>
        </item>
        
        <item>
            <title>Riffing on: Avoiding the Uncanny Valley of User Interface</title>
            <description><![CDATA[Inspired by: <a href="http://www.codinghorror.com/blog/archives/000869.html">http://www.codinghorror.com/blog/archives/000869.html</a><br /><br />Never has a truer word been spoken. Trying to shoehorn desktop application UI paradigms into a web based application never ends well. Just look at '<a href="http://qwikioffice.com/desktop-demo/login.html">A qWikiOffice Desktop'</a> for a shining example of all that is wrong with doing this. When loaded on a Mac, it's going to look horribly, horribly out of place thanks to using pseudo-Windows theming. When loaded on an XP box (or even a Vista box running a 'classic' theme) it's going to look horribly out of place. More importantly, the question is <b>what does your application gain from looking like this</b>?<br /><br />The answer to the question above will almost certainly always be 'it looks good' or 'it's got lots of features'. A web application can look good without apeing that of a desktop application. It can look better.<br /><br />Whilst I'm mentioning this, I have to say that my most loathed example of the UI Uncanny Valley has to be itunes. It uses the Mac look and feel on Windows and thus doesn't fit in at all. Bleurgh.<br /> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/riffing-on-avoiding-the-uncann.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/riffing-on-avoiding-the-uncann.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Tech</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">itunes</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ui</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">web design</category>
            
            <pubDate>Thu, 18 Dec 2008 08:30:00 +0000</pubDate>
        </item>
        
        <item>
            <title>Failed to access IIS metabase on ASP.net request</title>
            <description><![CDATA[If you encounter the error message "Failed to access IIS metabase" when making a request to a newly created ASP.net virtual directory under IIS, or even one that was created a whle ago on a machine that has had Visual Studio added/removed/upgraded/repaired, the solution is generally to go to WINDOWS_DIRECTORY\Microsoft.Net\Framework\FRAMEWORK_VERSION in a command prompt and run "aspnet_regiis -i"<br /><br /><blockquote>Discovered at: <a href="http://cgaskell.wordpress.com/2006/11/22/failed-to-access-iis-metabase/">http://cgaskell.wordpress.com/2006/11/22/failed-to-access-iis-metabase/</a><br /></blockquote><br />]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/failed-to-access-iis-metabase.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/failed-to-access-iis-metabase.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Tech</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">asp.net</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">asp.net iis metabase</category>
            
            <pubDate>Wed, 17 Dec 2008 13:15:59 +0000</pubDate>
        </item>
        
        <item>
            <title>Top blog entries of 2008</title>
            <description><![CDATA[I was looking through my web stats and saw that my most-read posts were:<br /><ol><li><a href="http://robertwray.co.uk/blog/2006/03/insufficient-sy.html">"Insufficient System Resources Exist to Complete the API."</a></li><li><a href="http://robertwray.co.uk/recipes/2006/06/post.html">Lamb Shanks with Cannellini beans and Balsamic Vinegar</a></li><li><a href="http://www.robertwray.co.uk/blog/2007/05/using-classic-a.html">Using Classic ASP on Vista/Longhorn/IIS7</a> <br />(Actually in my stats for the URL: <a href="http://robertwray.co.uk/blog/classic-asp/2007/05/">http://robertwray.co.uk/blog/classic-asp/2007/05/</a> )<br /></li><li><a href="http://robertwray.co.uk/recipes/2007/04/sausage-casserole.html">Sausage Casserole</a></li><li><a href="http://robertwray.co.uk/blog/2008/01/aspnet-viewstate.html">ASP.net: Viewstate</a></li></ol>With just over 1,200 views of the most read post, it surprised me to see that only 40 people had used the exact searchterm to find my site. I wonder where the others found it? My highest number of searches for a term was 314 for "sausage casserole", and my lowest number of search terms was 1, for "sausage caseroles" (plural!).<br /><br /> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/top-blog-entries-of-2008.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/top-blog-entries-of-2008.html</guid>
            
            
            <pubDate>Wed, 17 Dec 2008 09:33:36 +0000</pubDate>
        </item>
        
        <item>
            <title>extJs: getClientRects() error</title>
            <description><![CDATA[I've been encountering a strange error with extJs (when using <a href="http://www.coolite.com/">Coolite</a>) that I think may be IE8 specific, but I haven't been able to prove it yet.<br /><br />When I use the &lt;ext:Grid&gt; and set the ClicksToEdit to "1", rather than the default of 2, if I click through the editable fields in the grid too quickly I receive an "unspecified error" on a call to getClientRects. Very odd. Also, the editable textboxes for the bottom-most (of the two rows in the grid) row won't render/become editable unless the grid has been sorted (at least once). Even more odd.<br /> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/extjs-getclientrects-error.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/extjs-getclientrects-error.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">asp.net</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Coolite</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
            <pubDate>Wed, 17 Dec 2008 09:19:56 +0000</pubDate>
        </item>
        
        <item>
            <title>extJS: VType for validating a time</title>
            <description><![CDATA[<p><p>I needed a VType for validating a time using the extJs framework in the format HH:MM (24 hour clock, no &#8216;AM&#8217; or &#8216;PM&#8217;) and couldn&#8217;t find one that quite fit the bill, so a tweaked version is:<br /><br /></p><blockquote>Ext.form.VTypes[&#8220;timeVal&#8221;] = /^([0-9]|1[0-9]|2[0-3]):([0-5][0-9])$/i;<br />Ext.form.VTypes[&#8220;timeMask&#8221;] = /[\d\s:amp]/i;<br />Ext.form.VTypes[&#8220;timeText&#8221;] = &#8216;Not a valid time.&nbsp; Must be in the format hh:mm&#8221;.&#8217;;<br />Ext.form.VTypes[&#8220;time&#8221;] = function(v)<br />{<br />&nbsp;&nbsp;&nbsp; return Ext.form.VTypes[&#8220;timeVal&#8221;].test(v);<br />}<br /><br /></blockquote>Related Linkage:<br /><ul><li><a href="http://extjs.com/forum/showthread.php?t=4271&amp;page=1">A decent collection of VTypes</a> (one of which forms the basis of the one above)</li><li><a href="http://blog.adampresley.com/2008/05/08/advanced-data-validation-using-extjs/">Advanced Data Validation using ExtJs</a> (a good overview of VTypes)</li><li><a href="http://examples.extjs.eu/?ex=formerrors">Displaying Form Submit Errors by Saki</a> (Mixing it up with VTypes and server-side validation)<br /></li></ul></p>
]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/extjs-vtype-for-validating-a-t.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/extjs-vtype-for-validating-a-t.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Javascript</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">VType</category>
            
            <pubDate>Tue, 16 Dec 2008 08:30:45 +0000</pubDate>
        </item>
        
        <item>
            <title>Adding groups and summaries to the asp:GridView</title>
            <description><![CDATA[Whilst hunting for a way to do this I found this <a href="http://www.agrinei.com/gridviewhelper/gridviewhelper_en.htm">sample/example</a> at agrinei.com. [via: <a href="http://aspadvice.com/blogs/joteke/archive/2006/02/11/15130.aspx">Joteke's aspadvice.com blog</a>]<br /><br />]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/adding-groups-and-summaries-to.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/adding-groups-and-summaries-to.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">asp.net</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">asp:GridView ASP.net</category>
            
            <pubDate>Mon, 15 Dec 2008 13:49:45 +0000</pubDate>
        </item>
        
        <item>
            <title>Coolite - grid.insertRecord is not part of extJs</title>
            <description><![CDATA[For the avoidance of doubt (and hopefully so it'll make anyone else who wonders about this have an easier time searching), the <a href="http://www.coolite.com/forums/FindPost1339.aspx">insertRecord method</a> on the Coolite implementation of the extJs grid is added by Coolite.<br /><br />Be prepared to see more like this :-S<br /> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/coolite---gridinsertrecord-is.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/coolite---gridinsertrecord-is.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.net</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ASP.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Coolite</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
            <pubDate>Mon, 15 Dec 2008 10:53:48 +0000</pubDate>
        </item>
        
        <item>
            <title>IE8 should pass Acid3 - what a load of rubbish</title>
            <description><![CDATA[If you look through comments on the <a href="http://blogs.msdn.com/ie">IE Blog</a>, you'll usually find at least one comment against each recent entry from someone saying something along the lines of "IE should pass <a href="http://en.wikipedia.org/wiki/Acid3">Acid3</a>". Given that (and I quote Wikipedia here) " It includes several elements from W3C <a href="http://en.wikipedia.org/wiki/CSS3" title="CSS3" class="mw-redirect">CSS3</a> working drafts that have not made it to candidate recommendations yet", why on earth would any browser want to "pass" it?<br /><br />Yes - the intentions of the Acid3 test are laudable, but c'mon people, passing a test that requires implementation of standards that are working drafts is a bit mental. (Before anyone comments - my opinion applies equally to *any* browser)<br /> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/ie8-should-pass-acid3---what-a.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/ie8-should-pass-acid3---what-a.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Tech</category>
            
            
            <pubDate>Mon, 15 Dec 2008 08:40:16 +0000</pubDate>
        </item>
        
        <item>
            <title>hotfrog.co.uk - aka: Reed; stop scraping the web, please!</title>
            <description><![CDATA[As of today, the fifth result in a <a href="http://www.google.co.uk/search?hl=en&amp;q=Robert+Wray&amp;btnG=Search&amp;meta=cr%3DcountryUK%7CcountryGB">google search for Robert Wray</a> (restricted to UK sites) is a page on hotfrog.co.uk. Quite how they've come to the conclusion that I offer to sell things ranging from Coffee Grinders to Laptops to Red Wine, I have no idea. Oh wait, I do. I've mentioned all those things, plus the others mentioned in various different blog postings. Automated page scrapingis all well and good, just not so much when it's done so poorly.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="hotfrog_co_uk.png" src="http://www.robertwray.co.uk/blog/images/hotfrog_co_uk.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" width="590" height="429" /></span><br /><div><br /></div>]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/hotfrogcouk---aka-reed-stop-sc.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/hotfrogcouk---aka-reed-stop-sc.html</guid>
            
            
            <pubDate>Sun, 14 Dec 2008 12:51:07 +0000</pubDate>
        </item>
        
        <item>
            <title>Using ExtJs from ASP.net with Coolite</title>
            <description><![CDATA[I can heartily recommend the <a href="http://www.coolite.com/">Coolite</a> framework for this, rather than battling with Javascript syntax. It's currently at v0.6 (c'mon, hurry up and release v0.7!) and thus is missing some functionality that I'd really quite like to use but it is pretty damn good. The big win for me is the fact that you get to describe your extJs "stuff" using markup that's validated by Visual Studio for you. Big. Win.<br /><br />Follow <a href="http://twitter.com/coolite/">coolite on twitter</a>. (That's how I'm watching for v0.7!)<br /> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/12/using-extjs-from-aspnet-with-coolite.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/12/using-extjs-from-aspnet-with-coolite.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">asp.net</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">ASP.net</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Coolite</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ExtJs</category>
            
            <pubDate>Wed, 10 Dec 2008 08:45:00 +0000</pubDate>
        </item>
        
        <item>
            <title>Passwords</title>
            <description><![CDATA[Jonathan Cogley has a post about <a href="http://weblogs.asp.net/jcogley/archive/2008/01/24/bad-password-requirements.aspx">bad password requirements</a> that covers most, if not all, of the salient points around the topic of what defines a good or bad password. The comments also make for interesting reading. What's most disturbing though is the comment by the author himself:<br /><br /><blockquote>&nbsp;...most times when we do a security audit of an application, the
first thing we find is cleartext passwords in the user table in the
database. :)<br /></blockquote> ]]></description>
            <link>http://www.robertwray.co.uk/blog/2008/09/passwords-and-bad-password-requirements.html</link>
            <guid>http://www.robertwray.co.uk/blog/2008/09/passwords-and-bad-password-requirements.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Tech</category>
            
            
            <pubDate>Thu, 25 Sep 2008 08:30:00 +0000</pubDate>
        </item>
        
    </channel>
</rss>
