tag:blogger.com,1999:blog-62145080276359762282024-03-19T16:08:58.009-07:00SharePoint CarlosTips and tricks for SharePoint.Carloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-6214508027635976228.post-54386797965288320642014-11-12T13:50:00.002-08:002014-11-12T13:50:56.430-08:00Set Default Content TypeI am writing this because I couldn't find the way to set the default content type through the browser. If you know, please comment below.<br />
<br />
The reason for doing this is to have your content type come up when the user selects new item. If you didn't do this, the user has to click the down arrow on the new item in the ribbon, and then select your content type. (Sometimes, this is just too much to ask a user to know how to do and why "Promoted Links" is so popular.)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_LMbovPlyzXhx23vfFXiAmpqV2uXMwDYcjlgfVjW7Le91tlukIiBskHBRBUTSY6lG5ujF57GNlXPzEb1Mz7wAG0b4f6BPJnGSMhlj2bml8QKRzJwfvvFnRpdUQNTJeeZxxrNGE8ONZ8/s1600/Set+Default+Content+Type+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="369" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_LMbovPlyzXhx23vfFXiAmpqV2uXMwDYcjlgfVjW7Le91tlukIiBskHBRBUTSY6lG5ujF57GNlXPzEb1Mz7wAG0b4f6BPJnGSMhlj2bml8QKRzJwfvvFnRpdUQNTJeeZxxrNGE8ONZ8/s640/Set+Default+Content+Type+2.JPG" width="640" /></a></div>
<br />
<br />
It is actually quit ease with SharePoint Designer. You only need to navigate to your list, select the content type, then select 'Set as Default' from the ribbon.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHyHVan6WnGvvI98vRDQqfCK9FY6pgaslAJmQS9-AhcQ-pUYu_BQ8W9WkEgKMen1QCg28TX3lwzJ8igt56Q57yBzcbmjPwJfijzVfXp4PcuGPXl8FKGg-luLvVSmdqt-Gcobg1wnkc3vk/s1600/Set+Default+Content+Type.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHyHVan6WnGvvI98vRDQqfCK9FY6pgaslAJmQS9-AhcQ-pUYu_BQ8W9WkEgKMen1QCg28TX3lwzJ8igt56Q57yBzcbmjPwJfijzVfXp4PcuGPXl8FKGg-luLvVSmdqt-Gcobg1wnkc3vk/s640/Set+Default+Content+Type.JPG" width="640" /></a></div>
<br />
Cheers!<br />
<br />
CarlosCarloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com2tag:blogger.com,1999:blog-6214508027635976228.post-56754893334897184972014-11-10T17:01:00.000-08:002014-11-10T17:01:06.954-08:00Issue Uploading a Large Number of Large Files to SharePointIf you have ever been asked to upload a large number of large files (like videos) to SharePoint and found yourself cringing at the thought from past experiences then this post is for you! It seems like this should be a no brainer in SharePoint, but it's not.<br />
<br />
I have tried uploading large files with open with explorer, but it basically hangs your windows explorer and leaves you wondering if it is ever going to complete. Sometimes it seems like pot luck if it does.<br />
<br />
The next option is to leverage 'Sync'. I have done it this way in the past. It works, but it only worked for me if I dropped 5 large files at a time. Any more and it just didn't want to work robustly. I also had to <a href="http://sharepointnoobs.blogspot.com/2014/10/clearing-your-onedrive-cache.html">clear my cache</a> as I went along. Plus, what happens if you already have gigabytes of data in the library. Do you really want a copy of that locally?!<br />
<br />
The answer, for me, was simply to use the "Upload" option. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRzrx1rBRcUdpjzxHzD7y5TgJa6qgBqCHK-WGEYCbi1CuTE_basaplJVIbspH0E10TPPZlAISvYzef8vq0rJuuRV9kQD2XDiGsV2_piuw9EiFGvSjB9noWIrWDHon-XenYxcG-29KL7dI/s1600/upload.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRzrx1rBRcUdpjzxHzD7y5TgJa6qgBqCHK-WGEYCbi1CuTE_basaplJVIbspH0E10TPPZlAISvYzef8vq0rJuuRV9kQD2XDiGsV2_piuw9EiFGvSjB9noWIrWDHon-XenYxcG-29KL7dI/s1600/upload.png" height="58" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
For each large file that you want to upload, just open up a new page for that document library and select your file. It doesn't show you the progress, but you can easily navigate to another page and start the next upload or continue browsing without any noticeable overhead. For me, it "seemed" faster and more reliable than "Open with Explorer" and 'Sync'. These two options are great for the right scenario, but when comes to large files, 'Upload' seems the way to go. Hope this helps. <br />
<br />
Happy uploading!<br />
<br />
CarlosCarloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com3tag:blogger.com,1999:blog-6214508027635976228.post-10010766956978429332014-10-22T10:48:00.000-07:002014-11-10T17:05:10.581-08:00Clearing Your OneDrive CacheFor those of you that use OneDrive extensively, you may find that your disk drive is quickly running out of space. This is because OneDrive caches files on your Office temporary folder. These can get very large because it creates a cache file that is just a copy of the file it is trying to sync. I'm not sure what will trigger the cache files to clear out, so I created this batch script to clean out the files when I want. Just save this to a .bat file and run it.<br />
<br />
Note: the %temp% directory, at this time, is something like "c:\users\<b><span style="color: red;">xxxUSERxxx</span></b>\AppData\Local\Microsoft\Office\15.0\OfficeFileCache"<br />
<br />
<br />
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">cd %temp%<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">cd ..<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">cd microsoft<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">cd office<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">cd 15.0<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">cd OfficeFileCache<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">dir<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">forfiles /m *.fsd /d -1 /c "cmd /c del @file : date >=
1 days >NUL" <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">forfiles /m *.fsf /d -1 /c "cmd /c del @file : date >=
1 days >NUL" <o:p></o:p></span></div>
<br />
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;">pause<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;"><br /></span>
<span style="font-family: Calibri, sans-serif;"><span style="font-size: 15px;">This script tries to avoid any currently opened files by starting with yesterdays files (and older.) Technically you could just delete everything with *.* and windows will just ignore all the files that are open because OneDrive is trying to sync them at the moment and has them locked. What I'm trying to avoid with my approach is to avoid deleting the "CentralTable.xxx" files that OneDrive is using to manage the file syncing.</span></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;"><br /></span></div>
<div style="margin-bottom: .0001pt; margin: 0in;">
On a related note, When you run a repair on OneDrive it creates *.Oldx versions of your OfficeFileCache folder in the %temp%\microsoft\office\15.0 directory with folder names like OfficeFileCache.old1, OfficeFileCache.Old2. These are copies of the folders before the repair executes. These can be deleted - if you are comfortable with the files you have on your OneDrive locally and in the cloud.<br />
<br />
Cheers,<br />
<br />
Carlos</div>
Carloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com1tag:blogger.com,1999:blog-6214508027635976228.post-1444254817381729422014-08-13T08:59:00.000-07:002014-08-13T08:59:15.873-07:00Share / User Access Requests and Invitations MissingIn Office 365/ SharePoint Online I came across and issue where I would share a site with an external user, but the invitation would not appear in the "Access requests and invitations" of the site setting. This did not prevent the invitation from being sent or the users accessing the site, but it made it difficult to track the invitations.<br />
<br />
As it turns out, this is a know problem, but the cause was unknown. If you have this problem, then Microsoft has a script they can run to fix the issue. You will need to contact them to run the script in their hosted environment.<br />
<br />
After going through a number of scenarios, I determined the root of this issue. If you create a site template from a site you created, you can create new sites from that template and the invitations work properly. <span style="color: red;">If you create a new template from a site that was created from a template, the Access request and Invitations will not display your invitations. </span>You will need to call Microsoft for a fix.<br />
<br />
To avoid the problem, always make your changes on your original clean site and make new templates from your model template.<br />
<br />
Cheers,<br />
CarlosCarloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com3tag:blogger.com,1999:blog-6214508027635976228.post-14639185634816000322014-08-07T10:31:00.000-07:002014-08-07T10:31:05.584-07:00No Code Hide Recent from Quick MenuThis isn't new, other's have posted this solution, but I think it's so elegant that I just want to spread the word. There are many JavaScript solutions, but personally, I would rather have a no code solution. It's simple so I'm not going to post any images. There are others that have created step-by-step blogs that are much more detailed, so keep looking down the google search results list if you need more info. :)<br />
<br />
<span style="font-size: x-small;">1. Create a new SharePoint group called Nobody.</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">2. Remove yourself from the group. (you are automatically added when you create the group.)</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">3. Under Site Settings, Navigation, under "Structural Navigation: Editing and Sorting", select 'Recent' and click edit.</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">4. In the Audience field, add "Nobody".</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">5. Make sure to kick 'OK' for the page or your changes won't be saved.</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">Voila!</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">Cheers,</span><br />
<span style="font-size: x-small;">Carlos</span>Carloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com0tag:blogger.com,1999:blog-6214508027635976228.post-41558562551193767442014-08-06T14:15:00.000-07:002014-08-06T14:26:36.895-07:00SharePoint 2013 Enterprise Search Go Back - RevisitedThis is a rehash of my previous post on the <a href="http://sharepointnoobs.blogspot.com/2013/01/go-back-on-search.html">same subject</a>, but it's been redone to use images.<br />
<div>
<br /></div>
So you want to leverage SharePoint Enterprise Search because it has all the bells and whistles you are looking for in your results and search features. You set your site to leverage enterprise search and you let people start using it. The problem that comes up is that when a user begins using the search, they are taken to the Enterprise Search site collection and there is no quick way to get back from where they started. The only way, out the box, is to hit the back button until they are back to where they started.<br />
<br />
I found this to be less than ideal, so I cobbled together some JavaScript that leverages a browser session cookie to capture the site they launch the search. When the user is ready to go back, they simply click on the back button to return to where they started.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7B92Kqm5EUqyYWoNiV8O8-P8Xyys7VjUES2-nyEoQB6O7w-C3ZyT3NEBQWjuzhnikrjIyBzZD5C47hVYRjXmzq7qbjDbW7bgB7RkaAHod-wEg8fyW4Cf2QfnHtCjWV06xbxZndnOBzG4/s1600/backsample.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7B92Kqm5EUqyYWoNiV8O8-P8Xyys7VjUES2-nyEoQB6O7w-C3ZyT3NEBQWjuzhnikrjIyBzZD5C47hVYRjXmzq7qbjDbW7bgB7RkaAHod-wEg8fyW4Cf2QfnHtCjWV06xbxZndnOBzG4/s1600/backsample.JPG" height="160" width="640" /></a></div>
<br />
<br />
Here is the javascript:<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><script type="text/javascript"></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">_spBodyOnLoadFunctionNames.push("returnGoBackURL");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">function returnGoBackURL() {</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>//*******************Specify your url search site here (with https and ending forward slash)*********</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>var rootURL = 'https://xxxxx.sharepoint.com/sites/searchFAST/';</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>var lastURL = document.referrer;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>if (lastURL.substr(0,rootURL.length) != rootURL) {</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>setCookie('lastURL', document.referrer, 1 );</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>document.getElementById('returnURL').href = document.referrer;</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>} else {</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <span class="Apple-tab-span" style="white-space: pre;"> </span>document.getElementById('returnURL').href = getCookie('lastURL');</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">function setCookie(c_name,value,exdays){</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>var exdate=new Date();</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>exdate.setDate(exdate.getDate() + exdays);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>document.cookie=c_name + "=" + c_value + ";path=/";</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">function getCookie(c_name) {</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>var i,x,y,ARRcookies=document.cookie.split(";");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>for (i=0;i<ARRcookies.length;i++)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>{</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> x=x.replace(/^\s+|\s+$/g,"");</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> if (x==c_name)</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> {</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>return unescape(y);</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span> }</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"></script></span><br />
<span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><a href="https://xxxxx.sharepoint.com"><img border="0" src="/sites/searchFAST/SiteCollectionImages/home2.png" alt="home"></a></span><br />
<span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><a id='returnURL' class='returnURL' href='http://xxxxx.sharepoint.com'><img border="0" src="/sites/searchFAST/SiteCollectionImages/back.gif" alt="back"></a></span><br />
<br />
<br />
Here are the a couple of starter images for Home and Back. Just update the image references in the script to point to the location of these files after you have put them on your site.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM2bgu7xPBhDtWOZpFRkzFKqoTjMJaovyD5oWqs6aUtEtsmsOdGOy0eTA6jtgBhIUCD5BFCegIECQfxAzi2DH72hGx_r-p75SNju0df2-08WQmTzGwnw_W9ljw6D4vvQIjP4T03baHYSo/s1600/back.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM2bgu7xPBhDtWOZpFRkzFKqoTjMJaovyD5oWqs6aUtEtsmsOdGOy0eTA6jtgBhIUCD5BFCegIECQfxAzi2DH72hGx_r-p75SNju0df2-08WQmTzGwnw_W9ljw6D4vvQIjP4T03baHYSo/s1600/back.gif" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvqnuaYs8Gf1E143uUWRlhHEGuyAJK4I3c7IMXiHmQjCSWKbnts-hc_cCxbHfS2JN_va2fqDAIyikKBVll81Z6I0dcCU5kj3ioNkr9KDBedJS8L_OYxV2424VF7WqqAUWQqgaZewHhh0Y/s1600/home2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvqnuaYs8Gf1E143uUWRlhHEGuyAJK4I3c7IMXiHmQjCSWKbnts-hc_cCxbHfS2JN_va2fqDAIyikKBVll81Z6I0dcCU5kj3ioNkr9KDBedJS8L_OYxV2424VF7WqqAUWQqgaZewHhh0Y/s1600/home2.png" /></a></div>
<br />
Add the script to a file and put it in the site collection documents. You will need to add a content editor web part (CEWP) to each of the search result pages and point it to the file you saved with the above script. I put the CEWP under Search Navigation.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcz55axoRgewCWv5pvxSlTXBVOTc8sqcyHfWtB6VXf61C8OEhkh_oXTILhwvPhHeAMEwq_gasPbJew20sbpjVhQwI_Kj2lcrKoZalbYobLXsRjDhtoh71QBaNLfji18isXaC8W8j7lQ60/s1600/addbackbutton.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcz55axoRgewCWv5pvxSlTXBVOTc8sqcyHfWtB6VXf61C8OEhkh_oXTILhwvPhHeAMEwq_gasPbJew20sbpjVhQwI_Kj2lcrKoZalbYobLXsRjDhtoh71QBaNLfji18isXaC8W8j7lQ60/s1600/addbackbutton.jpg" height="347" width="640" /></a></div>
<br />
<br />
In O365, the search site has a document library called 'Pages'. In here are a number of result pages used to display the search results. The default is 'results', but you will find others for 'peopleresults', 'videoresults' and some others. You will want add the content editor webpart to all the result pages where you want the back button to appear.<br />
<br />
Cheers,<br />
CarlosCarloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com0tag:blogger.com,1999:blog-6214508027635976228.post-76471008143317437472014-06-18T11:47:00.002-07:002014-06-18T11:48:58.300-07:00Workflow Fails to Publish - Copy Workflow Actions IssueThis is a post is actually regarding using the copy and paste function in SharePoint 2013. If you are pressed for time, you can just walk away with this recommendation: Don't use the copy and paste function! The copy function simply doesn't work well.<br />
<div>
<br />
<div>
I had a workflow that, no matter what I changed, when I published it, it looked like it published successfully, but it actually didn't. I came across this <a href="http://sharepoint.stackexchange.com/questions/89416/workflow-fails-to-compile-and-publish-in-sharepoint-designer-2010">link</a> that mentioned copying an email can cause problems. The problem stems from SharePoint designer trying to copy the variables in the email. It just can't handle it. </div>
<div>
<br /></div>
<div>
The beauty of copying an action is to avoid having to paste in all the workflow variables in a highly formatted email. If it can't handle the variables, then this is pretty much useless. I ended up deleting the emails I copied and re-creating each one by scratch and then it worked fine ( I didn't want to lose all the other work I had already put into the workflow by starting over). </div>
<div>
<br /></div>
<div>
I suspect the problem would occur with any action involving variables you try and copy, so just stay away from the copy function. The link above mentioned that this is only an issue with tasks, but it's not worth figuring when it does or doesn't work.</div>
<div>
<br /></div>
</div>
<div>
Cheers,</div>
<div>
Carlos</div>
Carloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com2tag:blogger.com,1999:blog-6214508027635976228.post-6631885091642559902013-01-11T15:01:00.003-08:002013-03-07T14:57:06.533-08:00SharePoint Go Back Button on SearchWhat's up with SharePoint Search? It has some nice bells and whistles, but when you do a search, how do you go back if you don't find what you want -or- just want to get back to where you started? Sure you have the back button on the browser, but for some reason that just seems so unfulfilling. Everyone else is using the <span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"> history.</span><em style="background-color: white; font-family: arial, sans-serif; font-size: small; font-style: normal; font-weight: bold; line-height: 16px;">go</em><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;">(-1)</span> but the problem with that is that it fails if the user does more than one search. Who is with me on this?!<br />
<br />
Well, until someone slaps me in the face with a better idea, I came up with this simple solution. To create a link back to where you started, you need capture where they are coming from and hang on to that information until the user is ready to go back from where they came from. I can't remember why using server/app variable couldn't or wouldn't work (probably because we are on SharePoint Online) so I decided to try cookies. <br />
<br />
Here is what it will look like:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2JfuGnW4xa5A_sP-SKCC35AVCG0aOblZfuqrUNFBLg5M0k-lAvDka8C3wgB1x1lQj85cxSxQ9BDf0k224lVjENhAw9JUN1FQtY_UMJOl1PXhrR4Isb0SSyxzLD6AJgf6kKY85agg2CYU/s1600/go+back+on+search.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2JfuGnW4xa5A_sP-SKCC35AVCG0aOblZfuqrUNFBLg5M0k-lAvDka8C3wgB1x1lQj85cxSxQ9BDf0k224lVjENhAw9JUN1FQtY_UMJOl1PXhrR4Isb0SSyxzLD6AJgf6kKY85agg2CYU/s640/go+back+on+search.jpg" width="640" /></a></div>
<br />
<br />
This requires the browser's cookies to be enabled. Most people do and so do we, within our company, so it works fine for us. Also, it works regardless of the site collection the search is being launched.<br />
<br />
1. Start by editing the result page for your searches by clicking on Page - Edit.These default pages are /yoursearch/pages/results.aspx and /yoursearch/pages/peopleresults.aspx.<br />
<br />
2. Edit the fourth line in the script below to reflect your search site.<br />
<br />
3. Copy the script to a text file. Save the file and upload it to your search site.<br />
<br />
4. Add a CEWP - Content Editor Web Part where you would like the button/link to appear. Point the web part to where ever you put this file within your search site.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0zL4p4YPn5_t3bA8q7OOfHr109XkfpDjlLBYGM4CQkGRmqxdeTx-1qi6X2zLlDTLreBErJGzXJqfwjM23og9cvNSPxFevveyy3mmKRtUV9VVh9KFIn__VRX7-WhOowLXo4KlX8h-_SOQ/s1600/goback+edit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0zL4p4YPn5_t3bA8q7OOfHr109XkfpDjlLBYGM4CQkGRmqxdeTx-1qi6X2zLlDTLreBErJGzXJqfwjM23og9cvNSPxFevveyy3mmKRtUV9VVh9KFIn__VRX7-WhOowLXo4KlX8h-_SOQ/s640/goback+edit.jpg" width="640" /></a></div>
<br />
(BTW- I tried the history.go(-1) option and it doesn't handle the scenario of the user doing multiple queries before wanting to go back.)<br />
<br />
Let me know if you like it or if it makes you want to toss your cookies. I don't have much design sense, so if you have a better idea of how to put it on the page, please let me know. I am probably forgetting something you need to get this to work so post a message with any questions.<br />
<br />
Cheers!<br />
<br />
Carlos<br />
<br />
<div style="margin: 5px 20px 20px;">
<pre class="alt2" dir="ltr" style="border-bottom: 1px inset; border-left: 1px inset; border-right: 1px inset; border-top: 1px inset; height: 1100px; margin: 0px; overflow: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; text-align: left; width: 900px;"><code><span class="oper"><</span><span class="var">script</span> <span class="var">type</span><span class="oper">=</span>"<span class="string">text/javascript</span>"<span class="oper">></span>
<span class="var">_spBodyOnLoadFunctionNames</span>.<span class="func">push</span>("<span class="string">returnGoBackURL</span>");
<span class="oper">function</span> <span class="func">returnGoBackURL</span>() {
<span class="comment">//*******************Specify your url search site here*********</span>
<span class="oper">var</span> <span class="var">rootURL</span> <span class="oper">=</span> '<span class="string">https://mydomain.com/searchURL/</span>';
<span class="oper">var</span> <span class="var">lastURL</span> <span class="oper">=</span> <span class="var">document</span>.<span class="var">referrer</span>;
<span class="oper">if</span> (<span class="var">lastURL</span>.<span class="func">substr</span>(<span class="num">0</span>,<span class="var">rootURL</span>.<span class="var">length</span>) <span class="oper">!=</span> <span class="var">rootURL</span>) {
<span class="func">setCookie</span>('<span class="string">lastURL</span>', <span class="var">document</span>.<span class="var">referrer</span>, <span class="num">1</span> );
<span class="var">document</span>.<span class="func">getElementById</span>('<span class="string">returnURL</span>').<span class="var">href</span> <span class="oper">=</span> <span class="var">document</span>.<span class="var">referrer</span>;
} <span class="oper">else</span> {
<span class="var">document</span>.<span class="func">getElementById</span>('<span class="string">returnURL</span>').<span class="var">href</span> <span class="oper">=</span> <span class="func">getCookie</span>('<span class="string">lastURL</span>');
}
}
<span class="oper">function</span> <span class="func">setCookie</span>(<span class="var">c_name</span>,<span class="var">value</span>,<span class="var">exdays</span>){
<span class="oper">var</span> <span class="var">exdate</span><span class="oper">=</span><span class="oper">new</span> <span class="func">Date</span>();
<span class="var">exdate</span>.<span class="func">setDate</span>(<span class="var">exdate</span>.<span class="func">getDate</span>() <span class="oper">+</span> <span class="var">exdays</span>);
<span class="oper">var</span> <span class="var">c_value</span><span class="oper">=</span><span class="func">escape</span>(<span class="var">value</span>) <span class="oper">+</span> ((<span class="var">exdays</span><span class="oper">=</span><span class="oper">=</span><span class="num">null</span>) <span class="oper">?</span> "<span class="string"></span>" <span class="oper">:</span> "<span class="string">; expires=</span>"<span class="oper">+</span><span class="var">exdate</span>.<span class="func">toUTCString</span>());
<span class="var">document</span>.<span class="var">cookie</span><span class="oper">=</span><span class="var">c_name</span> <span class="oper">+</span> "<span class="string">=</span>" <span class="oper">+</span> <span class="var">c_value</span> <span class="oper">+</span> "<span class="string">;path=/</span>";
}
<span class="oper">function</span> <span class="func">getCookie</span>(<span class="var">c_name</span>) {
<span class="oper">var</span> <span class="var">i</span>,<span class="var">x</span>,<span class="var">y</span>,<span class="var">ARRcookies</span><span class="oper">=</span><span class="var">document</span>.<span class="var">cookie</span>.<span class="func">split</span>("<span class="string">;</span>");
<span class="oper">for</span> (<span class="var">i</span><span class="oper">=</span><span class="num">0</span>;<span class="var">i</span><span class="oper"><</span><span class="var">ARRcookies</span>.<span class="var">length</span>;<span class="var">i</span><span class="oper">+</span><span class="oper">+</span>)
{
<span class="var">x</span><span class="oper">=</span><span class="var">ARRcookies</span>[<span class="var">i</span>].<span class="func">substr</span>(<span class="num">0</span>,<span class="var">ARRcookies</span>[<span class="var">i</span>].<span class="func">indexOf</span>("<span class="string">=</span>"));
<span class="var">y</span><span class="oper">=</span><span class="var">ARRcookies</span>[<span class="var">i</span>].<span class="func">substr</span>(<span class="var">ARRcookies</span>[<span class="var">i</span>].<span class="func">indexOf</span>("<span class="string">=</span>")<span class="oper">+</span><span class="num">1</span>);
<span class="var">x</span><span class="oper">=</span><span class="var">x</span>.<span class="func">replace</span>(/<span class="reg">^\s+|\s+$</span>/<span class="reg">g</span>,"<span class="string"></span>");
<span class="oper">if</span> (<span class="var">x</span><span class="oper">=</span><span class="oper">=</span><span class="var">c_name</span>)
{
<span class="oper">return</span> <span class="func">unescape</span>(<span class="var">y</span>);
}
}
}
<span class="oper"><</span>/<span class="reg">script>
<center>
<a id='returnURL' class='returnURL' href="#">Go Back<</span>/<span class="var">a</span><span class="oper">></span>
<span class="oper"><</span>/<span class="reg">center>
<style type="text</span>/<span class="var">css</span>"<span class="string">>
.returnURL {
-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
box-shadow:inset 0px 1px 0px 0px #ffffff;
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) );
background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
background-color:#ededed;
-moz-border-radius:6px;
-webkit-border-radius:6px;
border-radius:6px;
border:1px solid #dcdcdc;
display:inline-block;
color:#777777;
font-family:arial;
font-size:15px;
font-weight:bold;
padding:6px 40px;
text-decoration:none;
text-shadow:1px 1px 0px #ffffff;
}.returnURL:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) );
background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
background-color:#dfdfdf;
}.returnURL:active {
position:relative;
top:1px;
}
</span></code></style> </pre>
</div>
<br />Carloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com3tag:blogger.com,1999:blog-6214508027635976228.post-57902013584992894102012-09-12T22:31:00.000-07:002012-09-17T11:52:32.077-07:00SharePoint 2010 Stock QuoteSo you want to add a stock quote to your SharePoint site? Something that will work on SharePoint 2010 or SharePoint Online. Want something painless to implement? I searched high and low and I finally found this gem. I can't remember where I got the idea of using rest calls, but when I remember I'll put your credit on here. In any event, it bears repeating the steps here and I'm also adding a little XSLT formatting for my contribution.<br />
<div>
<br /></div>
<div>
The hardest part of this whole process is the XSL, but I'm giving it to you below so all you have to do is cut and paste.<br />
<br />
Here is what it will look like:<br />
<br />
<table border="0" cellspacing="0" style="background-color: white; border-collapse: collapse; color: #676767; font-family: Verdana, Arial, sans-serif; font-size: 11px; text-align: left; width: 300px;"><tbody>
<tr><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%">Symbol</td><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%">Last</td><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%">Change</td><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%">%</td></tr>
<tr><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%"><b>GOOG</b></td><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%">691.75</td><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%"><span style="color: #009900;">+1.31</span></td><td class="ms-vb" style="color: #6d6f72; font-family: tahoma, verdana, arial, helvetica, sans-serif; font-size: 8pt; line-height: 1.2; vertical-align: top;" width="25%"><span style="color: #009900;">.19</span></td></tr>
</tbody></table>
</div>
<div>
<br /></div>
<div>
Here is an overview of the steps:<br />
<div>
<br /></div>
<div>
1. Create a "REST Service Connection" "Data Source" in SharePoint Designer.</div>
<div>
2. Open the page you want to add your new stock quote in SharePoint Designer.</div>
<div>
3. Insert a Data View using the new Data Source you created.</div>
<div>
4<span style="background-color: white;">. Open your page from the web and 'Edit Web Part' on your new Data View Web Part.</span></div>
<div>
<span style="background-color: white;">5. Modify the XSL to format the data. (Simply cut and paste code below.)</span></div>
</div>
<div>
<span style="background-color: white;">6. Save.</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;">That's it! So let's get started.</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<div>
1. Create a "REST Service Connection" "Data Source" in SharePoint Designer.</div>
</div>
<div>
Oooh REST Service Connection....very scary. <span style="background-color: white;">Right? Wrong! </span><span style="background-color: white;">I've read blogs and blogs on REST and I still can't make heads or tails of it. The more I read, the less RESTful I get. I digress. There are a number available API's out there, but finding the right one took a little hunting. Here is the URL for retrieving a stock quote on Google from Google:</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;">http://www.google/ig/api?stock=goog</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
To create the REST Service Connection, open SharePoint Designer to you site, select Data Sources, and then click on the Rest Service Connection. A Data Source Properties window will come up. </div>
<div>
<br /></div>
<div>
1. a. Enter the URL string. </div>
<div>
1. b. Tab out of the field (the stock parameters will appear in the list below)</div>
<div>
1. c. Click OK.</div>
<div>
<br /></div>
<div>
You will then see the "api on www.google.com" in the "RSS, REST, Server Scripts" section of the Data Sources.</div>
<div>
<br /></div>
<div>
See the image below:</div>
<div>
<br /></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmd21NB-dX87rJfsYH-Y83pw_A3G2X38b8J0-5o_N74BoRfzuQUqkrTlLISwFXkm1QOd81Psc03TB-rtAV9laRWXisVkbEFWU63g87KebWK8him6H0LycenKtKe2Hc_z25lDcYShRlf_4/s1600/SharePoint_365_RSS_Web_Part.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="Configure REST Service Connection for RSS SharePoint Online Web Part" border="0" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmd21NB-dX87rJfsYH-Y83pw_A3G2X38b8J0-5o_N74BoRfzuQUqkrTlLISwFXkm1QOd81Psc03TB-rtAV9laRWXisVkbEFWU63g87KebWK8him6H0LycenKtKe2Hc_z25lDcYShRlf_4/s640/SharePoint_365_RSS_Web_Part.JPG" title="Configure REST Service Connection for RSS SharePoint Online Web Part" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
2. Open the page you want to add your new stock quote in SharePoint Designer.
</div>
<div>
3. Insert a Data View using the new Data Source you created.
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPX8TrCw_ZGWna1FGrwCvZcHqT4En_VIfJBjm1ZI5Vu-yoti685Wq3MY2stPSkuGbjj8yE0CVcwRS8V2IqtS2MAPWuR-Ngy0WZcn-qsiTkp5o2jP3IexUWec1bpeImgSlX-1oa4DyB8V0/s1600/SharePoint_365_RSS_Web_Part_2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="488" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPX8TrCw_ZGWna1FGrwCvZcHqT4En_VIfJBjm1ZI5Vu-yoti685Wq3MY2stPSkuGbjj8yE0CVcwRS8V2IqtS2MAPWuR-Ngy0WZcn-qsiTkp5o2jP3IexUWec1bpeImgSlX-1oa4DyB8V0/s640/SharePoint_365_RSS_Web_Part_2.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
This is what it looks like:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjedNgnkRf79CkTV7fQi_e-iGRPNpqN4QES_zF7zeF4PvzY4s9y92ZW-C3Ph6yyewcMpNsG8uIlvKnAE35rRcZD57y4zKuimrG1y4I5CKlteSsLTdertBQUT4LmgYsRESVLIzA6ykv6jwM/s1600/SharePoint_365_RSS_Web_Part_3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjedNgnkRf79CkTV7fQi_e-iGRPNpqN4QES_zF7zeF4PvzY4s9y92ZW-C3Ph6yyewcMpNsG8uIlvKnAE35rRcZD57y4zKuimrG1y4I5CKlteSsLTdertBQUT4LmgYsRESVLIzA6ykv6jwM/s320/SharePoint_365_RSS_Web_Part_3.JPG" width="320" /></a></div>
<div>
Pretty ugly huh? Not very useful either....Ok, let's clean it up...Save your work and close out SharePoint Designer.</div>
<div>
<br /></div>
<div>
<div>
<div>
<br /></div>
<div>
4<span style="background-color: white;">. a. Open your page from the web and 'Edit Web Part' on your new Data View Web Part.</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggw5TQ0D3a5PTmLEXsjhOe-3ggsLtzogaFx4ca15GcD_K_6oBWeksaN4sCfvJWb2qusPhSMHO-1cU6Uw0n7oe3XdK-sc183HCtKFTOeeJGqxa9Qnb-3Aj15lZhM-6BVLdQ9N6wSlzfetY/s1600/SharePoint_365_RSS_Web_Part_4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggw5TQ0D3a5PTmLEXsjhOe-3ggsLtzogaFx4ca15GcD_K_6oBWeksaN4sCfvJWb2qusPhSMHO-1cU6Uw0n7oe3XdK-sc183HCtKFTOeeJGqxa9Qnb-3Aj15lZhM-6BVLdQ9N6wSlzfetY/s640/SharePoint_365_RSS_Web_Part_4.JPG" width="640" /></a></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;">4.b. Open the XSL Editor</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicTmoimG23M5xBDRaIMk1tmIcfDcjQ15QMvRXP-nOO8Jgc6dAcC0wG9cL6yxAQzoQ_Etk4VOdaRKWS0IbkWJOOyJ07E03sZmDsCtQts9JaAnrDvPnJJ2Gd-1QoxJ4Krm2Jiw07nYhj-2k/s1600/SharePoint_365_RSS_Web_Part_5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicTmoimG23M5xBDRaIMk1tmIcfDcjQ15QMvRXP-nOO8Jgc6dAcC0wG9cL6yxAQzoQ_Etk4VOdaRKWS0IbkWJOOyJ07E03sZmDsCtQts9JaAnrDvPnJJ2Gd-1QoxJ4Krm2Jiw07nYhj-2k/s640/SharePoint_365_RSS_Web_Part_5.JPG" width="640" /></a></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;">5. Modify the XSL to format the data.</span></div>
</div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;">This is last step. You will need to change the XSL in the template section named "dvt_1.rowview". Since this is and even worse text editor since notepad, you'll want to drag and expand the window as large as it will go. (Sorry, no max window icon on this screen).</span></div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;">Replace all the code within this tag</span></div>
<div>
<span style="background-color: white;"></span><br />
<div>
<span style="background-color: white;"><xsl:template name="dvt_1.rowview"></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><br /></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;">and BEFORE the close tag</span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<div>
<span style="background-color: white;"><br /></span></div>
<div>
<span style="background-color: white;"></xsl:template> (you'll find it right before <span style="background-color: white;"><xsl:template name="dvt_1.empty">)</span></span></div>
</div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><span style="background-color: white;"><br /></span></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;">Here is the code to replace that section:</span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<pre><tr>
<td>
<table border="0" cellspacing="0" width="100%">
<tr>
<td width="25%" class="ms-vb">Symbol</td>
<td width="25%" class="ms-vb">Last</td>
<td width="25%" class="ms-vb">Change</td>
<td width="25%" class="ms-vb">%</td>
</tr>
<tr>
<td width="25%" class="ms-vb">
<b><xsl:value-of select="finance/symbol/@data"/></b>
</td>
<td width="25%" class="ms-vb">
<xsl:value-of select="finance/last/@data"/>
</td>
<td width="25%" class="ms-vb">
<xsl:choose>
<xsl:when test="finance/change/@data &lt; 0">
<font color="#CC0000"><xsl:value-of select="finance/change/@data"/></font>
</xsl:when>
<xsl:otherwise>
<font color="#009900"><xsl:value-of select="finance/change/@data"/></font>
</xsl:otherwise>
</xsl:choose>
</td>
<td width="25%" class="ms-vb">
<xsl:choose>
<xsl:when test="finance/change/@data &lt; 0">
<font color="#CC0000"><xsl:value-of select="finance/perc_change/@data"/></font>
</xsl:when>
<xsl:otherwise>
<font color="#009900"><xsl:value-of select="finance/perc_change/@data"/></font>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
<tr>
<td colspan="99" class="ms-vb">
<span ddwrt:amkeyfield="" ddwrt:amkeyvalue="string($XPath)" ddwrt:ammode="view"></span>
</td>
</tr>
</xsl:if>
</table>
</td>
</tr></pre>
</div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><span style="background-color: white;"><br /></span></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><span style="background-color: white;">6. Save your work!</span></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><span style="background-color: white;"><br /></span></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
That's it. </div>
<span style="background-color: white;">
</span>
<br />
<div>
<br /></div>
<span style="background-color: white;">
</span>
<br />
<div>
Did it work for you? Have any twist or other cool implementations? Share!<br />
<br />
Cheers,<br />
<br />
Carlos</div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><br /></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><br /></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><br /></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><br /></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><br /></span></div>
<span style="background-color: white;">
</span>
<br />
<div>
<span style="background-color: white;"><br /></span></div>
<span style="background-color: white;">
</span></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
Carloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com7tag:blogger.com,1999:blog-6214508027635976228.post-47805029067648129922012-06-28T15:58:00.001-07:002012-06-28T16:26:23.539-07:00SharePointNoobsJust another site with information on SharePoint.<br />
<br />
No, this is not just another site! It's an 'I couldn't find it anywhere else, so I did it myself!' site. <span style="background-color: white;">It's also an 'I found it somewhere else, so I'm linking to it from here' site. </span><span style="background-color: white;">Or, it's a 'I found it somewhere else, but I thought I could make it better site.' </span><br />
<span style="background-color: white;"><br /></span><br />
<span style="background-color: white;">Ok - so maybe this is just like all the other SharePoint. Regardless, g</span><span style="background-color: white;">ood luck finding what you need. Hopefully some of your answers will be found here.</span><br />
<br />
Carlos<br />
<br />
<br />Carloshttp://www.blogger.com/profile/14505457752262024320noreply@blogger.com1