<?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>E. Struyf &#039;s BlogE. Struyf &#039;s Blog | E. Struyf &#039;s Blog</title>
	<atom:link href="http://www.estruyf.be/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.estruyf.be/blog</link>
	<description>SharePoint: The Pain, Frustrations and Joy.</description>
	<lastBuildDate>Mon, 07 May 2012 07:45:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Discussion Board Style for the Content Query Web Part</title>
		<link>http://www.estruyf.be/blog/discussion-board-style-for-the-content-query-web-part/</link>
		<comments>http://www.estruyf.be/blog/discussion-board-style-for-the-content-query-web-part/#comments</comments>
		<pubDate>Thu, 03 May 2012 08:30:41 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Web Part]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Content Query]]></category>
		<category><![CDATA[Styling]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=817</guid>
		<description><![CDATA[When you want to create a rollup from all discussion board (or a specific one) in SharePoint, you will notice that the Content Query Web Part does not have an appropriate style for it. Every out of the box style from the Content Query Web Part returns the following result. As you can see in the image above, the content query web part returns (Blank) messages. These (Blank) messages are the replies users have made. So why do messages return as (Blank)? As you may or may not know, the discussion board contains two content types. Discussion; Message. Message can only be used when you do a reply on a discussion (which creates folders), and they do not contain a Title/Subject field (this is hidden by default). Because you do not need to add the subject in your reply, the title/subject field automatically gets (Blank) as field value. Discussion Board Content Query Web Part Style The result of the Discussion Board Style will be the following: As you can see the (Blank) messages are replaced with the discussion subject. To do this, you can retrieve the subject from the LinkUrl of the message. The subject of the discussion exists in [...]]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/discussion-board-style-for-the-content-query-web-part/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CodePlex &#8211; Downloads</title>
		<link>http://www.estruyf.be/blog/codeplex-downloads/</link>
		<comments>http://www.estruyf.be/blog/codeplex-downloads/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 13:42:47 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
		
		<guid isPermaLink="false">http://www.estruyf.be/blog/?page_id=891</guid>
		<description><![CDATA[My CodePlex Projects Here are the links to the CodePlex projects I am involved in: SharePoint Social Tag Counters]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/codeplex-downloads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding Properties to Timer Jobs</title>
		<link>http://www.estruyf.be/blog/adding-properties-to-timer-jobs/</link>
		<comments>http://www.estruyf.be/blog/adding-properties-to-timer-jobs/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 13:40:48 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Timer Jobs]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=803</guid>
		<description><![CDATA[Adding properties to timer jobs could be handy if you want to set the reference to a particular site collection, or if you want to set some parameters that are needed to run the job. You could add these properties just like you would add properties to a SharePoint site. The following code can be used to add a property to the timer job at the creation process. // Create new timer job TimerJob timerJob = new TimerJob&#40;&#34;TimerJobName&#34;, site.WebApplication&#41;; // Add property to timer job timerJob.Properties.Add&#40;&#34;Property_Name&#34;, &#34;Property_Value&#34;&#41;; To read the property in the timer job, you could use the following code. String propertyValue = &#40;string&#41;Properties&#91;&#34;Property_Name&#34;&#93;; Most of the time I use these properties to specify the site collection for which the timer job needs to run, or define a value for querying items.]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/adding-properties-to-timer-jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take your SharePoint social features to the next level with &#8220;I like it&#8221; and &#8220;Tags&#8221; counters: Part 4</title>
		<link>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-4-2/</link>
		<comments>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-4-2/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 08:18:29 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Social Features]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=880</guid>
		<description><![CDATA[My intention was to write three blog posts on this topic, but a commenter told me that a problem arises with blog post items. The counters always return zero. In this part I will show you why this is happening and what you could do to solve this. First of all the reason why it is happening. Reason A standard blog post URL in SharePoint looks like this: http://sp2010/Lists/Posts/Post.aspx?ID=1. Using this URL on the Manage Social Tags and Notes page of my user profile service, it did not return any results. Normally it should return the following items: When I did a query for all the tags from a specific user, I noticed something interesting: The tags are not linked to the Post.aspx page, but to the ViewPost.aspx page: http://sp2010/Lists/Posts/ViewPost.aspx?ID=1. When I checked the URL of the Social Data Frame, I saw that it also used the ViewPost.aspx page as reference. Solution The solution is very simple, you only need to replace the Post.aspx from the URL path with ViewPost.aspx. Here is the code to do this: // Get page URL Uri uri = this.Page.Request.Url; // Check if it is a blog post if &#40;-1 == uri.AbsoluteUri.IndexOf&#40;&#34;post.aspx&#34;, StringComparison.OrdinalIgnoreCase&#41;&#41; &#123; &#160; [...]]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-4-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take your SharePoint social features to the next level with &#8220;I like it&#8221; and &#8220;Tags&#8221; counters: Part 3</title>
		<link>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-3/</link>
		<comments>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-3/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 08:00:56 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Social Features]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=856</guid>
		<description><![CDATA[In the previous parts I showed you how to retrieve all tags for a specific page/item. In this part (the last one) I will show you how you can integrate these tags into your design. This will be the final result: User Control You have various possibilities to show these tag results on your page. One of these possibilities, which I am going to explain, is a user control. The advantage of creating an user control is that you can add the control into your master page, and so it will be displayed on all the pages that uses this master page. My user control looks like this: &#60;style&#62; &#160; &#160; .tagging { &#160; &#160; &#160; &#160; height: 50px; &#160; &#160; &#160; &#160; min-width: 48px; &#160; &#160; } &#160; &#160; .tagging&#62;div { &#160; &#160; &#160; &#160; height: 20px; &#160; &#160; &#160; &#160; padding-left: 24px; &#160; &#160; } &#160; &#160; .tagging .number { &#160; &#160; &#160; &#160; font-size: 16px; &#160; &#160; &#160; &#160; font-weight: bold; &#160; &#160; &#160; &#160; float:left; &#160; &#160; } &#160; &#160; .tags { &#160; &#160; &#160; &#160; background: #E7E7E8 url(/_layouts/images/socialtag.png) no-repeat 4px center; &#160; &#160; &#160; &#160; margin-bottom: 7px; &#160; &#160; } &#160; &#160; .likes { &#160; [...]]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Take your SharePoint social features to the next level with &#8220;I like it&#8221; and &#8220;Tags&#8221; counters: Part 2</title>
		<link>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-2/</link>
		<comments>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-2/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 08:00:54 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Social Features]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=842</guid>
		<description><![CDATA[In the previous part I talked about retrieving the number of tags by code. The problem was that the GetTags method from the SocialTagManager class, could only retrieve tags from a specific user. In this part I show you a way to retrieve the all the tags for a specific location/page. Decompile My first step was to check the SocialTagManager class to see the code of the GetTags methods. The SocialTagManager class can be found in the Microsoft.Office.Server.UserProfiles.dll. The SocialTagManager class contains 13 GetTags methods, and only four of them are public. The method that could retrieve all the tags (a maximum of 1000) is the following GetTags(Uri url, Int32 maximumItemsToReturn, SocialItemPrivacy socialItemPrivacy). It seems that this method does not use the current user of a specific user to filter the tags. The only problem is that this is an internal method. The solution is to use reflection, this will allow you to make use of the GetTags(Uri url, Int32 maximumItemsToReturn, SocialItemPrivacy socialItemPrivacy) method. Reflection More information about reflection can be found here. The first thing you need to do is retrieving all the nonpublic methods of your SocialTagManager class. This can be done as follows: // Retrieve the type [...]]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take your SharePoint social features to the next level with &#8220;I like it&#8221; and &#8220;Tags&#8221; counters: Part 1</title>
		<link>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-1/</link>
		<comments>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-1/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 18:08:05 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Social Features]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=832</guid>
		<description><![CDATA[Social media is a trending topic these days, more and more companies start to use it. As you may know, SharePoint 2010 also got social features like for example: tagging, I like it, social comments, etc. But these social features are nothing compared to the social features like Facebook. When somebody &#8220;likes&#8221; a page or &#8220;tags&#8221; a page, it is not displayed to the other users. They can only see it when they click on the Tags and Notes button, or check the activity feed from a specific user on its My Site. When you click on the Tags and Notes button, the following location will be opened in a dialog box: /_layouts/socialdataframe.aspx?Url=http://your_page&#38;Title=Home&#38;mode=0&#38;IsDlg=1 Another way to quickly check which tags have been created, is to navigate to the Manage Social Tags and Notes page. This page can be found here: Central Administration -&#62; Manage service applications -&#62; open your User Profile Service Application -&#62; Manage Social Tags and Notes. On this page you can create your own tagging queries. The previous page can only be accessed when you are a SharePoint administrator. What I want to achieve with this blog post series is to create something like this: This can [...]]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/take-your-sharepoint-social-features-to-the-next-level-with-i-like-it-and-tags-counters-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data View Web Part: Create a Google Chart With XSLT</title>
		<link>http://www.estruyf.be/blog/data-view-web-part-create-a-google-chart-with-xslt/</link>
		<comments>http://www.estruyf.be/blog/data-view-web-part-create-a-google-chart-with-xslt/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 07:31:31 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint Designer]]></category>
		<category><![CDATA[Web Part]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Chart]]></category>
		<category><![CDATA[Pie]]></category>
		<category><![CDATA[Visualisation]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=793</guid>
		<description><![CDATA[In this post I will explain how you could create a Google Pie Chart with the use of XSLT. The data that I am going to visualize are the tasks statuses, so that you get an overview of all the tasks. The pie chart that will be used is the following: Pie Chart. What do you need? You only need to have SharePoint 2010 Designer and a standard task list with a couple of items in it. Actions Step 1. Open your site in SharePoint 2010 Designer. Step 2. Open the page were you want to put your chart in edit mode. Step 3. Insert an Empty Data View by selecting the Insert Tab and click on Data View -&#62; Empty Data View. Step 4. Click on the Click here to select a data source link and select the task list you want to use. Step 5. Now that you have selected the list, the data source connection can be made by selecting some fields (Title and Status) and adding them as Multiple Item View to the data view. The result of your added fields should look something like this (based on which items are in your list). Step 6. [...]]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/data-view-web-part-create-a-google-chart-with-xslt/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fix: Open in New Tab not Available in the Right-Click menu of Internet Explorer</title>
		<link>http://www.estruyf.be/blog/fix-open-in-new-tab-not-available-in-the-right-click-menu-of-internet-explorer/</link>
		<comments>http://www.estruyf.be/blog/fix-open-in-new-tab-not-available-in-the-right-click-menu-of-internet-explorer/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 20:00:15 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Branding]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Navigation]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=781</guid>
		<description><![CDATA[This week a client made me aware that links in the top navigation and in the quick launch (from SharePoint 2010) cannot be opened in a new tab from the Right-Click menu of Internet Explorer. If you try to do it, the option is not available. If you do it on a regular link, you should get the following Right-Click menu. If we check the HTML code of a top navigation or quick launch item, you will see that two spans are encapsulated by an anchor tag. &#60;a class=&#34;static menu-item&#34; href=&#34;/Lists/Team%20Discussion/AllItems.aspx&#34;&#62; &#60;span class=&#34;additional-background&#34;&#62; &#60;span class=&#34;menu-item-text&#34;&#62;Team Discussion&#60;/span&#62; &#60;/span&#62; &#60;/a&#62; The spans are displayed as block by the corev4 CSS file, and this CSS attribute seems to be causing the problem. The solution is to display the spans as inline elements instead of block elements. You can add the following CSS code to your master page or custom style sheet to solve the issue. .menu .menu-item .additional-background, .menu .menu-item .additional-background .menu-item-text &#123; &#160; &#160; &#160; &#160; display: inline !important; &#125;]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/fix-open-in-new-tab-not-available-in-the-right-click-menu-of-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reuse Page Ribbon Actions (PageStateCommands) Outside the Ribbon</title>
		<link>http://www.estruyf.be/blog/762/</link>
		<comments>http://www.estruyf.be/blog/762/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 18:16:52 +0000</pubDate>
		<dc:creator>estruyf</dc:creator>
				<category><![CDATA[Branding]]></category>
		<category><![CDATA[Ribbon]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Check In]]></category>
		<category><![CDATA[Custom Action]]></category>
		<category><![CDATA[Page State]]></category>
		<category><![CDATA[Publishing Page]]></category>

		<guid isPermaLink="false">http://www.estruyf.be/blog/?p=762</guid>
		<description><![CDATA[This week I searched for a solution to reuse the page action buttons from the ribbon (Edit Page, Check In, Publish) in a page layout. It was a request of a client that wanted to make the page actions available on the page itself, so that it simplifies the creation/editing/publication process for the users. I started by searching for the Check In action. When you check in a document from the Library Tools tab, you are directed to the checkin.aspx page. You could also use the following SharePoint Webcontrol: &#60;SharePoint:CheckInCheckOutButton ID=&#34;btnCheckInCheckOut&#34; runat=&#34;server&#34; ControlMode=&#34;Display&#34; /&#62; But the Check In ribbon action on a page does something else. It opens the following modal dialog: In this dialog you only need to add a comment (if you want to), and you are done. This meant that more research was needed. After some debugging, I saw that the Check In ribbon action had the following commandId: PageStateGroupCheckin. With some help from Kai, I found the correct JavaScript function that is called to open the modal dialog and change the page state. SP.Ribbon.PageState.Handlers.showStateChangeDialog&#40;properties&#91;&#8216;CommandValueId&#8217;&#93;, SP.Ribbon.PageState.ImportedNativeData.CommandHandlers&#91;properties&#91;&#8216;CommandValueId&#8217;&#93;&#93;&#41; The make the Check In function work, you need to change the &#8220;properties['CommandValueId']&#8221; with the ribbon action command ID (PageStateGroupCheckin). SP.Ribbon.PageState.Handlers.showStateChangeDialog&#40;&#34;PageStateGroupCheckin&#34;, [...]]]></description>
		<wfw:commentRss>http://www.estruyf.be/blog/762/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

