﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Issues  » Maintenance Form Toolstrip &amp; Shortcut Keys</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 08 Sep 2026 17:48:17 GMT</lastBuildDate><ttl>20</ttl><item><title>Maintenance Form Toolstrip &amp; Shortcut Keys</title><link>http://forum.strataframe.net/FindPost5917.aspx</link><description>First, I have a suggestion for a themed point release sometime in SF's future. Have one point release dedicated to finding all the opportunities for shortcut keys in all the designers. SF is a wonderfully fast development tool--and it would be faster still if I didn't have to take my hand off the keyboard to mouse around so much during design.&lt;/P&gt;&lt;P&gt;But that's not what I'm asking about here. :)&lt;/P&gt;&lt;P&gt;In the Maintenance Form Toolstrip, I understand why you wouldn't necessarily set default shortcut keys for Edit, Save, Undo, etc. You don't want to conflict with other logic a developer may implement on a form.&lt;/P&gt;&lt;P&gt;However, it would be valuable to have a way to set the shortcut keys for toolstrip items. I tried editing the Items collection and changing the Text of the Edit button from 'Edit' to '&amp;amp;Edit'. To no avail. The designer resets all the default properties of all the built-in toolstrip buttons, it appears (as an aside, is that intentional?).&lt;/P&gt;&lt;P&gt;Now, I can add a new item and shortcut it just fine: I added another Edit item with the Text '&amp;amp;Edit' and it behaves as expected. So I could workaround the issue I guess, but I'd rather not have to wire up a bunch of fake toolstrip items to get this fairly standard behavior going.&lt;/P&gt;&lt;P&gt;Suggestions?&lt;/P&gt;&lt;P&gt;Thanks!</description><pubDate>Tue, 23 Jan 2007 17:54:06 GMT</pubDate><dc:creator>Chris Crabtree</dc:creator></item><item><title>RE: Maintenance Form Toolstrip &amp; Shortcut Keys</title><link>http://forum.strataframe.net/FindPost6130.aspx</link><description>Yeah, I definitely can use this.  Thanks!  One of the requirements of the app I'm working on is that the users be able to navigate without the use of the mouse, if they so choose. (they are coming straight from the DOS world)  Even though it may be a training issue on the Alt+ combinations at least we can say they don't have to use the mouse.</description><pubDate>Tue, 23 Jan 2007 17:54:06 GMT</pubDate><dc:creator>Randy Jean</dc:creator></item><item><title>RE: Maintenance Form Toolstrip &amp; Shortcut Keys</title><link>http://forum.strataframe.net/FindPost5949.aspx</link><description>Yes, subclassing is certainly the best way to do it :)&amp;nbsp; Promotes the best reuse.&lt;/P&gt;&lt;P&gt;Thanks for posting the code for others.</description><pubDate>Fri, 19 Jan 2007 09:12:25 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: Maintenance Form Toolstrip &amp; Shortcut Keys</title><link>http://forum.strataframe.net/FindPost5935.aspx</link><description>Having a bunch of forms already using the MaintenanceFormToolStrip, I took things one step further to save time.&amp;nbsp;I subclassed the MaintenanceFormToolStrip and simply performed the following steps:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Edit--&amp;gt;Find and Replace--&amp;gt;Replace in Files (Ctrl+Shift+H)&lt;/LI&gt;&lt;UL&gt;&lt;LI&gt;Find: MicroFour.StrataFrame.UI.Windows.Forms.MaintenanceFormToolStrip();&lt;/LI&gt;&lt;LI&gt;Replace With: SFHelper.MyMaintenanceFormToolStrip();&lt;/LI&gt;&lt;/UL&gt;&lt;LI&gt;Edit--&amp;gt;Find and Replace--&amp;gt;Replace in Files (Ctrl+Shift+H)&lt;/LI&gt;&lt;UL&gt;&lt;LI&gt;Find: MicroFour.StrataFrame.UI.Windows.Forms.MaintenanceFormToolStrip&lt;/LI&gt;&lt;LI&gt;Replace With: SFHelper.MyMaintenanceFormToolStrip&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;Fixed up 14 forms in no time. :)&lt;/P&gt;&lt;P&gt;And here is the code if anyone wants to take off on the idea. I made it generic for any particular set of buttons that are present. It will choose unique shortcut keys for each button automatically if possible, but the order of items does matter.&lt;/P&gt;&lt;P&gt;For example, if you had four buttons in this order: Newest Newer Newish New. It would assign shortcut keys 'N' for the first, 'e' for the second, 'w' for the third, and just give up on the fourth since all three of its letters were already in use. The button would still be there and everything, but just no shortcut key. This should be rare, I think.&lt;/P&gt;&lt;P&gt;[codesnippet]&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Collections.Generic;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Text;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; MicroFour.StrataFrame.UI.Windows.Forms;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Windows.Forms;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Diagnostics;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;namespace&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; SFHelper&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;class&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MyMaintenanceFormToolStrip&lt;/FONT&gt;&lt;FONT size=2&gt;: &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MaintenanceFormToolStrip&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; MyMaintenanceFormToolStrip()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;SetupToolStripShortcuts();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;public&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; SetupToolStripShortcuts()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripItem&lt;/FONT&gt;&lt;FONT size=2&gt; item &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.Items)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripButton&lt;/FONT&gt;&lt;FONT size=2&gt; button = item &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripButton&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (button != &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;ApplyDisplayStyle(button);&lt;/P&gt;&lt;P&gt;ApplyShortcutKey(button);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; ApplyDisplayStyle(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripButton&lt;/FONT&gt;&lt;FONT size=2&gt; button)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (button.DisplayStyle == &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripItemDisplayStyle&lt;/FONT&gt;&lt;FONT size=2&gt;.Image)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;button.DisplayStyle = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripItemDisplayStyle&lt;/FONT&gt;&lt;FONT size=2&gt;.ImageAndText;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;else&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (button.DisplayStyle == &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripItemDisplayStyle&lt;/FONT&gt;&lt;FONT size=2&gt;.None)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;button.DisplayStyle = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripItemDisplayStyle&lt;/FONT&gt;&lt;FONT size=2&gt;.Text;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; ApplyShortcutKey(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ToolStripButton&lt;/FONT&gt;&lt;FONT size=2&gt; button)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; text = button.Text;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (text.Length &amp;lt;= 0)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;text = StripCommandPrefix(button.Name);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Debug&lt;/FONT&gt;&lt;FONT size=2&gt;.Assert(text.Length &amp;gt; 0);&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt; shortcutKey = ChooseShortcutKey(text);&lt;/P&gt;&lt;P&gt;button.Text = InsertShortcut(text, shortcutKey);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; InsertShortcut(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; text, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt; shortcutKey)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; result = text;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT size=2&gt; position=text.IndexOf(shortcutKey);&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (position &amp;gt;= 0)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;result=text.Insert(position, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"&amp;amp;"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; result;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt; ChooseShortcutKey(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; s)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt; result = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt;.MinValue;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; sLower = s.ToLower();&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;for&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT size=2&gt; i = 0; i &amp;lt; sLower.Length; i++)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt; candidateLower = sLower[i];&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt; candidateOriginal = s[i];&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (IsCandidateInUse(candidateLower) == &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;_shortcutsInUse.Add(candidateLower);&lt;/P&gt;&lt;P&gt;result = candidateOriginal;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;break&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/P&gt;&lt;P&gt;} &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; result;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;bool&lt;/FONT&gt;&lt;FONT size=2&gt; IsCandidateInUse(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt; c)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; _shortcutsInUse.Contains(c);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; StripCommandPrefix(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; s)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Debug&lt;/FONT&gt;&lt;FONT size=2&gt;.Assert(s.Length &amp;gt; 3);&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Debug&lt;/FONT&gt;&lt;FONT size=2&gt;.Assert(s.StartsWith(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"cmd"&lt;/FONT&gt;&lt;FONT size=2&gt;));&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;return&lt;/FONT&gt;&lt;FONT size=2&gt; s.Remove(0, 3);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;List&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt; _shortcutsInUse = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;List&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;gt;();&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet]</description><pubDate>Thu, 18 Jan 2007 13:34:46 GMT</pubDate><dc:creator>Chris Crabtree</dc:creator></item><item><title>RE: Maintenance Form Toolstrip &amp; Shortcut Keys</title><link>http://forum.strataframe.net/FindPost5929.aspx</link><description>Got it. That works, thanks!</description><pubDate>Thu, 18 Jan 2007 09:55:18 GMT</pubDate><dc:creator>Chris Crabtree</dc:creator></item><item><title>RE: Maintenance Form Toolstrip &amp; Shortcut Keys</title><link>http://forum.strataframe.net/FindPost5925.aspx</link><description>The removing of any changes that you set is not by design from us.&amp;nbsp; It's just the nature of the way design-time changes are "serialized" within the designer file of your form and the designer file of the MaintenanceFormToolstrip and the order in which your code and the MaintenanceFormToolstrip's code is executed within the InitializeComponent() method of your form.&amp;nbsp;&lt;/P&gt;&lt;P&gt;To ensure that your changes don't get overwritten, you can set the appropriate properties programmatically, after the InitializeComponent() method is executed.&amp;nbsp; So, you could set the edit button's text to &amp;amp;Edit within your constructor, you just have to do it after the InitializeComponent() method is executed.</description><pubDate>Thu, 18 Jan 2007 09:02:36 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item></channel></rss>