<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sharepoint Services &#187; Uncategorized</title>
	<atom:link href="http://www.sharepointings.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sharepointings.com</link>
	<description>Sharepoint 2007 and WSS 3.0 Sharepoint Solutions, Solution Architecture &#38; Design</description>
	<lastBuildDate>Fri, 28 Jan 2011 04:18:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>jQuery and Sharepoint Web Services: GetListItems with queries</title>
		<link>http://www.sharepointings.com/jquery-and-sharepoint-web-services-getlistitems-with-queries/</link>
		<comments>http://www.sharepointings.com/jquery-and-sharepoint-web-services-getlistitems-with-queries/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 05:25:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=600</guid>
		<description><![CDATA[I recently did another post, detailing deleting a list through the use of Sharepoint Web Services. In this post ill give you a codesample on how to query a list using the item ID and the list name. The business case for this, was to add a context menu item based on an item property, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently did <a href="http://www.sharepointings.com/sharepoint-and-jquery-web-services-deletelist/">another post</a>, detailing deleting a list through the use of Sharepoint Web Services. In this post ill give you a codesample on how to query a list using the item ID and the list name.</p>
<p>The business case for this, was to add a context menu item based on an item property, in my case, document status. Manipulating context menu items is a long winded process, one which is best read in posts such as <a href="http://blog.thekid.me.uk/archive/2007/06/23/sample-editcontrolblock-customaction-for-sharepoint.aspx">this post</a> or <a href="http://weblogs.asp.net/jan/archive/2009/09/03/customizing-the-sharepoint-ecb-with-javascript-part-1.aspx">another post here</a></p>
<p>Essentially this method was called just before the item is added to the context menu item, it is intercepted at the <em><strong>Custom_AddListMenuItems</strong></em> method which allows you to add list menu items. In the method below, i use the local ID of the conext menu item clicked, together with the list guid (<em><strong>ctx.listname</strong></em>) and i query the list for the <em><strong>document status</strong></em> of that item.</p>
<p>I only add the menu item when docstatus is not equal to <em>published</em>. Another interesting note is the ajax call is done synchronously which forces the program halt execution until the ajax call has received a response from the web service.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li></li><li><span style="color: #003366; font-weight: bold;">function</span> ShowModerationHistory<span style="color: #009900;">&#40;</span>currentItemID<span style="color: #339933;">,</span> r<span style="color: #339933;">,</span> t<span style="color: #339933;">,</span> m<span style="color: #339933;">,</span> v<span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> returnValue <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> soapEnv <span style="color: #339933;">=</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;soapenv:Body&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;listName&gt;&quot;</span> <span style="color: #339933;">+</span> ctx.<span style="color: #660066;">listName</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;&lt;/listName&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;viewFields&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;ViewFields&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;FieldRef Name='DocumentStatus' /&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/ViewFields&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp; 			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/viewFields&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;query&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>			&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;Query&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;Where&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;Eq&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;FieldRef Name='ID' /&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;Value Type='Integer'&gt;&quot;</span> <span style="color: #339933;">+</span> currentItemID <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;&lt;/Value&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/Eq&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/Where&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/Query&gt;&quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/query&gt; &quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/GetListItems&gt; &quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/soapenv:Body&gt; &quot;</span> <span style="color: #339933;">+</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;/soapenv:Envelope&gt;&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;$.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url<span style="color: #339933;">:</span> SP.<span style="color: #660066;">PageContextInfo</span>.<span style="color: #660066;">get_webServerRelativeUrl</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/_vti_bin/lists.asmx&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;POST&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;xml&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data<span style="color: #339933;">:</span> soapEnv<span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;async<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;complete<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>xData<span style="color: #339933;">,</span> <span style="color: #000066;">status</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> docStatus <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>xData.<span style="color: #660066;">responseXML</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;z<span style="color: #000099; font-weight: bold;">\\</span>:row:eq(0)&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ows_DocumentStatus&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>docStatus <span style="color: #339933;">!=</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> docStatus <span style="color: #339933;">!=</span> undefined<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>docStatus.<span style="color: #660066;">toUpperCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #3366CC;">&quot;PUBLISHED&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x <span style="color: #339933;">=</span> CIMOpt<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span> t<span style="color: #339933;">,</span> m<span style="color: #339933;">,</span> v<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beforeSend<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>xhr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xhr.<span style="color: #660066;">setRequestHeader</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'SOAPAction'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'http://schemas.microsoft.com/sharepoint/soap/GetListItems'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;text/xml; charset=<span style="color: #000099; font-weight: bold;">\&quot;</span>utf-8<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li><span style="color: #009900;">&#125;</span></li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/jquery-and-sharepoint-web-services-getlistitems-with-queries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Expert News Rotator Webpart 2010</title>
		<link>http://www.sharepointings.com/the-expert-news-rotator-webpart-2010/</link>
		<comments>http://www.sharepointings.com/the-expert-news-rotator-webpart-2010/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 00:40:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=589</guid>
		<description><![CDATA[So its been a while since i last released this webpart, in fact more than a year. I have upgraded it to support Sharepoint 2010 and added a new feature which makes the news rotator easier to use. The feature allows users to use an &#8220;image uploader&#8221; column when adding both the main image and [...]]]></description>
			<content:encoded><![CDATA[<p>So its been a while since i last released this webpart, in fact more than a year. I have upgraded it to support Sharepoint 2010 and added a new feature which makes the news rotator easier to use.</p>
<p>The feature allows users to use an &#8220;image uploader&#8221; column when adding both the main image and the thumbnail image on the news rotator. Once the webpart has been installed, the announcements list, which hosts the news items needs to be configured in the following way (the following image shows the image uploader type column):</p>
<p><img src="http://www.sharepointings.com/wp-content/uploads/2010/11/imageuploader1.png" alt="image uploader column"/></p>
<p>1. Create 2 columns on the appropriate announcements list &#8211; These columns should be of type &#8220;Image Uploader&#8221; and should be called &#8220;Image File&#8221; and &#8220;Image Thumb Url&#8221;.<br />
2. The 1st image uploader column (&#8220;Image File&#8221;) should have a width set to 270px<br />
3. The 2nd image uploader column (&#8220;Image Thumb Url&#8221;) should have a width set to 50px<br />
4. Remember to disable attachments for this list.<br />
5. Other configuration includes the &#8220;upload images to the following list&#8221; storage document library (where the images will be stored, along with the resized images)</p>
<p>Then add the webpart to the page and edit the properties of the webpart (toolpane)</p>
<p><img src="http://www.sharepointings.com/wp-content/uploads/2010/11/imageuploader2.png" /></p>
<p>1. Set &#8220;News Image URL Column&#8221; to &#8220;Image File&#8221;<br />
2. Set &#8220;News Thumb Image URL Column&#8221; to &#8220;Image Thumb Url&#8221;</p>
<p>You can download this version of the webpart (2010 version) on codeplex <a href="http://newsrotator.codeplex.com/releases/view/55839" title="Expert News Rotator">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/the-expert-news-rotator-webpart-2010/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>.NET Required Field Validators and Client Side Validation</title>
		<link>http://www.sharepointings.com/net-required-field-validators-and-client-side-validation/</link>
		<comments>http://www.sharepointings.com/net-required-field-validators-and-client-side-validation/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 00:22:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=586</guid>
		<description><![CDATA[This little issue gets me at least once a week, and i spend at least 10 minutes finding the article that helps me everytime, or just remember what i did previously! If your button doesnt postback (as in you submit your data on the client side), your requiredfieldvalidators will not fire and validation will not [...]]]></description>
			<content:encoded><![CDATA[<p>This little issue gets me at least once a week, and i spend at least 10 minutes finding the article that helps me everytime, or just remember what i did previously!</p>
<p>If your button doesnt postback (as in you submit your data on the client side), your requiredfieldvalidators will not fire and validation will not occur.</p>
<p>Well this helpful article over here helps me with that everytime: </p>
<p>http://alvinzc.blogspot.com/2006/10/aspnet-requiredfieldvalidator.html</p>
<p>Thanks to Alvin</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/net-required-field-validators-and-client-side-validation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery and Http Posts to Sharepoint</title>
		<link>http://www.sharepointings.com/jquery-and-http-posts-to-sharepoint/</link>
		<comments>http://www.sharepointings.com/jquery-and-http-posts-to-sharepoint/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 07:04:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=581</guid>
		<description><![CDATA[My current project required me to fire an AJAX POST to provision a mysite. The provisioning was done using the built in Self Site Creation method. I used jQuery&#8217;s ajax POST function to create a post to my code-behind method. Simple right? wrong. I ran into the infamous: The security validation for this page is [...]]]></description>
			<content:encoded><![CDATA[<p>My current project required me to fire an AJAX POST to provision a mysite. The provisioning was done using the built in <em>Self Site Creation</em> method.</p>
<p>I used jQuery&#8217;s ajax POST function to create a post to my code-behind method. Simple right? wrong. I ran into the infamous:</p>
<p><em>The security validation for this page is invalid. Click Back in your Web browser</em></p>
<p>Well i tried the usual tricks:</p>
<p>1) Setting <em>web.AllowUnsafeUpdates = true</em>. Didnt work<br />
2) Tried the <em>SPUtility.ValidateFormDigest</em> method on the POST. Didnt work.<br />
3) Tried the <em>SPWebApplication.FormDigestSettings</em> approach and set it to false, initiate the call and reset it. I frown on this approach as it does require to essentially make a change to what we would be doing in central admin in turning off the Form Digest Settings and then resetting it. Nonetheless, this did not work. I later found that updating anything &#8220;central admin&#8221; related gave me an access denied. This was due to us running our web app with claims. (SAML)</p>
<p>So i was stumped. I went back to basics.</p>
<p>I created a normal button which did a postback and called the self site create method. No problems with that POST. But a problem with my client side jQuery post.</p>
<p>So I then turned to <a href="http://www.fiddler2.com/fiddler2/">Fiddler</a> to see what the difference was between the two POST calls. Through spoofing POST calls i finally found an interesting POST variable which is passed with a normal postback generated by a button sitting within a Sharepoint context. </p>
<p><strong>__REQUESTDIGEST</strong></p>
<p>I did a quick google and found <a href="http://hristopavlov.wordpress.com/2008/05/21/what-you-need-to-know-about-allowunsafeupdates-part-2/">this post</a> which was more than helpful. According to this post the variable is:</p>
<p><em>nothing more than a hidden field set by the server and verified back by the server when the page is submitted. As documented by Microsoft: The purpose of form digest validation is to help prevent security attacks where a user is tricked into posting data unknowingly to a server</em></p>
<p>Read <a href="http://hristopavlov.wordpress.com/2008/05/21/what-you-need-to-know-about-allowunsafeupdates-part-2/">this post</a> if you come across the problem i explain above. It really does explain this issue really well.</p>
<p>After reading it thoroughly i realised i just need to pass in the variable with the POST&#8217;s data when doing the AJAX call: Here&#8217;s what my jQuery ajax POST looked like in the end:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="XML"><div class="devcodeoverflow"><ol><li></li><li> $.ajax({</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type: &quot;POST&quot;,</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: &quot;CreatePersonalWorkspace.aspx&quot;,</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beforeSend: function (xhr) {</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xhr.setRequestHeader(&quot;Content-Type&quot;,</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;application/x-www-form-urlencoded&quot;);</li><li>&nbsp;</li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data: &quot;method=CreatePersonalWorkspace<span style="color: #ddbb00;">&amp;__REQUESTDIGEST=&quot; + $(&quot;#__REQUESTDIGEST&quot;).val(), //Pass through the requestdigest on the post - necessary to execute provisionworkspace method - this is passed through on all posts</span></li><li><span style="color: #ddbb00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success: function (msg) {</span></li><li><span style="color: #ddbb00;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var result = JSON.parse(msg);</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (result[0].Status == &quot;created&quot;) {</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;div[id$='provisioningDiv']&quot;).hide();</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#personal_workspace_url&quot;).attr(&quot;href&quot;, result[0].Value);</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#personal_workspace_url&quot;).show();</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else if (result[0].Status == &quot;redirect&quot;) {</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.location = result[0].Value;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;#errorResponse&quot;).html(result[0].Value);</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});</li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/jquery-and-http-posts-to-sharepoint/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sharepoint 2010 RTE Image Picker for the Ribbon</title>
		<link>http://www.sharepointings.com/sharepoint-2010-rte-image-picker-for-the-ribbon/</link>
		<comments>http://www.sharepointings.com/sharepoint-2010-rte-image-picker-for-the-ribbon/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 04:37:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=555</guid>
		<description><![CDATA[Our current project required us to make a few changes to the OOTB Asset Picker dialog. Within this dialog there is the common &#8220;Look in&#8221; pane which isnt easily customized. We required the dialog to only show certain document libraries in which only png, jpeg or gif files may be viewed. Additionally we customized the [...]]]></description>
			<content:encoded><![CDATA[<p>Our current project required us to make a few changes to the OOTB Asset Picker dialog. Within this dialog there is the common &#8220;Look in&#8221; pane which isnt easily customized. We required the dialog to only show certain document libraries in which only png, jpeg or gif files may be viewed. Additionally we customized the picker to be launched from the ribbon and place the returned image within the rich text editor.</p>
<p>This all would not have been possible without the help of Karine Bosch&#8217;s Post on <a href="http://karinebosch.wordpress.com/2010/03/21/creating-sharepoint-like-custom-dialogs/">Custom Dialogs</a>.</p>
<p>The following is a screenshot of the end product:</p>
<p><a href="http://www.sharepointings.com/wp-content/uploads/2010/07/imagepicker.png" rel="[lightbox]"><img src="http://www.sharepointings.com/wp-content/uploads/2010/07/imagepicker-300x225.png" alt="" title="imagepicker" width="300" height="225" class="alignnone size-medium wp-image-556" /></a></p>
<p>The page is invoked from a custom ribbon control however this only makes a call to our custom <strong>AssetPicker</strong> dialog. The source code (elements.xml) provides a split button control which invokes the picker for both replacing and inserting images. This ribbon control element (elements.xml) replaces the OOTB &#8220;Insert Image&#8221; control, however can be customized to add the default &#8220;From Address&#8221; and &#8220;From Computer&#8221; split options at a later stage. </p>
<p>The <strong>LaunchPicker</strong> method in the xml file invokes the <strong>OpenDialog</strong> method which in our project has been created as an extension to jQuery. However this need not be the case. Its merely a function which calls the <strong>SP.UI.ModalDialog.showModalDialog()</strong> method with a bunch of options. Note the callback method which is specified in the <strong>LaunchPicker</strong> method. This method is called once the image has been selected; this is known as the &#8220;callback method&#8221;. Careful that you only pass &#8220;replace&#8221; or &#8220;insert&#8221; to the <strong>LaunchPicker</strong> method.</p>
<p>Right lets move onto the AssetPicker itself. The .aspx is pretty much the simple part simply with a method which allows the user to choose the right image and invoke the callback method. It uses a repeater control to populate the images datasource.</p>
<p>The code-behind features several enhancements including a paging function. The repeater control provides us with the datasource of all the images found within the choosen folder or document library itself. Note: We have used a custom document library basetemplate and populate our treeview with these document libraries. This is where you may customize the code to search for Document Libraries or Image Libraries only. Be careful not to include generic lists as the code searches for files only.</p>
<p>Once the image has been chosen, the <strong>pickerCallBack</strong> callback method is fired as shown in javascript file. This in turn may replace or insert an image using the <strong>InsertRTEImage</strong> or <strong>ReplaceRTEImage</strong> depending on the options you passed to the <strong>launchpicker</strong> method.</p>
<p>The <a href="http://www.sharepointings.com/wp-content/uploads/2010/07/AssetPickerFiles.zip">source files</a> are attached.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/sharepoint-2010-rte-image-picker-for-the-ribbon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sharepoint 2010 Ribbon Control and Rich Text Editor</title>
		<link>http://www.sharepointings.com/sharepoint-2010-ribbon-control-and-rich-text-editor/</link>
		<comments>http://www.sharepointings.com/sharepoint-2010-ribbon-control-and-rich-text-editor/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:04:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=540</guid>
		<description><![CDATA[Im currently lucky enough to be working on the 2nd largest Sharepoint 2010 deployment in the world currently! It really has been a wonderful opportunity to be exposed to some of the new Sharepoint 2010 functionalities as well as interfaces, API&#8217;s, SDK etc. One of the latest modules for the Project is the media library [...]]]></description>
			<content:encoded><![CDATA[<p>Im currently lucky enough to be working on the 2nd largest Sharepoint 2010 deployment in the world currently! It really has been a wonderful opportunity to be exposed to some of the new Sharepoint 2010 functionalities as well as interfaces, API&#8217;s, SDK etc.</p>
<p>One of the latest modules for the <a href="http://www.zdnet.com.au/office-2010-wins-nsw-det-john-holland-339303115.htm">Project</a> is the media library ribbon control, a control which manipulates the way our users will upload images to Sharepoint. </p>
<p>The OOTB functionality allows users to upload images from multiple sources namely:</p>
<p>1) From Sharepoint<br />
2) From Computer<br />
3) From Address</p>
<p>We needed new functionality to be able to upload images using a silverlight control (activex prevents our users using Firefox which is a big problem for the 70,000 odd users!). The silverlight control also checks for banned words which wasnt available to us. The key functionality here is:</p>
<p><strong>1) Replace the existing &#8220;Upload Picture&#8221; split button with ours</strong></p>
<p><a href="http://www.sharepointings.com/wp-content/uploads/2010/07/medialibrarycontrol1.png" rel="[lightbox]"><img src="http://www.sharepointings.com/wp-content/uploads/2010/07/medialibrarycontrol1-150x150.png" alt="" title="medialbrary" width="150" height="150" class="alignnone size-thumbnail wp-image-467"></a></p>
<p><strong>2) Call the Upload Image Dialog</strong></p>
<p><strong>3) Instantiate the callback method which inserts the image back into the Rich Text Editor</strong></p>
<p>First up, we need to create a new module in Visual Studio 2010. This is the module which act as a replacement button for OOTB &#8220;Upload Picture&#8221; split button. Im not going to go through doing this as this is basic VS2010 functionality. The new elements.xml file is as below:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="XML"><div class="devcodeoverflow"><ol><li></li><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span></li><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Elements</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/sharepoint/&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CustomAction</span></span></li><li><span style="color: #009900;"> <span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.Image.Image.Edit.ReplacementButton&quot;</span></span></li><li><span style="color: #009900;"> <span style="color: #000066;">Location</span>=<span style="color: #ff0000;">&quot;CommandUI.Ribbon&quot;</span></span></li><li><span style="color: #009900;"> Rights =<span style="color: #ff0000;">&quot;EditListItems&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CommandUIExtension<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CommandUIDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CommandUIDefinition</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Location</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;SplitButton</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.ReplacementButton&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Alt</span>=<span style="color: #ff0000;">&quot;$Resources:core,ButInsertImageAlt;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Command</span>=<span style="color: #ff0000;">&quot;InsertImage&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">CommandMenuOpen</span>=<span style="color: #ff0000;">&quot;InsertImageMenuOpen&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">CommandMenuClose</span>=<span style="color: #ff0000;">&quot;InsertImageMenuClose&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Image16by16</span>=<span style="color: #ff0000;">&quot;/_layouts/$Resources:core,Language;/images/formatmap16x16.png&quot;</span> <span style="color: #000066;">Image16by16Top</span>=<span style="color: #ff0000;">&quot;-176&quot;</span> <span style="color: #000066;">Image16by16Left</span>=<span style="color: #ff0000;">&quot;-224&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Image32by32</span>=<span style="color: #ff0000;">&quot;/_layouts/$Resources:core,Language;/images/formatmap32x32.png&quot;</span> <span style="color: #000066;">Image32by32Top</span>=<span style="color: #ff0000;">&quot;-192&quot;</span> <span style="color: #000066;">Image32by32Left</span>=<span style="color: #ff0000;">&quot;-448&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">LabelText</span>=<span style="color: #ff0000;">&quot;Insert Image&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">MenuAlt</span>=<span style="color: #ff0000;">&quot;$Resources:core,ButInsertImageMenuAlt;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Sequence</span>=<span style="color: #ff0000;">&quot;10&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">TemplateAlias</span>=<span style="color: #ff0000;">&quot;o1&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipTitle</span>=<span style="color: #ff0000;">&quot;$Resources:core,cui_ButInsertImage;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipDescription</span>=<span style="color: #ff0000;">&quot;$Resources:core,cui_STT_ButInsertImage;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Menu</span> <span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.Menu.Replacement&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;MenuSection</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.Menu.Image.Replacement&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">DisplayMode</span>=<span style="color: #ff0000;">&quot;Menu&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Sequence</span>=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Controls</span> <span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.Menu.Image.Controls.Replacement&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.Menu.Image.FromComputer.Replacement&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Sequence</span>=<span style="color: #ff0000;">&quot;10&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Alt</span>=<span style="color: #ff0000;">&quot;$Resources:core,ButFromComputerAlt;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Command</span>=<span style="color: #ff0000;">&quot;UploadPictureReplacement&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">LabelText</span>=<span style="color: #ff0000;">&quot;$Resources:core,ButFromComputer;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipTitle</span>=<span style="color: #ff0000;">&quot;$Resources:core,cui_STT_title_ButInsertImageFromComputer;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipDescription</span>=<span style="color: #ff0000;">&quot;$Resources:core,cui_STT_ButInsertImageFromComputer;&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.Menu.Image.FromMediaLibrary.Replacement&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Sequence</span>=<span style="color: #ff0000;">&quot;15&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Alt</span>=<span style="color: #ff0000;">&quot;$Resources:core,ButFromAddressAlt;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Command</span>=<span style="color: #ff0000;">&quot;.MediaLibrary.Ribbon.PerformInsert&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">LabelText</span>=<span style="color: #ff0000;">&quot;From Media Library&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipTitle</span>=<span style="color: #ff0000;">&quot;Insert Picture from Media Library&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipDescription</span>=<span style="color: #ff0000;">&quot;Insert a picture from Media Library onto the page&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.Menu.Image.FromAddress.Replacement&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Sequence</span>=<span style="color: #ff0000;">&quot;20&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Alt</span>=<span style="color: #ff0000;">&quot;$Resources:core,ButFromAddressAlt;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Command</span>=<span style="color: #ff0000;">&quot;InsertImageWeb&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">LabelText</span>=<span style="color: #ff0000;">&quot;$Resources:core,ButFromAddress;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipTitle</span>=<span style="color: #ff0000;">&quot;$Resources:core,cui_STT_title_ButInsertImageFromAddress;&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipDescription</span>=<span style="color: #ff0000;">&quot;$Resources:core,cui_STT_ButInsertImageFromAddress;&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Button</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;Ribbon.EditingTools.CPInsert.Media.Image.Menu.Image.FromSharepoint.Replacement&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Sequence</span>=<span style="color: #ff0000;">&quot;25&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Alt</span>=<span style="color: #ff0000;">&quot;From Sharepoint&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Command</span>=<span style="color: #ff0000;">&quot;InsertImageSharepoint&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">LabelText</span>=<span style="color: #ff0000;">&quot;From Sharepoint&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipTitle</span>=<span style="color: #ff0000;">&quot;Insert Image from Sharepoint&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">ToolTipDescription</span>=<span style="color: #ff0000;">&quot;Insert an image using the asset picker tool&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Controls<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MenuSection<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Menu<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/SplitButton<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CommandUIDefinition<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CommandUIDefinitions<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CommandUIHandlers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CommandUIHandler</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">Command</span>=<span style="color: #ff0000;">&quot;UploadPictureReplacement&quot;</span></span></li><li><span style="color: #009900;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">CommandAction</span>= <span style="color: #ff0000;">&quot;javascript:</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var id='?RootFolder=&amp;amp;DisplayType=uploadimages';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uploadImageDialog(id);</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CommandUIHandlers<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CommandUIExtension<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;</li><li>&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CustomAction<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Elements<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li>&nbsp;</li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p><strong>Notes:</strong></p>
<p>1) Line 11: The Location specified is exactly the same as the one listed in the CMDUI.xml file (This is the file which lists the OOTB ribbon controls). This is ensures we replace the ribbon control not create a new one.<br />
2) Line 22: Use the same sequence number to replace the button<br />
3) Line 36: The method name which invokes the javascript. See Line 73</p>
<p>Right, so first thing to remember. Everytime you deploy the feature or change it in any way, you need to clear the cookies/cache. Your changes wont be seen otherwise. That took me about 5 hours of work right there!!</p>
<p>Now, for the javascript. We use the ECMAScript opendialog functionality where we specify our own callback function which will be called one we&#8217;re done with the upload functionality (not covered here. this functionality would be part of the dialog you launch).</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li></li><li>openDialog<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>params<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allowMaximize<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;showClose<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callBackFunction<span style="color: #339933;">:</span> CallDETCustomDialog</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> params<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> siteurl <span style="color: #339933;">=</span> SP.<span style="color: #660066;">PageContextInfo</span>.<span style="color: #660066;">get_webServerRelativeUrl</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> SP.<span style="color: #660066;">UI</span>.$create_DialogOptions<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>siteurl <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.<span style="color: #660066;">url</span> <span style="color: #339933;">=</span> params.<span style="color: #660066;">url</span> <span style="color: #339933;">+</span> params.<span style="color: #660066;">id</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.<span style="color: #660066;">url</span> <span style="color: #339933;">=</span> siteurl <span style="color: #339933;">+</span> params.<span style="color: #660066;">url</span> <span style="color: #339933;">+</span> params.<span style="color: #660066;">id</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.<span style="color: #660066;">allowMaximize</span> <span style="color: #339933;">=</span> params.<span style="color: #660066;">allowMaximize</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.<span style="color: #660066;">showClose</span> <span style="color: #339933;">=</span> params.<span style="color: #660066;">showClose</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> params.<span style="color: #660066;">width</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.<span style="color: #660066;">height</span> <span style="color: #339933;">=</span> params.<span style="color: #660066;">height</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.<span style="color: #660066;">dialogReturnValueCallback</span> <span style="color: #339933;">=</span> params.<span style="color: #660066;">callBackFunction</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP.<span style="color: #660066;">UI</span>.<span style="color: #660066;">ModalDialog</span>.<span style="color: #660066;">showModalDialog</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #006600; font-style: italic;">//SP.UI.ModalDialog.showWaitScreenWithNoClose();</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;</li><li><span style="color: #006600; font-style: italic;">// upload Image Dialog</span></li><li><span style="color: #003366; font-weight: bold;">function</span> uploadImageDialog<span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">openDialog</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id<span style="color: #339933;">:</span> id<span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;/_layouts/FileUpload/BasicUpload.aspx&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callBackFunction<span style="color: #339933;">:</span> InsertImageUploadedCallback</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li><span style="color: #009900;">&#125;</span></li><li>&nbsp;</li><li><span style="color: #003366; font-weight: bold;">function</span> InsertImageUploadedCallback<span style="color: #009900;">&#40;</span>dialogResult<span style="color: #339933;">,</span> returnValue<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>dialogResult <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;OK&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #006600; font-style: italic;">//Delete any existing content the range contains</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RTE.<span style="color: #660066;">Cursor</span>.<span style="color: #660066;">get_range</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">deleteContent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #006600; font-style: italic;">//Get a handle on the current range of the cursor inside the RTE</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> rng <span style="color: #339933;">=</span> RTE.<span style="color: #660066;">Cursor</span>.<span style="color: #660066;">get_range</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.$3_0<span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #006600; font-style: italic;">//Create a DOM object representing the image</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> d <span style="color: #339933;">=</span> rng.<span style="color: #660066;">ownerDocument</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> a <span style="color: #339933;">=</span> d.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;img&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #006600; font-style: italic;">//a.setAttribute(&quot;id&quot;, uniqueid);</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;src&quot;</span><span style="color: #339933;">,</span> returnValue<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #006600; font-style: italic;">//Insert the image into the RTE at the current cursor range position&nbsp;&nbsp;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP.<span style="color: #660066;">UI</span>.<span style="color: #660066;">UIUtility</span>.<span style="color: #660066;">insertAfter</span><span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span> rng<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>dialogResult <span style="color: #339933;">==</span> <span style="color: #3366CC;">&quot;Replace&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> $v_0 <span style="color: #339933;">=</span> RTE.<span style="color: #660066;">Cursor</span>.<span style="color: #660066;">getSelectedImage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>$v_0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$v_0.<span style="color: #660066;">complete</span> <span style="color: #339933;">||</span> $v_0.<span style="color: #660066;">readyState</span> <span style="color: #339933;">===</span> <span style="color: #3366CC;">'complete'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$v_0.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;src&quot;</span><span style="color: #339933;">,</span> returnValue<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li><span style="color: #009900;">&#125;</span></li><li>&nbsp;</li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Notes:</p>
<p>1) Line 27: UploadImageDialog launches our dialog with the appropriate callbackfunction<br />
2) Line 21: Is set to <em>InsertImageUploadedCallback</em><br />
3) Line 37 &#8211; Line 51: Use this to insert a new image into the rich text editor.<br />
4) Line 53 &#8211; Line 63: Use this to replace the currently selected image</p>
<p>So once we have this functionality we can now create a new aspx page which would be invoked using this dialog. We called ours <em>&#8220;basicupload.aspx&#8221;</em>. </p>
<p>Within this page&#8217;s OnSave method we implemented some javascript which would then invoke the callback method and pass back the image url to the callback method. This is acheived using the following code:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li></li><li><span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>containerState <span style="color: #339933;">==</span> ContainerState.<span style="color: #660066;">UploadImages</span><span style="color: #009900;">&#41;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">Page</span>.<span style="color: #660066;">ClientScript</span>.<span style="color: #660066;">RegisterStartupScript</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">GetType</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;InsertImageUploadedCallback&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;commonModalDialogClose('OK', '&quot;</span> <span style="color: #339933;">+</span> oWeb.<span style="color: #660066;">Url</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/&quot;</span> <span style="color: #339933;">+</span> oImageItem.<span style="color: #660066;">File</span>.<span style="color: #660066;">Url</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;');&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">else</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">Page</span>.<span style="color: #660066;">ClientScript</span>.<span style="color: #660066;">RegisterStartupScript</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">GetType</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;InsertImageUploadedCallback&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;commonModalDialogClose('Replace', '&quot;</span> <span style="color: #339933;">+</span> oWeb.<span style="color: #660066;">Url</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;/&quot;</span> <span style="color: #339933;">+</span> oImageItem.<span style="color: #660066;">File</span>.<span style="color: #660066;">Url</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;');&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;</li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Notes:</p>
<p>The code shown above passes back the uploaded image file url back to the callback method based on whether we are replacing or uploading a new image.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/sharepoint-2010-ribbon-control-and-rich-text-editor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Our Sharepoint 2010 Experience</title>
		<link>http://www.sharepointings.com/our-sharepoint-2010-experience/</link>
		<comments>http://www.sharepointings.com/our-sharepoint-2010-experience/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 13:42:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/our-sharepoint-2010-experience/</guid>
		<description><![CDATA[So one of the projects we&#8217;re working on is a grand scale education system. It is billed as one of the largest Sharepoint 2010 deployments in the world currently and the budget stretches in the millions. We&#8217;re just glad we&#8217;ve got to work with cutting edge technology with some of the best sharepoint arhcitects, sharepoint [...]]]></description>
			<content:encoded><![CDATA[<p>So one of the projects we&#8217;re working on is a grand scale education system. It is billed as one of the largest Sharepoint 2010 deployments in the world currently and the budget stretches in the millions. We&#8217;re just glad we&#8217;ve got to work with cutting edge technology with some of the best sharepoint arhcitects, sharepoint developers and consultants around!</p>
<p>Although i cannot say much about the project it involves building a large LMS system which allows a potential 1.3 million students to collaborate on homework, with teachers and submit assignments online. It has created such a stir in the industry that <a href="http://en.wikipedia.org/wiki/Steve_Ballmer">Steve Ballmer</a> is officially our executive project sponsor! To hear a bit more about it, check out this <a href="http://ow.ly/1K8S0">video</a>. Make sure you fast forward to 23mins into the video to hear about the project!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/our-sharepoint-2010-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://ow.ly/1K8S0" length="187" type="video/x-ms-asf" />
		</item>
		<item>
		<title>Sharepoint 2010: Open Modal Dialog from EditControlBlock</title>
		<link>http://www.sharepointings.com/sharepoint-2010-open-modal-dialog-from-editcontrolblock/</link>
		<comments>http://www.sharepointings.com/sharepoint-2010-open-modal-dialog-from-editcontrolblock/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 07:54:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=528</guid>
		<description><![CDATA[Visual Studio 2010 makes it really easy to create and upload Features. Using these new Features makes it easy to add actions to menus. One of these menus is the Edit Control Block (ECB) or the context menu which appears over an item: Normally we&#8217;d use a simple UrlAction and fill the Url with the [...]]]></description>
			<content:encoded><![CDATA[<p>Visual Studio 2010 makes it really easy to create and upload Features. Using these new Features makes it easy to add actions to menus. One of these menus is the Edit Control Block (ECB) or the context menu which appears over an item:</p>
<p><img src="http://www.sharepointings.com/wp-content/uploads/2010/06/ECB.png" alt="Edit Control Block" title="Edit Control Block"/></p>
<p>Normally we&#8217;d use a simple <strong>UrlAction</strong> and fill the <strong>Url</strong> with the redirect. However in this case to call the modal, we can do the following:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="XML"><div class="devcodeoverflow"><ol><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Elements</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://schemas.microsoft.com/sharepoint/&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;CustomAction</span> <span style="color: #000066;">Id</span>=<span style="color: #ff0000;">&quot;ReportConcern&quot;</span> <span style="color: #000066;">RegistrationType</span>=<span style="color: #ff0000;">&quot;ContentType&quot;</span> <span style="color: #000066;">RegistrationId</span>=<span style="color: #ff0000;">&quot;0x0101009b56d20860764b8090e63b320d78f98c&quot;</span> <span style="color: #000066;">Location</span>=<span style="color: #ff0000;">&quot;EditControlBlock&quot;</span> <span style="color: #000066;">Sequence</span>=<span style="color: #ff0000;">&quot;107&quot;</span> <span style="color: #000066;">Title</span>=<span style="color: #ff0000;">&quot;Report Concern&quot;</span> <span style="color: #000066;">Description</span>=<span style="color: #ff0000;">&quot;To report a concern on this item&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;UrlAction</span> <span style="color: #000066;">Url</span>=<span style="color: #ff0000;">&quot;javascript:</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function CallDETCustomDialog(dialogResult, returnValue) </span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var options = {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: '{SiteUrl}' + '/_layouts/ReportConcern/ReportConcern.aspx?List={ListId}&amp;amp;ID={ItemId}',</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title: 'Report Concern',</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allowMaximize: false,</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;showClose: true,</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width: 500,</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height: 300,</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dialogReturnValueCallback: CallDETCustomDialog };</span></span></li><li><span style="color: #009900;"><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP.UI.ModalDialog.showModalDialog(options);&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CustomAction<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li><li><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Elements<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></li></ol></div></pre><!--END_DEVFMTCODE--> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/sharepoint-2010-open-modal-dialog-from-editcontrolblock/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sharepoint and JQuery Web Services: DeleteList</title>
		<link>http://www.sharepointings.com/sharepoint-and-jquery-web-services-deletelist/</link>
		<comments>http://www.sharepointings.com/sharepoint-and-jquery-web-services-deletelist/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 06:07:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=524</guid>
		<description><![CDATA[I had a requirement today to be able to perform a delete of a list without having to perform a postback. After a little bit of research and a little bit of fine-tuning i came up with a delete list method (deletelist()). Below is just an example of what can be done with the Lists.asmx [...]]]></description>
			<content:encoded><![CDATA[<p>I had a requirement today to be able to perform a delete of a list without having to perform a postback. After a little bit of <a href="http://weblogs.asp.net/jan/archive/2009/04/09/calling-the-sharepoint-web-services-with-jquery.aspx">research</a> and a little bit of <a href="http://weblogs.asp.net/jan/archive/2009/04/10/creating-list-items-with-jquery-and-the-sharepoint-web-services.aspx">fine-tuning</a> i came up with a delete list method (deletelist()). Below is just an example of what can be done with the Lists.asmx webservice provided by Sharepoint. Obviously any Web Service can be used or called as required.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Javascript"><div class="devcodeoverflow"><ol><li> </li><li><span style="color: #003366; font-weight: bold;">function</span> delete_list<span style="color: #009900;">&#40;</span>listid<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">confirm</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Are you sure you want to delete this container?&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> message <span style="color: #339933;">=</span> listid<span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> soapEnv <span style="color: #339933;">=</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;&lt;soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;soapenv:Body&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;DeleteList xmlns='http://schemas.microsoft.com/sharepoint/soap/'&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;listName&gt;&quot;</span> <span style="color: #339933;">+</span> listid <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;&lt;/listName&gt;<span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/DeleteList&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/soapenv:Body&gt; <span style="color: #000099; font-weight: bold;">\</span></span></li><li><span style="color: #3366CC;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/soapenv:Envelope&gt;&quot;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;_vti_bin/lists.asmx&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beforeSend<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>xhr<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xhr.<span style="color: #660066;">setRequestHeader</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;SOAPAction&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #3366CC;">&quot;http://schemas.microsoft.com/sharepoint/soap/DeleteList&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;POST&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;xml&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data<span style="color: #339933;">:</span> soapEnv<span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;text/xml; charset=<span style="color: #000099; font-weight: bold;">\&quot;</span>utf-8<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;complete<span style="color: #339933;">:</span> processResult<span style="color: #339933;">,</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.<span style="color: #660066;">location</span>.<span style="color: #660066;">reload</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">function</span> processResult<span style="color: #009900;">&#40;</span>xData<span style="color: #339933;">,</span> <span style="color: #000066;">status</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> </li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #003366; font-weight: bold;">var</span> resultXml <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span>xData.<span style="color: #660066;">responseXML</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;errorstring&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultXml <span style="color: #339933;">=</span> $.<span style="color: #660066;">trim</span><span style="color: #009900;">&#40;</span>resultXml<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>resultXml <span style="color: #339933;">!=</span> <span style="color: #3366CC;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>resultXml<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </li><li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #009900;">&#125;</span></li><li></li></ol></div></pre><!--END_DEVFMTCODE--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/sharepoint-and-jquery-web-services-deletelist/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Forms Designer for Sharepoint Services</title>
		<link>http://www.sharepointings.com/forms-designer-for-sharepoint-services/</link>
		<comments>http://www.sharepointings.com/forms-designer-for-sharepoint-services/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 23:56:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sharepointings.com/?p=495</guid>
		<description><![CDATA[Many of our clients operate in the small to medium entreprise (SME) and thus either make the investment into Microsoft Office Sharepoint Server (MOSS) whilst many opt for Windows Sharepoint Services (WSS) as a pilot or proof of concept. The differential always comes down to a couple of deal breakers: 1) The extent that search [...]]]></description>
			<content:encoded><![CDATA[<p>Many of our clients operate in the small to medium entreprise (SME) and thus either make the investment into <strong>Microsoft Office Sharepoint Server</strong> (<strong>MOSS</strong>) whilst many opt for Windows Sharepoint Services (<strong>WSS</strong>) as a pilot or proof of concept.</p>
<p>The differential always comes down to a couple of deal breakers:</p>
<p>1) The extent that search will play a role in their organisation<br />
2) The role of the automation of business processes within the organisation</p>
<p>When deciding between MOSS and WSS, for most organisations using Sharepoint 2007 as an intranet, it is normally the deal breakers mentioned above which entice them to go MOSS 2007 or WSS 3.0. When WSS 3.0 was released intially back in 2006, the difference between MOSS 2007 and WSS 3.0 was quite obvious. But as each of the above have been implemented, sharepoint services companies have slowly developed small features to make up the ground between the two. Take <a href="http://www.codeplex.com/SPMasterPicker">Stramit&#8217;s Masterpage Picker</a> which gives one the masterpage and branding type functionality of MOSS with a simple feature or <a href="http://community.bamboosolutions.com/blogs/mashpoint/default.aspx">Bamboo&#8217;s Mashpoint</a> allowing WSS to take advantage of BDC-like functionality. Im not saying that WSS with a couple of codeplex features will replicate the functionality of MOSS, things like Excel Services, Information Management Policies, Search and Navigation. But what am i saying is that WSS can provide a very rich interface for <strong>intranet</strong> and <strong>extranet</strong> deployments.</p>
<p>With the advent of <a href="http://www.microsoft.com/enterprisesearch/en/us/search-server-express.aspx">Microsoft Search Server Express</a>, search has become extremely powerful in WSS allowing organisations to use WSS to search Sharepoint Content, Website Content, Fileshares and Exhange Public folders (no people search which is at times a real make or break). Nonetheless i feel it still provides a rich functionality which makes me think that Infopath Forms Services is the real deal breaker. How many of you have used Sharepoint Designer to manipulate Sharepoint List Forms? Ever added a new column and then had a look if your customized form inherits the new column? Ever tried to create business rules around a form? For everything that Infopath provides us, i find that we suggest MOSS time and time again purely on the basis of automating business process within a organisation.</p>
<p>Many would disagree with the above, and yes, there are many features which MOSS adds where WSS does not compete, and theres no doubt, given a client has the budget, id suggest MOSS everyday. However id still love to have the &#8220;why do you suggest MOSS over WSS&#8221; discussion with some of our colleagues at <a href="http://www.sharepint.org/">Sharepint</a>, especially to cash strapped SME businesses. </p>
<p><strong>The crux of my post</strong></p>
<p>Infopath has an almost complete set of functionality available to browser-enabled Sharepoint forms. The ability to &#8220;import&#8221; and &#8220;export&#8221; data from Line of Business Systems, addition of business rules and branding of Forms makes it the only option to publish forms with rich functionality to Sharepoint. Why is it that Infopath is the only player in the Forms department. There are multiple workflow providers, <a href="http://www.nintex.com/en-US/Pages/default.aspx">Nintex</a> and <a href="http://www.k2.com/en/blackpoint.aspx">Blackpoint</a> to name a few. They make designing more complex workflows slightly easier to the average business user or <strong>sharepoint consultant</strong> and certainly have helped our clients save many hours in the solution development lifecycle. With the business process automation market almost captured, why is it that there isnt a forms provider who can compete with the Infopath juggernaut?</p>
<p>It would certainly lead me to recommend WSS to many cash-strapped SME&#8217;s depending on the price or licensing model and with the strong built-in workflow capability of WSS, it seems a no-brainer&#8230;. or maybe not?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sharepointings.com/forms-designer-for-sharepoint-services/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

