<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Share This Point</title>
        <link>http://sharethispoint.com/Default.aspx</link>
        <description>Sharing points about SharePoint, .NET, XML Web Services...</description>
        <language>en</language>
        <copyright>Morgan Everett &amp; Mark Collins</copyright>
        <managingEditor>morgan@4qtrs.net</managingEditor>
        <generator>Subtext Version 1.9.2.30</generator>
        <image>
            <title>Share This Point</title>
            <url>http://sharethispoint.com/images/RSS2Image.gif</url>
            <link>http://sharethispoint.com/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Live Bloging from Devscovery Day 3</title>
            <link>http://sharethispoint.com/archive/2008/08/21/Live-Bloging-from-Devscovery-Day-3.aspx</link>
            <description>&lt;p&gt;&lt;em&gt;9:10am (ME)&lt;/em&gt; - Databinding in WPF - interesting information about DataBinding.  Very good so far.   Tip for getting more information abou the DataBinding and run time in the Output windows use the &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PresentationTraceSource&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;10:01 am (ME)&lt;/em&gt; - Performance tip.. he says ALWAYS set your DataContext for databinding in Code..  big performance help.. usually in the OnLoaded or Loaded event.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;10:42 am (MC)&lt;/em&gt; -I'm at the day of threading presentation today. Here are some notes I've taken on the first of the 4 sessions.. I dont know how much sense any of this will make :D&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Creating processes incurs way more overhead than creating thread. Creating threads does cause notification of every referenced assembly which does incur some overhead. (DLL attach/detach notifications).&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Context switch - A context switch occurs when window switches thread execution. Context switches happen about every 20ms. If windows switches to a thread owned by another process it creates overhead in translating all the virtual addresses for the process memory to physical addresses.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;1:47pm (ME) - Lunch was ok.. same as last 2 days.. not great.  The give aways sucked.. really disappointed about that.  &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;In a WPF 3D talk, very interesting shows a lot of different examples that look good.  I will post the code in a little bit as well.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;(rumor) Windows 8 is going to provide a framework that helps eliminate the ability to easily create syncronized threads and encourage async code and thread creation.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;feature cut from vista that would of allowed several different managed applications under the same process, which would allow them to share the same instance of CLR components.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Process an Appdomains - A process is a container for code and data, esentially address space (A windows concept). AppDomains are a CLR concept. AppDomains logically sub divide a processes virtual address space. They are created/destroyed more cheaply than a process. Also provides managed exe/dll code &amp;amp; data isolation. AppDomains allow you to control CAS. Threads are not automatically created for each AppDomain. Only thread execute code, not the AppDomain, it is just a container. One managed heap is created per process but an appdomain ownes the objects its code creates in the manage heap, and those objects cannot be shared across app domains. Static fields and singletons are per AppDomain, not per process.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Threads - every thread created has 1MB of committed user-mode memory and 12Kb/24KB of kernel memory on the stack. This stack is used for parameters and local variables. Threads are confined to a single process address space, they cannot execute code or access data from other processes. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;When a process dies, all threads die. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;In the CLR threads can cross AppDomain boundaries. Although it can only execute in one AppDomain at a time and it will assume the current AppDomains security and configuration settings.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;A tool called process explorer allows you to view the number of AppDomains running inside a process. Its like task manager on crack. It can also display number of context switches. You can download it at http://Sysinternals.com.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Creating a thread - .net thread objects are light-weight, constructing one doesn't have windows create a thread. Calling the Start() method causes windows to actually create the thread. Once your delegated method returns windows will kill the thread. Optional: You can call Join() on a thread in .net to pause the current thread execution until&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;your new thread is completed executing.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;The CLR run time creates 2 threads in addition to the default one created initially by the process. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;Debugging in Visual studio also creates an additional thread for running debug events. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Whenever garbage collection starts it suspends all the threads, walks and compacts their stacks, and then resume all of them. Garbage collection can become very painful with a large number of threads.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;10:53 am (ME) -&lt;/em&gt;  In the 2nd DataBinding method, and talking about ValueConverters, it is interesting. I'm going to try and post the slides for Threading and Binding now.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;11:17am (ME) &lt;/em&gt;- Here is are the current slide decks that we are in, and used for the rest of the day.&lt;/p&gt;
&lt;p&gt;DataBinding -  Part 1 - &lt;a href="http://download.sharethispoint.com/Data-Binding%20in%20WPF-Part%201.pdf"&gt;http://download.sharethispoint.com/Data-Binding%20in%20WPF-Part%201.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;                           Part 2  -   &lt;a href="http://download.sharethispoint.com/Data-Binding%20in%20WPF-Part%202.pdf"&gt;http://download.sharethispoint.com/Data-Binding%20in%20WPF-Part%202.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Day of Threading   - Part 1 - &lt;a href="http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%201.pdf"&gt;http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%201.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;                                   Part 2  -  &lt;a href="http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%202.pdf"&gt;http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%202.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;                                   Part 3  -  &lt;a href="http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%203.pdf"&gt;http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%203.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;                                   Part 4 -  &lt;a href="http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%204.pdf"&gt;http://download.sharethispoint.com/Day%20of%20Threading%20-%20Part%204.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;10:42 am (MC)&lt;/em&gt; - &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="2"&gt;Reasons to create threads – Isolate code from other code for reliability and allow easier creation of code for certain tasks. Concurrent execution on multi-cpu machines.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="2"&gt;Examples of good usage for threads:&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Indexing files&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Defrag disks &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Building source code in the bg to provide error lists&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Spelling/Grammer checking&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Copying/printing files.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;font face="Arial"&gt;&lt;font size="2"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;·&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Resizing an app window while processing I/O&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="2"&gt;Internally every thread has a base priority number which ranges from 0(lowest) to 31(highest). 0 is reserved. Windows schedules highest priority threads to run on the cpu first. Most threads in the system run on priority 8.Priority doesn’t affect the speed at which your code runs, it just affects the frequency at which your thread is scheduled for execution. The CLR has priority 1 and 15 reserved. OS threads run in the real time range and any threads you create in that range can adversely affect the OS. You must be admin to run threads as real time.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="2"&gt;Environment.ProcessorCount will tell you how many processors are on the machine.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="2"&gt;The CLR creates a thread pool. There is one thread pool created for each process. The thread pool facilitates the reuses of threads to help alieviate the overhead associated with creating a new thread.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="2"&gt;Interlocked.Increment does a thread safe, atomic, increment on a variable.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;Process.ProcessorAffinity tells windows and the thread pool the max number of processors to&lt;/font&gt; use. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt; 1:47pm (ME) - Lunch was same as the last few days.. nothing great.. .and the giveaways were not great at all this year..  In the middle of a WPF 3D presentation.. some very kewl models and how to do it.. trying to see practical approaches to it.  I will post the code later.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;3:19 pm (MC)&lt;/em&gt; - &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Windows I/O completion port – eliminates thread blocking when accessing drivers/hardware. The thread pool is connected to and works with the I/O completion port. The CLR creates 1 IOCP per process.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;In vista and windows server 2008 they have added support for I/O priorities. Basically adds several IRP ques to each I/O device. You can PInvoke them from .net.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Asynchronous Programming Model – Supports 3 rendezvous techniques&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;·&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Wait until done – sux, blocks thread entirely, just like normal read.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;·&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Polling – sux, could block the thread. Allows you to loop or check a variable for the status of the I/O completion. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;·&lt;/font&gt;&lt;span style="FONT: 7pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;Callback method – the way to go.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Used with the “Begin” and “End” naming conventions. Ie: BeginRead and EndRead of the filestream object.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Every “Begin” method always has two extra params, AsyncCallBack and an object. Each Begin method returns a IAsyncResult object, which is like your recipt for making the request.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;If you don’t specify FileOptions.Asynchronous flag BeginRead just creates another thread in bg to simulate asyn I/O. This is really bad, so you should always specify the flag if u want Async operations.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;4:53&lt;em&gt; pm (MC)&lt;/em&gt; - &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Web services support async operations out of the box by using the “Begin” and “End” method names on your web methods. Automatically uses the thread pool.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Silverlight does not offer an synchronous APIs and there are people on the windows team trying to convert all the legacy synchronous APIs to async.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;Make sure to check out the asyncenumerator. Make writing async methods look just like one synchronous method. It uses the SynchronizationContext object on a thread to make sure that you don’t have call BeginInvoke with code inside your iterator and other mechanisms to allow your code to be used by threads other than the owner. Powerthreading library here: &lt;/font&gt;&lt;a href="http://wintellect.com/powerthreading.aspx"&gt;&lt;font face="Calibri" color="#800080" size="3"&gt;http://wintellect.com/powerthreading.aspx&lt;/font&gt;&lt;/a&gt;&lt;font face="Calibri" size="3"&gt; Looks really bad ass.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;I need to look at reader/writer locks. Reader/writer/gate might be a possible answer to this problem.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;Class given by Jeffery Richter from www.wintellect.com.&lt;/span&gt;&lt;/p&gt;&lt;img src="http://sharethispoint.com/aggbug/333.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2008/08/21/Live-Bloging-from-Devscovery-Day-3.aspx</guid>
            <pubDate>Thu, 21 Aug 2008 17:03:43 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2008/08/21/Live-Bloging-from-Devscovery-Day-3.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/333.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Live Bloggin from Devscovery (Day 2)</title>
            <link>http://sharethispoint.com/archive/2008/08/20/Live-Bloggin-from-Devscovery-Day-2.aspx</link>
            <description>&lt;p&gt;8:57 am (ME) - Coming into our 1st session of the day.  Expression Blend for developers.. could be really good and helpful.&lt;/p&gt;
&lt;p&gt;9:19 am (ME) - Expression Blend for developers is going really well.  There are hardly anyone in this though, so I'm really surprised.    He seems pretty knowledge, and there are good questions so far.&lt;/p&gt;
&lt;p&gt;10:04 am (MC) - The brush transform tool lets you alter the path of gradients. So you can change the direction of a graditent really easily.&lt;/p&gt;
&lt;p&gt;10:40am (ME) - The Expression Blend for developers was very good, some great tips on using Blend, and the start of some ideas to incorporate the Designer/Developer experience.   FallBackValue DataBinding property was interesting, might be able to use some of that,  for helping out the different the design time experience.    Going into the &lt;/p&gt;
&lt;p&gt;Deigners + Developers Workflow in WPF &amp;amp; Silverlight - session next..&lt;/p&gt;
&lt;p&gt;11:10am (ME) - Good talk so far, about Designer/Developer... the "Integator" or "Devigner" seems to be very key.  Tools for this experience.. Snoop, Mole (moleproject.com), Perforator, TFS   - Designers -  Illustrators, Fireworks, Snoop, Pistachio, Zam 3D.  Very interesting.&lt;/p&gt;
&lt;p&gt;Don't use Mole yet, but it is a Add In for Visual Studio, for Snoop.&lt;/p&gt;
&lt;p&gt;11:17am (ME) - Pistachi looks kewl, removes the extra resources in WPF &lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://www.granthinkson.com/2007/11/08/announcing-pistachio-wpf-resource-visualizer/"&gt;http://www.granthinkson.com/2007/11/08/announcing-pistachio-wpf-resource-visualizer/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; 12:15pm (ME) - Ok.. this is bad ass Josh Smith and Grant Hinkson doing a live demo.. developer/designer working together to build an application.    Josh build an application that grabs XML out of a file, binds it to a set of controls, and has a routed command for clicking on event.  Grant Hinkson gets it in Blend, and styles in.  Right in front of everyone.  &lt;/p&gt;
&lt;p&gt;This is awesome, bad ass.  Great demo, great idea of how everything works together.  Awesome.. seriously good!&lt;/p&gt;
&lt;p&gt;1:37pm (ME) -  Talking about Silverlight 2.0... Silverlight 2 CLR ("CoreCLR")...  Small footprint.. (2MB)..  &lt;/p&gt;
&lt;p&gt;SCOOP here -  Silverlight 2 coming out in October this here!!!!! :D   &lt;/p&gt;
&lt;p&gt;Interesting talk, talks about the reduction of CoreCLR (silverlight clr)  no CAS, no COM Interop, no remoting and server garbage collection.  removed a bunch..  and Multiple Instances in one process.&lt;/p&gt;
&lt;p&gt;1:50pm (ME) - This is the slide deck I'm watching right now&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;&lt;a href="http://download.sharethispoint.com/Building%20Great%20Web%20Applications%20in%20Silverlight%202.pdf"&gt;http://download.sharethispoint.com/Building%20Great%20Web%20Applications%20in%20Silverlight%202.pdf&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; Silverlight tips and tricks, that is coming up next. I'm not able to get to it.. going to the MVVM lecture.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://download.sharethispoint.com/Silverlight%20Tips.pdf"&gt;http://download.sharethispoint.com/Silverlight%20Tips.pdf&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;This is the MVVM slide deck I'm going to later.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://download.sharethispoint.com/Implementing%20the%20MVVM%20Pattern%20in%20WPF.pdf"&gt;http://download.sharethispoint.com/Implementing%20the%20MVVM%20Pattern%20in%20WPF.pdf&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; 2:25pm (ME) - Using Silverlight 2.0 to hit REST ful web services.   This is WHAT i'm Talking about Willis!!! SILVERLIGHT WILL RULE THE WORLD!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table style="WIDTH: 633px; HEIGHT: 384px" cellspacing="1" cellpadding="1" width="633" summary="" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;&lt;font size="1"&gt;&lt;font face="Courier New"&gt;&lt;font face="Arial"&gt;HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(new Uri("http://contoso.com/weather/98052"));&lt;br /&gt;
            request.BeginGetResponse(new AsyncCallback(OnGetResponseCompleted), request);&lt;br /&gt;
            ...&lt;/font&gt;
            &lt;p&gt;&lt;font face="Arial"&gt;private void OnGetResponseCompleted(IAsyncResult ar)&lt;br /&gt;
            {&lt;/font&gt;&lt;/p&gt;
            &lt;p&gt;&lt;font face="Arial"&gt; HttpWebRequest request = (HttpWebRequest)ar.AsyncState;&lt;br /&gt;
             HttpWebResponse response =&lt;/font&gt;&lt;/p&gt;
            &lt;p&gt;&lt;font face="Arial"&gt; (HttpWebResponse)request.EndGetResponse(ar);&lt;br /&gt;
             using (StreamReader reader = new StreamReader(response.GetResponseStream()))&lt;br /&gt;
             {&lt;br /&gt;
              string result = reader.ReadToEnd();&lt;/font&gt;&lt;/p&gt;
            &lt;p&gt;&lt;font face="Arial"&gt;  ...&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;/font&gt;&lt;/p&gt;
            &lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;4:14 pm (MC) - Learned a little bit about the yield operator. (&lt;font face="Arial"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/9k7k7cf0(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/9k7k7cf0(VS.80).aspx&lt;/a&gt;)&lt;/font&gt;&lt;/p&gt;&lt;img src="http://sharethispoint.com/aggbug/332.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2008/08/20/Live-Bloggin-from-Devscovery-Day-2.aspx</guid>
            <pubDate>Wed, 20 Aug 2008 16:21:26 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2008/08/20/Live-Bloggin-from-Devscovery-Day-2.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/332.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Live blogging from Devscovery conference</title>
            <link>http://sharethispoint.com/archive/2008/08/19/Live-blogging-from-Devscovery-conference.aspx</link>
            <description>&lt;p&gt;DAY 1 - &lt;/p&gt;
&lt;p&gt;8:18am (MC) - Morgan and I are at the Devscovery conference (&lt;font face="Arial"&gt;&lt;a href="http://www.devscovery.com/"&gt;http://www.devscovery.com/&lt;/a&gt;) in Redmond this week. The keynote is about to begin in 30 minutes and I plan on trying to blog about the cool stuff we see at the conference. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;8:51am (MC) - The coffee is strong....... &lt;font face="Arial"&gt;&lt;a href="http://twinkle.s3.amazonaws.com/s_1219160970971794.jpg"&gt;http://twinkle.s3.amazonaws.com/s_1219160970971794.jpg&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;9:07am (ME)  - Listening to Scott Hanselman .. .hilarious speaker..  (Ninja's can't catch you if you are on fire)   - Talking about new stuff in .NET 3.5 SP1 - .. ASP.NET MVC coming in October... very kewl.&lt;/p&gt;
&lt;p&gt;9:17am (MC) - Linq to sql looks really cool. Allows you to quickly create some pretty powerfull biz data objects. Makes it easy to have compile time checking on your queries. Scott is pretty funny...&lt;/p&gt;
&lt;p&gt;9:56am (MC) - cntrl + . is a nice short cut for the "add using statement" menu. ADO.Net data services (Astoria) look like a great way to expose a db via web services, really wish we had known about this 3 months ago :D. &lt;/p&gt;
&lt;p&gt;10:07 (ME) - talking about using MVC in ASP.NET so using MVC on the server side.  Interesting.. codeplex.com uses a combination of MVC and Webforms.&lt;/p&gt;
&lt;p&gt;10:18am (MC) - All about asp.net MVC here: &lt;font face="Arial"&gt;&lt;a href="http://www.asp.net/mvc/default.aspx?wwwaspnetrdirset=1"&gt;http://www.asp.net/mvc/default.aspx?wwwaspnetrdirset=1&lt;/a&gt; . I'm not personally a huge fan of asp.net mvc yet but the web routes are really cool. I would be interested to see if they will web routes in sharepoint.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;10:25am (MC) - ASP.Net Dynamic Data looks really really cool. Its kind of a sharepointy meta data framework that is more strongly typed to your data source or entities.  Supports different field templates to match your column/property datatype just like sharepoint. Where does/should the biz logic live in Dynamic Data projects?&lt;/p&gt;
&lt;p&gt;11:36am (MC) - We are now at a talk on design patterns. IExtensibleDataObject looks like something that would be good to research. Allows you to sort of add backward compatabilty to your data objects. XML Dictionary encoders  in WCF look like they will be really usefull in reducing message sizes when sending xml.&lt;/p&gt;
&lt;p&gt;12:57 pm (ME) - Finishing up lunch and getting ready for the Building LOB systems with WPF from one of the guys from Infragistics.. could be really interesting.    &lt;/p&gt;
&lt;p&gt;1:30 pm (ME) - Presenter explained he is talking about the Infragistics control set only, and not generic WPF.  It cleared out the room.. LOL&lt;/p&gt;
&lt;p&gt;End of Day 1 (ME) - Great first day.. the Keynote was great.. and had some good information about new features in SP1.. The LOB databinding presentation was OK.. good to see Infragistics new Docking and other controls..&lt;/p&gt;
&lt;p&gt;Advanced Databinding presentation was a dud.. the presenter really didn't know his stuff and wasn't smooth at all.  I could have learned everything he said in a 10 min read from MSDN.&lt;/p&gt;
&lt;p&gt;The Grand Prix of Programming at the end of the day was INTERESTING.. Will blog more about it tomorrow.. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://sharethispoint.com/aggbug/331.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2008/08/19/Live-blogging-from-Devscovery-conference.aspx</guid>
            <pubDate>Tue, 19 Aug 2008 15:22:25 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2008/08/19/Live-blogging-from-Devscovery-conference.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/331.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Automated Testing in SharePoint with WSSTester</title>
            <link>http://sharethispoint.com/archive/2008/01/22/Automated-Testing-in-SharePoint-with-WSSTester.aspx</link>
            <description>&lt;div style="MARGIN: 0in 0in 10pt"&gt;WSSTester is a set of two applications that can be used to automate testing of SharePoint applications. First a little background on automated testing in SharePoint……….&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Testing WSS applications and web parts is a very challenging task. Most developers manually build and deploy their web parts and then open the page in a browser to test them out. This process works fine until you start doing major deployments and larger apps in WSS. Testing of interconnected components, controls, assemblies, and all their different configurations can quickly become an impossible task. Most automated web testing tools fall short almost right off the bat when it comes to testing WSS apps due to the way WSS handles authentication. Unit tests only seem to go so far when testing WSS apps since so much of their function depends on other data involved in the actual deployment. (ie Site context or list configuration) &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;One tool I have found that works well for testing actual deployments of WSS applications is called &lt;a href="http://watin.sourceforge.net/"&gt;Watin&lt;/a&gt;. Watin is essentially a test harness for internet explorer that allows you to programmatically interact with the browser contents. Oh yeah and did I mention its open source too? What differs Watin from unit testing is that Watin actually looks at the output of the browser and lets you validate that output. This allows you to get a closer view of what a user would see when actually visiting the site. Another separate source forge project called &lt;a href="http://watintestrecord.sourceforge.net/"&gt;Watin Recorder&lt;/a&gt; lets you quickly record Watin tests simply by browsing through the site. The Watin Recorder is pretty nice but it doesn’t work to well with most of the toolbars and navigation items in SharePoint because of the way they use JavaScript. You can execute JavaScript on the page but it isn’t as easy as point and click, it requires some tweaking of the c# generated by the recorder.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Soooo all this stuff is pretty cool but building and record tests for can become a big task as well if you have a lot sites and servers. Fear not, for WSSTester is here to help relieve some of the suck factor. The WSSTester solution contains two applications…&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;strong&gt;WSSTesterSiteMapBuilder &lt;/strong&gt;– This is a little app that should be run on your WSS server. It basically generates an XML file listing all the pages on your root SharePoint site. The generated XML file can then be edited by hand to add additional pages that weren’t detected or remove pages you don’t want to test.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;strong&gt;WSSTester&lt;/strong&gt; – This is the main application that actually executes the tests. This application does not have to be run on the server. You load an XML file saved from the site map builder app, enter your site url and credentials and then run the tests. You can export the test results to an XML files after they are complete. Right now WSSTester only runs two simple tests on each page. It checks for the standard SharePoint web part error message and a custom error message that we have built into our web part framework that provides more detail than the standard web part errors. We render a hidden div on the page that contains details that would help a developer debug the issue and only allow the user to see a  friendly version of the error. In the future we are going to add command line support to this app so we can run tests as part of a automated build process.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;You can download the source code for the WSSTester project &lt;a href="http://destructionofthemind.com/download/wsstester.zip"&gt;here&lt;/a&gt;. You must have &lt;a href="http://watin.sourceforge.net/"&gt;Watin&lt;/a&gt; installed first before you can compile and run WSSTester. If anyone is out there using this please provide some feedback on your experience. Disclaimer: use at your own risk! &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;strong&gt;How we use WSSTester&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;When developing a new web part or set of web parts we build a testing site that contains every possible configuration of the web part and a solid set of test data. We save the testing site as a site template so it can be shared with other devs and installed on staging servers. This is used by the developer to test new builds of the web part and also by the automated build process to run tests after deployment. Once the testing site is complete, or when we add new pages for additional tests, we run the WSSTesterSiteMapBuilder to generate a new list of pages to test. Then after doing a new build of the web part we just run WSSTester on the testing site to determine if the new build has caused any errors. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;strong&gt;To Do List for WSSTesterSiteMapBuilder&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Create the ability to build the list based off of pages available for a specific user. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Add true recursion of folders. Right now it only looks 1 level deep in document library folders because this all we initially required based on our current app design.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Add recursion of sites. Currently only lists pages for the root site of the collection. &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Improve UI to allow the user to remove pages in the list without having to manually edit the xml file.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Add command line support.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;&lt;strong&gt;To Do List for WSSTester (Main App)&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 37.95pt; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Subclass the logindialoghandler to handle SharePoint forms authentication. Might be able to just record this with the test recorder.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 37.95pt; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Make all tests run in one browser window instance. Currently a new browser window is opened and closed for each page. Watin did not appear to be refreshing the HTML property properly after every page was finished loading. This caused the tests to run against incorrect data. Making tests run in one browser instance will greatly increase the speed.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 37.95pt; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Add tests for Service unavailable, 404, and 401 errors.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 37.95pt; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Add tests to detect redirection to the standard WSS error page and other standard types of errors.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 37.95pt; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Research creating tests that can compare a checksum or hash of a previous version of the page to the current one. Will have to be able to deal with dynamic control id’s generated by asp.net.&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 37.95pt; TEXT-INDENT: -0.25in"&gt;-Mark&lt;/div&gt;&lt;img src="http://sharethispoint.com/aggbug/330.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2008/01/22/Automated-Testing-in-SharePoint-with-WSSTester.aspx</guid>
            <pubDate>Tue, 22 Jan 2008 22:49:43 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2008/01/22/Automated-Testing-in-SharePoint-with-WSSTester.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/330.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint 2007 - EventHandling on Lists</title>
            <link>http://sharethispoint.com/archive/2007/12/06/SharePoint-2007--EventHandling-on-Lists.aspx</link>
            <description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;We have been working with the latest Beta 2 of SharePoint 2007, and focusing on all the customizing that is SO much easier, in 2007 then in 2003.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The events are one of the much improved things in 2007, and I have been digging into them in the last week. I thought it might be helpful to post my findings, to see if it is useful to other people.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;I went pretty thoroughly the events available on a list, creating a custom class that subclasses from the SPItemEventReceiver.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;I didn’t touch the ContextMenu event, because I didn’t want to get into that yet. I did override all the other events, and tracked the order in which they fired.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;There are some issues where the current SDK for the beta is not correct, and has sample code that doesn’t and can’t work.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;I will go through that as well, but here are the results from the order of events, most are as you expected.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;Order of Events &lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;These results are using the SharePoint UI, I haven’t tracked the order of events on modifying lists programmatically yet.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;&lt;em style="mso-bidi-font-style: normal"&gt;Action&lt;o:p&gt;&lt;/o:p&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;em style="mso-bidi-font-style: normal"&gt;Event Order&lt;o:p&gt;&lt;/o:p&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 1"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Add an item &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdding&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdded&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 2"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Update an item&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdated&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 3"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Add an item with an single attachment (&lt;span style="FONT-SIZE: 10pt"&gt;if you add more then one attachment AttachmentAdding and AttachmentAdded will fire as many times as there are attachments&lt;/span&gt;)&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdding&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAttachmentAdding&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAttachmentAdded&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdded&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 4"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Update an item with adding an Attachment&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAttachmentAdding&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAttachmentAdded&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdated&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 5"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Update an item with deleting an Attachment&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAttachmentDeleting&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAttachmentDeleted&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdated&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 6"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Checking a file in&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemCheckingIn&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemCheckedIn&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 7"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Updating and Checking in a file from Word 2003 or 2007&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdated&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemCheckingIn&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdated&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemCheckedIn&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 8"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Moving a file in a document library from one folder to another folder, using Network Share.&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdding&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdded&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdated&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdating&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemUpdated&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemDeleting&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemDeleted&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 9; mso-yfti-lastrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 1.7in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="163"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Creating a Folder in a List or Document Library&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 4.45in; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="427"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdding&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;ItemAdded&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Those are the events that I have gone through so far. When moving a file while SharePoint Designer (Frontpage), the events don’t fire when moving files from folder to folder.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;The events ItemAdding, ItemAdded fire when adding a file using SharePoint Designer, and they do fire when updating a file, but just not when moving.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;strong style="mso-bidi-font-weight: normal"&gt;Updating an Item&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;After reading the SDK section, “Creating a Basic Event Handler”, I found that the documentation is just wrong.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The example at the end of the page –&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: #b3b3b3; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" valign="top" width="590"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;public override void ItemAdded(SPItemEventProperties properties)&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;{&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;properties.AfterProperties["Body"] = "Body text maintained by the system.";&lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;}&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;It is just wrong, because the AfterProperties property is read only, and you can only get the properties, same with the BeforeProperties.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;I tried to put in some basic auditing using an Updating or Updated event, write to a hidden column on the item, the contents of the changes.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;I know there is the ChangeLog in SharePoint 2007, but I was curious to see how to do auditing with events.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Since, I couldn’t set the AfterProperties like the SDK explains, I simple update the item programmatically.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;I thought it would create an infinite loop, because the event would fire and the item would update itself, and cause the event to fire again.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;It didn’t behave that way, it fired 9 times and then stopped. I’m still researching, but it is very unusual. I plan to write some simple logic, that if only the hidden column is being updated then don’t update again, to get around the loop, but I’m not sure if Microsoft is planning to make the AfterProperties able to be set in Beta 2 – TR or if this is the way they are planning to leave it.&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Well, I will go back to battling w/ the SharePoint 2007, and hammering away on events.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;We should have a post about the “joy” of Workflow, soon as well. &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Morgan&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sharepointkicks.com/kick/?url=http://sharethispoint.com/archive/2006/07/28/16.aspx"&gt;&lt;img alt="kick it on SharePointKicks.com" border="0" src="http://www.sharepointkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://sharethispoint.com/archive/2006/07/28/16.aspx" /&gt;&lt;/a&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;?&amp;gt;&lt;/p&gt;&lt;img src="http://sharethispoint.com/aggbug/329.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2007/12/06/SharePoint-2007--EventHandling-on-Lists.aspx</guid>
            <pubDate>Fri, 07 Dec 2007 01:47:00 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2007/12/06/SharePoint-2007--EventHandling-on-Lists.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/329.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Using a SPGridView inside an ASP.net Ajax UpdatePanel</title>
            <link>http://sharethispoint.com/archive/2007/02/28/Using-a-SPGridView-inside-an-ASP.net-Ajax-UpdatePanel.aspx</link>
            <description>&lt;p&gt;&lt;font face="Calibri" size="3"&gt;&lt;img height="148" alt="" width="594" src="/images/sharethispoint_com/ajaxdemo.jpg" /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Calibri" size="3"&gt;The goal of this post is to demonstrate how to use &lt;a target="_blank" href="http://ajax.asp.net/"&gt;ASP.net Ajax Extensions&lt;/a&gt; inside of WSS to build web parts and controls that are capable of doing async post backs and partial page refreshes. This post will also cover how to use the SPGridView with paging and sorting. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;The web part in the example code uses an SPGridView control to display a data table.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;The grid is inside a UpdatePanel which allows all the sorting and pagination to happen asynchronously. What’s all this mean? It means that you can sort and page your grid view without having to refresh the rest of page. This is great for SharePoint because pages can typically have a long life cycle. One thing that is really cool about this approach is that it doesn’t require you to write any javascript at all. The UpdatePanel takes care of all that stuff behind the scenes. You can take the code used in this example and apply it to any other application the UpdatePanel can be used for, such as data entry. You can also use the &lt;a target="_blank" href="http://ajax.asp.net/ajaxtoolkit/"&gt;ASP.net Ajax Control Extenders&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;The real secret sauce here is the AjaxBaseWebpart class (credit: &lt;a target="_blank" href="http://www.capdes.com/"&gt;Eric&lt;/a&gt;). If you aren’t aware already, SharePoint doesn’t play nice with the ASP.net Ajax framework out of the box, so we have to do some &lt;a target="_blank" href="http://www.askaninja.com/"&gt;ninja tricks&lt;/a&gt; to get it to work. This class makes sure that the page contains a ScriptManager which is required by the ASP.net Ajax framework to do partial page refreshes and other ajaxy stuff. It also tweaks some of the SharePoint related JavaScript to allow the UpdatePanel and other Ajax controls to handle the post back correctly. If you want the details on the AjaxBaseWebpart look at &lt;a target="_blank" href="http://www.capdes.com/2007/02/ajaxbasepart_easy_aspnet_20_aj.html"&gt;Erics post&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;Get the sample running..&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;a target="_blank" href="http://ajax.asp.net/downloads/default.aspx?tabid=47"&gt;Download the ASP.net Ajax Extensions&lt;/a&gt;.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;Modify your SharePoint web.config file with the appropriate settings for the ASP.net Ajax Extensions. &lt;a target="_blank" href="http://sharepoint.microsoft.com/blogs/mike/Lists/Posts/Post.aspx?ID=3"&gt;Mike Ammerlaan has the details on this&lt;/a&gt;.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;a href="http://download.sharethispoint.com/spajaxdemo.zip"&gt;Download the sample code&lt;/a&gt;, build, and install. I have a install.bat file in the bin\debug dir of the cab project that will help you install the web part, just change the server name before you run it. (might have to remove –force the first time) &lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;Know bugs/Problems&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;For some weird reason the first time you use the pagination or sorting it does a refresh of the entire page,&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;but every time after that it works correctly. Kind of a tweaky little bug, if any one figures out why this is happening please let me know. The updatepanel only seems to do this with the SPGridView.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;Deployment with all the web.cofig changes is not going to be fun. You will probably need to build a solution package that makes the modifications for you are part of the install process.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;Credits/Sources&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;This is example project is a combination of code and information from several people. Thanks to&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;a target="_blank" href="http://sharepoint.microsoft.com/blogs/mike/default.aspx"&gt;Mike Ammerlaan&lt;/a&gt; for all the info on SharePoint and ASP.net Ajax integration. &lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;a target="_blank" href="http://www.capdes.com/"&gt;Eric&lt;/a&gt; for the AjaxBaseWebpart&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;a target="_blank" href="http://blogs.msdn.com/powlo/archive/2007/02/25/displaying-custom-data-through-sharepoint-lists-using-spgridview-and-spmenufield.aspx"&gt;Powlo for the SPGridView sorting&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;&lt;a target="_blank" href="http://www.sharepointblogs.com/jason/archive/2006/10/23/14755.aspx"&gt;Jason Wang for the SPGridView paging.&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; Let me know if you have any questions or improvements.&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt;- Mark Collins &lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;a href="http://www.sharepointkicks.com/kick/?url=http://sharethispoint.com/archive/2007/02/28/Using-a-SPGridView-inside-an-ASP.net-Ajax-UpdatePanel.aspx"&gt;&lt;img alt="kick it on SharePointKicks.com" border="0" src="http://www.sharepointkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://sharethispoint.com/archive/2007/02/28/Using-a-SPGridView-inside-an-ASP.net-Ajax-UpdatePanel.aspx" /&gt;&lt;/a&gt;&lt;img src="http://sharethispoint.com/aggbug/328.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2007/02/28/Using-a-SPGridView-inside-an-ASP.net-Ajax-UpdatePanel.aspx</guid>
            <pubDate>Thu, 01 Mar 2007 00:53:51 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2007/02/28/Using-a-SPGridView-inside-an-ASP.net-Ajax-UpdatePanel.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/328.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SharePoint Templates Available</title>
            <link>http://sharethispoint.com/archive/2007/02/22/SharePoint-Templates-Available.aspx</link>
            <description>&lt;p&gt;Microsoft has released the new Application Templates for WSS 3.0, take a look at them.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/default.mspx"&gt;http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/default.mspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;I really think, they are a good way to view some of the different ways WSS/MOSS can be applied to a business case.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;- Morgan&lt;/p&gt;&lt;img src="http://sharethispoint.com/aggbug/327.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2007/02/22/SharePoint-Templates-Available.aspx</guid>
            <pubDate>Thu, 22 Feb 2007 21:38:54 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2007/02/22/SharePoint-Templates-Available.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/327.aspx</wfw:commentRss>
        </item>
        <item>
            <title>WSS/MOSS 2007 SDK (RTM)</title>
            <link>http://sharethispoint.com/archive/2007/01/24/WSSMOSS-2007-SDK-RTM.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;I know other people have put this out, and it has been out for a few days, but I thought i would blog about it because I have been eagerly waiting for it.  I don't mind using the online version, but i just liking having the SDK on my computer, so I can quickly get to it.  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;From Bil Simser's blog site (&lt;font face="Arial"&gt;&lt;a href="http://weblogs.asp.net/bsimser/default.aspx"&gt;http://weblogs.asp.net/bsimser/default.aspx&lt;/a&gt;):&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=05e0dd12-8394-402b-8936-a07fe8afaffd&amp;amp;displaylang=en"&gt;SharePoint Server 2007 SDK&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=05e0dd12-8394-402b-8936-a07fe8afaffd&amp;amp;displaylang=en"&gt;Windows SharePoint Services v3 SDK&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Here is the link to the official SharePoint blog post: &lt;/li&gt;
&lt;p&gt;&lt;font face="Arial"&gt; &lt;a href="http://blogs.msdn.com/sharepoint/archive/2007/01/22/download-the-moss-sdk-or-the-wss-sdk.aspx"&gt;http://blogs.msdn.com/sharepoint/archive/2007/01/22/download-the-moss-sdk-or-the-wss-sdk.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Morgan&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;img src="http://sharethispoint.com/aggbug/326.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2007/01/24/WSSMOSS-2007-SDK-RTM.aspx</guid>
            <pubDate>Wed, 24 Jan 2007 18:10:14 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2007/01/24/WSSMOSS-2007-SDK-RTM.aspx#feedback</comments>
            <slash:comments>71</slash:comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/326.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Google Gadgets + SharePoint = Neato</title>
            <link>http://sharethispoint.com/archive/2007/01/23/Google-Gadgets--SharePoint--Neato.aspx</link>
            <description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;If you haven’t seen them yet Google Gadgets (&lt;font face="Arial"&gt;&lt;a target="_blank" href="http://www.google.com/ig/directory?synd=open"&gt;http://www.google.com/ig/directory?synd=open&lt;/a&gt;&lt;/font&gt;) are cool little web based components that you can include on the Google home page and inside your own pages. &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;They are really easy for the community to build so there are all kinds of cool little apps like conversion calculators, daily image feeds, stock tickers, and even asteroids. They are great for easily and quickly adding little chunks of functionality to a website. MS has similar things for windows live that they call widgets. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;font face="Calibri" size="3"&gt; &lt;img height="397" width="383" alt="" src="/images/sharethispoint_com/googlegadgets.jpg" /&gt;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0in 0in 10pt"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;To add a google gadget to a SharePoint page…&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;Go to the google gadgets site(http://www.google.com/ig/directory?synd=open) and find the one you want and click on the title.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;Then just click the add to your webpage button.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;Adjust the available settings to your likings and click the “Get the code” button. Copy the code it generates to the clipboard.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;Now go to your SharePoint site and add new content editor web part the page you want the gadget on.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;Click the web part menu (little triangle in the top right) of the &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;content editor web part and go to Modify shared web part. &lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div&gt;&lt;font face="Calibri" size="3"&gt;In the tool pane click the source editor button and then paste the contents &lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;of your clipboard in the window that appears. Click Save on the pop and then OK on the tool pane. &lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thats its! Pretty easy huh? Most the gadgets I tried seem to work fine.&lt;/p&gt;
&lt;p&gt;-Mark&lt;/p&gt;&lt;img src="http://sharethispoint.com/aggbug/324.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2007/01/23/Google-Gadgets--SharePoint--Neato.aspx</guid>
            <pubDate>Tue, 23 Jan 2007 18:55:44 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2007/01/23/Google-Gadgets--SharePoint--Neato.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/324.aspx</wfw:commentRss>
        </item>
        <item>
            <title>TR to RTW Upgrade</title>
            <link>http://sharethispoint.com/archive/2006/12/07/TR-to-RTW-Upgrade.aspx</link>
            <description>&lt;p&gt;fter some fun battling w/ a site servers and a bunch of different site collections, I was able to get our TR upgraded to RTW.  There are two great articles form Shane Young about the upgrade.&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://msmvps.com/blogs/shane/archive/2006/11/17/upgrade-from-tr-to-rtm-work-around.aspx"&gt;http://msmvps.com/blogs/shane/archive/2006/11/17/upgrade-from-tr-to-rtm-work-around.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://msmvps.com/blogs/shane/archive/2006/11/15/installing-moss-2007-rtm-on-a-farm-running-moss-2007-beta2-tr.aspx"&gt;http://msmvps.com/blogs/shane/archive/2006/11/15/installing-moss-2007-rtm-on-a-farm-running-moss-2007-beta2-tr.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;If you read the comments on the 2nd one, I did use a different path in the registry for the when fixing the Index&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Applications\{GUID}&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I found it at &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Applications\{Application GUID}&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The blog posts were great and very helpful.&lt;/p&gt;
&lt;p&gt;Morgan&lt;/p&gt;&lt;img src="http://sharethispoint.com/aggbug/323.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Morgan Everett &amp; Mark Collins</dc:creator>
            <guid>http://sharethispoint.com/archive/2006/12/07/TR-to-RTW-Upgrade.aspx</guid>
            <pubDate>Fri, 08 Dec 2006 00:39:34 GMT</pubDate>
            <comments>http://sharethispoint.com/archive/2006/12/07/TR-to-RTW-Upgrade.aspx#feedback</comments>
            <wfw:commentRss>http://sharethispoint.com/comments/commentRss/323.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>