<?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>The UC Corner</title>
	<atom:link href="http://www.uccorner.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.uccorner.com</link>
	<description>Unified Communications: Sharepoint, OCS, mobile communications and collaboration.</description>
	<lastBuildDate>Sat, 19 May 2012 11:31:08 +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>Sharepoint 2010 Web Part Best Practise &#8211; Part 1 &#8211; Site Directory Sandbox version</title>
		<link>http://www.uccorner.com/269/sharepoint/sharepoint-2010-web-part-best-practise-part-1-site-directory-sandbox-version/</link>
		<comments>http://www.uccorner.com/269/sharepoint/sharepoint-2010-web-part-best-practise-part-1-site-directory-sandbox-version/#comments</comments>
		<pubDate>Fri, 18 May 2012 14:43:26 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Foundation 2010]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[web part]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=269</guid>
		<description><![CDATA[<p>You can find a lot of recipes for Sharepoint Web Parts on the internet. Surprisingly, many people skip the basic parts that makes your solutions look professional. This blog post is going to show you how to develop a web part the way it should be, not just something you use for testing in your [...]]]></description>
			<content:encoded><![CDATA[<p>You can find a lot of recipes for Sharepoint Web Parts on the internet. Surprisingly, many people skip the basic parts that makes your solutions look professional. This blog post is going to show you how to develop a web part the way it should be, not just something you use for testing in your own environment. We&#8217;re going to:</p>
<ul>
<li>Add a good title and description for the web part &#8211; extremely easy but often overlooked</li>
<li>Add a good title and description for the feature</li>
<li>Add an icon for the web part that is displayed when adding the web part and on the web part itself</li>
<li>Change the group the web part is displayed in</li>
<li>Add an icon for the feature to display when listing/activating/deactivating the feature</li>
<li>Functionality to remove the web part from web part gallery when feature is deactivated or removed</li>
</ul>
<p>As you probably have guessed, we are using Visual Studio 2010 to develop the web part.</p>
<ol>
<li> Create a new, empty project in Visual Studio. Choose a describing name, I use &#8220;UCCornerSiteDirectory&#8221; in this example. Choose to make this a sandboxed solution. You have now a empty project and can add the parts that you want.</li>
<li>First, we will add our icon files. Because this is a sandboxed solution, we cannot deploy the image files to the file system, but we can still accomplish this very easy and without shortcuts. Right-click your project and choose Add &#8211; New Item:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/add.png"><img class="size-full wp-image-271 alignnone" title="add" src="http://www.uccorner.com/wp-content/uploads/2012/05/add.png" alt="" width="646" height="243" /><br />
</a></li>
<li>Choose to add a Module. I call the module &#8220;UCAssetsModule&#8221;.</li>
<li>Now we will add icon image files to the project. I use a 16&#215;16 pixel PNG image for the web part icon, and a 32&#215;32 pixel PNG image for the feature icon. Be clever and use transparent background in your PNG &#8211; it is not always displayed with white background!<br />
To do this, right-click the module you just created and choose Add &#8211; Existing item:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/existing.png"><img class="size-full wp-image-273 alignnone" title="existing" src="http://www.uccorner.com/wp-content/uploads/2012/05/existing.png" alt="" width="544" height="260" /></a><br />
Now find and select the two icon files you have prepared. You will see the files are added to the module:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/added.png"><img class="size-full wp-image-274 alignnone" title="added" src="http://www.uccorner.com/wp-content/uploads/2012/05/added.png" alt="" width="172" height="84" /></a>Delete the Sample.txt file. You will see the elements file for the module is automaticall updated.<br />
<span id="more-269"></span></li>
<li> Now we have to make sure these files are available in the asset library in the site collection. Add Url=&#8221;SiteAssets&#8221; to the Module tag, and the the Url in File Path tag to something sensible. These two will together be the URL that you use to reference the icons later on:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/assets1.png"><img class="size-full wp-image-286 alignnone" title="assets" src="http://www.uccorner.com/wp-content/uploads/2012/05/assets1.png" alt="" width="602" height="119" /></a><a href="http://www.uccorner.com/wp-content/uploads/2012/05/assets.png"><br />
</a></li>
<li> You will now see that a feature has automatically been created. Rename this feature to something sensible. This feature will only contain one web part, so I call it SiteDirectoryWebPart:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/feature.png"><img class="size-full wp-image-277 alignnone" title="feature" src="http://www.uccorner.com/wp-content/uploads/2012/05/feature.png" alt="" width="290" height="68" /></a></li>
<li>Now it&#8217;s time to give the feature a sensible display name, description and change the scope. Double-click the feature you just renamed and change the name and description. What you enter here is what you see in the list of Site Collection Features in you site collection. Also, change the scope to Site. This is necessary since this feature will contain a web part:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/featuredesc.png"><img class="size-full wp-image-278 alignnone" title="featuredesc" src="http://www.uccorner.com/wp-content/uploads/2012/05/featuredesc.png" alt="" width="430" height="130" /></a></li>
<li>We also need to make sure the feature uses the icon we added. There are several ways to edit the features elements file. For example double-click your feature, click Manifest down at the bottom and click the + sign next to &#8220;Edit Options&#8221;. <em>Inside</em>the feature tag, add the URL to the icon. The URL to the icons are composed by the Module URL and the File URL that you set when adding the icons to your module:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/featureicon.png"><img class="size-full wp-image-287 alignnone" title="featureicon" src="http://www.uccorner.com/wp-content/uploads/2012/05/featureicon.png" alt="" width="803" height="125" /></a><br />
The trick here is to add the ../../ to the URL. Otherwise, Sharepoint will reference a location in the file system (the layouts folder), and since this is a sandboxed solution we have not and cannot deploy any images there. By moving &#8220;up&#8221; two levels we are directed to the right location without having to use JavaScript or other workaround to accomplish our goals, but can do it without any ugly workarounds.</li>
<li><a href="http://www.uccorner.com/wp-content/uploads/2012/05/featuredesc.png">N</a>ow it&#8217;s time to add the web part. Right-click your project again and choose Add &#8211; New Item. Choose &#8220;Web Part&#8221; and give it a describing name. I chose &#8220;SiteDirectoryWebPart&#8221;.</li>
<li>Double-click the web parts elements file and change the Group property to something you prefer, for example the customer name or your company name.<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/group.png"><img class="size-full wp-image-279 alignnone" title="group" src="http://www.uccorner.com/wp-content/uploads/2012/05/group.png" alt="" width="760" height="135" /></a></li>
<li> We will now make sure the icons we added earlier are used for this web part. Double-click the webparts webpart file:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/webpart.png"><img class="size-full wp-image-280 alignnone" title="webpart" src="http://www.uccorner.com/wp-content/uploads/2012/05/webpart.png" alt="" width="290" height="83" /><br />
</a></li>
<li>Add the properties &#8220;CatalogIconImageUrl and TitleIconImageUrl:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/webparticon1.png"><img class="size-full wp-image-282 alignnone" title="webparticon" src="http://www.uccorner.com/wp-content/uploads/2012/05/webparticon1.png" alt="" width="891" height="155" /></a>The CatalogIconImageUrl is the icon that is displayed when displaying the web part catalog (when adding the web part to a page). The TitleIconImageUrl is the icon that is displayed on the web part itself. These can naturally be diferent if you prefer. The URL to the icons are composed by the Module URL and the File URL that you set when adding the icons to your module.As you can see I have also set the Title and the web part to something more sensible than the default.</li>
<li>Puh! &#8211; only one thing remains: make sure the web part is removed when the feature . We will need an Event Receiver for this. Right-click your feature and choose Add Event Receiver:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/receiver.png"><img class="size-full wp-image-284 alignnone" title="receiver" src="http://www.uccorner.com/wp-content/uploads/2012/05/receiver.png" alt="" width="445" height="75" /></a><br />
Open your Event Receiver cs file and uncomment the FeatureDeactivating method, and add the following code:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/deletewebpart.png"><img class="size-full wp-image-285 alignnone" title="deletewebpart" src="http://www.uccorner.com/wp-content/uploads/2012/05/deletewebpart.png" alt="" width="928" height="359" /></a><br />
Add the same code to the FeatureUninstalling method, and you are sure that the web parts will be removed from the web part gallery both if the feature is deactivated, or if the solution is deactivated without deactivating the feature.</li>
<li>Now you are ready to see the web part (which does absolutely nothing yet) in action! Right-click your solution and choose deploy. I never have typos, so I always deploy successfully on the first try. Open the site you chose to debug on, and choose Site Actions &#8211; Site Settings &#8211; Site collection features and see that you are already better in making professional looking solutions that most developers:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/featuresicon.png"><img class="size-full wp-image-289 alignnone" title="featuresicon" src="http://www.uccorner.com/wp-content/uploads/2012/05/featuresicon.png" alt="" width="733" height="71" /></a><br />
Since we deployed via Visual Studio, the feature is already activated.Go back to your site and insert the web part to a page:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/webpartadding.png"><img class="size-full wp-image-291 alignnone" title="webpartadding" src="http://www.uccorner.com/wp-content/uploads/2012/05/webpartadding.png" alt="" width="783" height="203" /></a><br />
As you can see, we have an icon for the web part, it&#8217;s in it&#8217;s own category, it has a sensible name and description!Lastly, the web part itself also has my nice icon:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2012/05/webpartonpage.png"><img class="size-full wp-image-292 alignnone" title="webpartonpage" src="http://www.uccorner.com/wp-content/uploads/2012/05/webpartonpage.png" alt="" width="289" height="67" /></a>Voila! The web part doesn&#8217;t do much yet, but if you save this Visual Studio project and use it as a template, you&#8217;ll have the perfect starting point each time you are creating a web part.Lastly, if you either deactivate the feature or remove the solution directly from the site collection, the web part is also removed from the web part gallery (Galleries &#8211; Web Parts in Site Settings)..I hope you found this post interesting. The next post in the Web Part Best Practise Series will be how to add custom properties to you web part.</li>
</ol>
<p>I did some performance testing compared to another empty web part where no properties had been set/changed. The variation in performance seems to be less than 0.1 ms, and not necessarily in the blank/default web parts favour. So performance is definately not a reason to skip these basic steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/269/sharepoint/sharepoint-2010-web-part-best-practise-part-1-site-directory-sandbox-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cascading Drop Down Sharepoint Foundation 2010</title>
		<link>http://www.uccorner.com/253/sharepoint/cascading-drop-down-sharepoint-foundation-2010/</link>
		<comments>http://www.uccorner.com/253/sharepoint/cascading-drop-down-sharepoint-foundation-2010/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 09:27:57 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Foundation 2010]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[cascading drop down]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=253</guid>
		<description><![CDATA[<p>After the release of Sharepoint 2010, the request for Cascading Drop Down, filtered drop down, dependent drop down or what you call them is not so common anymore. The reason for this is of course the Managed Metadata Service, which is included in Sharepoint Server 2010.</p> <p>There are still times, however, when you&#8217;d want to use the functionality [...]]]></description>
			<content:encoded><![CDATA[<p>After the release of Sharepoint 2010, the request for Cascading Drop Down, filtered drop down, dependent drop down or what you call them is not so common anymore. The reason for this is of course the Managed Metadata Service, which is included in Sharepoint Server 2010.</p>
<p>There are still times, however, when you&#8217;d want to use the functionality below to filter your drop downs. If you for instance are running Sharepoint Foundation, not Server, you won&#8217;t have the Managed Metadata Service available at all. Or perhaps you are running server, but you want to use list data and not terms from the term store.</p>
<p><strong><a title="Cascading Drop down 2007" href="http://www.uccorner.com/54/sharepoint/cascading-drop-down/">Read more about Cascading Drop Down in my previous post for Sharepoint 2007.</a></strong></p>
<p><strong>The solution<br />
</strong>The solution below is tested with Sharepoint 2010, and is basically the same procedure as the one for 2007. The list is still standard Sharepoint, which gives great flexibility and stability. This way, the filtering is done in the forms for creating and editing elements. Because of this, you don&#8217;t even have access to the server to implement this.</p>
<p><em>1. Add the Jacascript</em><br />
Download the Jquery file <a href="http://code.jquery.com/jquery-1.6.2.min.js" target="_blank">jquery-1.6.2.min.js</a> by Jquery.com. Download <a title="jquery" href="http://spservices.codeplex.com/" target="_blank">jquery.SPServices-0.6.2.zip</a> from the Jquery Library for Sharepoint Codeplex site (newer version is probably also OK). Upload jquery-1.6.2.min.js and jquery.SPServices-0.6.2.min.js (from the zip file) to a document library that everyone accessing your site has access to (a library on the top level site can be wise).</p>
<p><em>2. Create your relationship lists</em><br />
Make two lists, one for the parent (Country) and one for the child (City):</p>
<p>Countries list:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2011/07/countries.png"><img class="alignnone size-full wp-image-255" title="countries list" src="http://www.uccorner.com/wp-content/uploads/2011/07/countries.png" alt="" width="226" height="110" /></a></p>
<p>Cities list:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2011/07/cities.png"><img class="alignnone size-full wp-image-256" title="cities" src="http://www.uccorner.com/wp-content/uploads/2011/07/cities.png" alt="" width="478" height="181" /></a><br />
The Country column can be a look up from the Countries list, but you can just as well use a standard single line of  text column, which I have done here. This can theoretically give better performance, but you must of course be precise when filling out the County column so that the values here matches the ones in the Countries list.</p>
<p><em>3. Create the list that is actually using the Drop Down</em></p>
<p>Vacation Plans list:<br />
<a href="http://www.uccorner.com/wp-content/uploads/2011/07/vacation-plans.png"><img class="alignnone size-full wp-image-257" title="vacation plans" src="http://www.uccorner.com/wp-content/uploads/2011/07/vacation-plans.png" alt="" width="607" height="47" /></a></p>
<p>This is the list where I want my Cascading Drop Downs. Country and City are lookup columns against Countries and Cities lists. The lookups goes against the title field in the respective columns.</p>
<p><em>4. Make the magic happen<br />
</em>In Sharepoint Designer, create your own NewForm.aspx (or EditForm.aspx, you&#8217;ll need both if you want it to work when editing items). Editing forms is a lot easier now with Designer 2010.</p>
<pre>Just below
&lt;asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"&gt;</pre>
<p>insert this code:</p>
<pre>&lt;script language="javascript" type="text/javascript" src="/address to document library/jquery-1.6.2.min.js"&gt;&lt;/script&gt;
&lt;script language="javascript" type="text/javascript" src="/address to document library/jquery.SPServices-0.0.6.min.js"&gt;&lt;/script&gt;
&lt;script language="javascript" type="text/javascript"&gt;
 $(document).ready(function() {
  $().SPServices.SPCascadeDropdowns({
   relationshipList: "Cities",
   relationshipListParentColumn: "Country",
   relationshipListChildColumn: "Title",
   parentColumn: "Country",
   childColumn: "City",
   debug: true
  });

 });
&lt;/script&gt;

Save and create a new item using your new form:</pre>
<p><a href="http://www.uccorner.com/wp-content/uploads/2011/07/vacation.png"><img class="alignnone size-full wp-image-259" title="vacation" src="http://www.uccorner.com/wp-content/uploads/2011/07/vacation.png" alt="" width="627" height="364" /></a><br />
Voila!</p>
<p><em>5.Explained</em>:<br />
relationshipList: &#8220;Cities&#8221; : this is the name of the relationship list = the list containing parent and child<br />
relationshipListParentColumn: &#8220;Country&#8221; : Column name from the Cities list<br />
relationshipListChildColumn: &#8220;Title&#8221; : Column name from the Cities list<br />
parentColumn: &#8220;Country&#8221;: Column name from the list where the drop down is = Vacation Plans<br />
childColumn: &#8220;City&#8221;: Column name from the list where the drop down is = Vacation Plans</p>
<p>You have lost of other options explained at the <a href="http://spservices.codeplex.com/wikipage?title=%24%28%29.SPServices.SPCascadeDropdowns&amp;referringTitle=Documentation" target="_blank">project site on Codeplex</a> like sorting, multiple levels and so on.</p>
<p>Thanks to <a href="http://mdasblog.wordpress.com">Marc D. Anderson</a> for making this available.</p>
<p><em>I tested this on Sharepoint Server Enterprise 2010 with Service Pack 1 installed. It should work just as fine on Sharepoint Foundation. My installation is English Sharepoint with Norwegian Language Pack, but pure English should be jsut as fine.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/253/sharepoint/cascading-drop-down-sharepoint-foundation-2010/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>KDC_ERR_S_PRINCIPAL_UNKNOWN</title>
		<link>http://www.uccorner.com/242/sharepoint/kdc_err_s_principal_unknown/</link>
		<comments>http://www.uccorner.com/242/sharepoint/kdc_err_s_principal_unknown/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 14:27:39 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[kerberos]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=242</guid>
		<description><![CDATA[<p>I got this error in the event log on a fresh Sharepoint Server 2010 February Cumulative Update installation:</p> A Kerberos Error Message was received: on logon session Client Time: Server Time: 17:6:26.0000 4/2/2011 Z Error Code: 0x7 KDC_ERR_S_PRINCIPAL_UNKNOWN Extended Error: 0xc0000035 KLIN(0) Client Realm: Client Name: Server Realm: DOMAIN.LOCAL Server Name: MSSQLSvc/sqlserver.domain.local:1433 Target Name: MSSQLSvc/sqlserver.domain.local:1433@DOMAIN.LOCAL [...]]]></description>
			<content:encoded><![CDATA[<p>I got this error in the event log on a fresh Sharepoint Server 2010 February Cumulative Update installation:</p>
<pre>A Kerberos Error Message was received:
 on logon session
 Client Time:
 Server Time: 17:6:26.0000 4/2/2011 Z
 Error Code: 0x7 KDC_ERR_S_PRINCIPAL_UNKNOWN
 Extended Error: 0xc0000035 KLIN(0)
 Client Realm:
 Client Name:
 Server Realm: DOMAIN.LOCAL
 Server Name: MSSQLSvc/sqlserver.domain.local:1433
 Target Name: MSSQLSvc/sqlserver.domain.local:1433@DOMAIN.LOCAL
 Error Text:
 File: 9
 Line: f09
 Error Data is in record data.</pre>
<p>Solution:</p>
<p><span id="more-242"></span>The error is due to a dual SPN entry. I found this with</p>
<pre>ldifde -f dump_spn.txt -d "dc=domain,dc=local" -p subtree -r "(servicePrincipalName=MSSQLSvc/sharepointsql*)" -l servicePrincipalName</pre>
<p>I found that another account in addition to the SQL Server Service account had registered a SPN.</p>
<p>This was removed with adsiedit.msc: Navigate to the correct OU/User, and remove the servicePrinicpalName entry.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/242/sharepoint/kdc_err_s_principal_unknown/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Review Samsung Wave II S8530</title>
		<link>http://www.uccorner.com/239/mobile/review-samsung-wave-ii-s8530/</link>
		<comments>http://www.uccorner.com/239/mobile/review-samsung-wave-ii-s8530/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 18:10:49 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Mobile Communications]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[bada]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=239</guid>
		<description><![CDATA[<p>I have written a review of Samsung Wave II (S8530). This is a nice phone with an excellent screen, good flow in the menus and also some nice perks in the Bada menus. Unfortunately the data connection does not seem to be completely stable.</p> <p>Otherwise, this is a great phone for not so much money.</p> [...]]]></description>
			<content:encoded><![CDATA[<p>I have written a review of Samsung Wave II (S8530). This is a nice phone with an excellent screen, good flow in the menus and also some nice perks in the Bada menus. Unfortunately the data connection does not seem to be completely stable.</p>
<p>Otherwise, this is a great phone for not so much money.</p>
<p>Read the review (in Norwegian) in <a href="http://www.vg.no/teknologi/artikkel.php?artid=10083480" target="_blank">VG</a>.</p>
<p>Read the complete review (in Norwegian) in <a href="http://www.amobil.no/artikler/samsung_wave_ii/93208" target="_blank">Amobil</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/239/mobile/review-samsung-wave-ii-s8530/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Content Query Web Part &#8211; image on left with formatted date and description</title>
		<link>http://www.uccorner.com/231/sharepoint/content-query-web-part-image-on-left-with-formatted-date-and-description/</link>
		<comments>http://www.uccorner.com/231/sharepoint/content-query-web-part-image-on-left-with-formatted-date-and-description/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 18:38:19 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint 2007]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[cqwp]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[itemstyle]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=231</guid>
		<description><![CDATA[<p>There are tons of blog posts about using the Content Query Web Part to show for example news from an Announcement list. I myself learned a lot from this Heather Solomon post a couple of years ago.</p> <p>In this post I am going to show you step by step how to create an Item Style [...]]]></description>
			<content:encoded><![CDATA[<p>There are tons of blog posts about using the Content Query Web Part to show for example news from an Announcement list. I myself learned a lot from <a href="http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx" target="_blank">this </a>Heather Solomon post a couple of years ago.</p>
<p>In this post I am going to show you step by step how to create an Item Style for your CQWP that displays an announcements image, title, date and the first 250 characters of the description. This works for Sharepoint Server 2010, and unlike 2007 you don&#8217;t have to export the CQWP and change the code &#8211; no notepad this time!</p>
<p>&nbsp;</p>
<p>1. For best practise, I created my own Content Type inheriting from the Announcement Content Type. Lets call this <em>CompanyAnnoucement</em>. To <em>CompanyAnnoucement </em>I added an existing site colum: <em>Rollup Image</em>. Add <em>CompanyAnnoucement </em>to the list(s) you want. If lots of people needs direction on this step, I&#8217;ll make a blog post about it.</p>
<p><span id="more-231"></span></p>
<p>&nbsp;</p>
<p>2. Open your top-level site in Sharepoint Designer, click &#8220;All Files &#8211; Style Library &#8211; XSL Style Sheets &#8211; ItemStyle.xsl&#8221; and click <em>Edit </em>(Also, make a copy here before you make any changes, if you break this file, e.g. have a typo, none of your CQWP&#8217;s will work and display this error message:</p>
<p><em>Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator.</em></p>
<p>&nbsp;</p>
<p>3. In the top of the file, add this line so we can format the date further down the road:</p>
<pre>xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"</pre>
<p>&nbsp;</p>
<p>4. Copy the Default Template (This is the &#8220;Image on Left&#8221; style).  Change the first line to</p>
<pre>&lt;xsl:template name="CompanyAnnouncement" match="Row[@Style='CompanyAnnouncement']" mode="itemstyle"&gt;</pre>
<p>&nbsp;</p>
<p>5.  Add this at the bottom of the variables section:</p>
<pre>&lt;xsl:variable name="Created"&gt; &lt;xsl:value-of select="ddwrt:FormatDateTime(string(@Created) ,1033 ,'dd.MM.yyyy')" /&gt;&lt;/xsl:variable&gt;</pre>
<p>&nbsp;</p>
<p>6. Change the title-part (the xsl:value-of select=&#8221;$DisplayTitle&#8221;-section to:</p>
<pre>&lt;strong&gt;&lt;xsl:value-of select="$DisplayTitle"/&gt; - &lt;xsl:value-of select="$Created"/&gt;&lt;/strong&gt;&lt;/a&gt;
&lt;div&gt; &lt;xsl:value-of select="substring(@Description,1,250)" disable-output-escaping="yes" /&gt;&lt;xsl:if test="string-length(@Description) &amp;gt; 250"&gt;...&lt;/xsl:if&gt;&lt;/div&gt;

<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; white-space: normal;">This displays the created-date in your previously specified format, and the first 250 characters of the description, and ... if there are more text in the description than being displayed.
</span><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; white-space: normal;">Save and remember to publish ItemStyle.xsl!</span></pre>
<p>&nbsp;</p>
<p>7. Add a CQWP where you want it. In the CQWP settings, set the <em>Source </em>under <em>Query </em>as you like.</p>
<p>Under <em>Presentation &#8211; Styles &#8211; Item style</em>, choose <em>CompanyAnnouncement </em>that you should see here now.</p>
<p>Under <em>Fields to display</em>, set <em>Image </em>to <em>&#8220;Rollup Image;&#8221;</em>, <em>Title </em>to &#8220;<em>Title</em>&#8221; (both should already be set), and <em>Description </em>to &#8220;<em>Body</em>;&#8221;.</p>
<p>Click OK and you&#8217;re set to go:</p>
<p>&nbsp;</p>
<p>﻿<a href="http://www.uccorner.com/wp-content/uploads/2011/03/CQWP.png"><img class="alignnone size-full wp-image-232" title="CQWP" src="http://www.uccorner.com/wp-content/uploads/2011/03/CQWP.png" alt="" width="698" height="66" /></a></p>
<p>And yes &#8211; you are free to style this more beautiful than I can:)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>If you don&#8217;t want to enter Sharepoint Designer and do this without code (and without being able to style the output yourself and including date, you can take a look at <a href="http://blogs.msdn.com/b/mvpawardprogram/archive/2011/05/23/mvps-for-sharepoint-2010-rolling-up-news-articles-in-sharepoint-server-2010-with-the-content-query-web-part.aspx" target="_blank">this</a> blog post.</p>
<p>&nbsp;</p>
<p><strong><em>Update: complete code below</em></strong></p>
<p>Here is the code in part 3), starting from the absolute top of ItemStyle.xsl:</p>
<p>&lt;xsl:stylesheet   version=&#8221;1.0&#8243;<br />
exclude-result-prefixes=&#8221;x d xsl msxsl cmswrt&#8221;<br />
xmlns:ddwrt=&#8221;http://schemas.microsoft.com/WebParts/v2/DataView/runtime&#8221;<br />
xmlns:x=&#8221;http://www.w3.org/2001/XMLSchema&#8221;<br />
xmlns:d=&#8221;http://schemas.microsoft.com/sharepoint/dsp&#8221;<br />
xmlns:cmswrt=&#8221;http://schemas.microsoft.com/WebParts/v3/Publishing/runtime&#8221;<br />
xmlns:xsl=&#8221;http://www.w3.org/1999/XSL/Transform&#8221;<br />
xmlns:msxsl=&#8221;urn:schemas-microsoft-com:xslt&#8221;&gt;</p>
<p>&nbsp;</p>
<p>And here is the code in part 4)-6), starting just below the closing tag of the Default template. In my ItemStyle this is line 82.</p>
<p>&lt;xsl:template name=&#8221;CompanyAnnouncement&#8221; match=&#8221;Row[@Style='CompanyAnnouncement']&#8221; mode=&#8221;itemstyle&#8221;&gt;<br />
&lt;xsl:variable name=&#8221;SafeLinkUrl&#8221;&gt;<br />
&lt;xsl:call-template name=&#8221;OuterTemplate.GetSafeLink&#8221;&gt;<br />
&lt;xsl:with-param name=&#8221;UrlColumnName&#8221; select=&#8221;&#8216;LinkUrl&#8217;&#8221;/&gt;<br />
&lt;/xsl:call-template&gt;<br />
&lt;/xsl:variable&gt;<br />
&lt;xsl:variable name=&#8221;SafeImageUrl&#8221;&gt;<br />
&lt;xsl:call-template name=&#8221;OuterTemplate.GetSafeStaticUrl&#8221;&gt;<br />
&lt;xsl:with-param name=&#8221;UrlColumnName&#8221; select=&#8221;&#8216;ImageUrl&#8217;&#8221;/&gt;<br />
&lt;/xsl:call-template&gt;        &lt;/xsl:variable&gt;        &lt;xsl:variable name=&#8221;DisplayTitle&#8221;&gt;<br />
&lt;xsl:call-template name=&#8221;OuterTemplate.GetTitle&#8221;&gt;<br />
&lt;xsl:with-param name=&#8221;Title&#8221; select=&#8221;@Title&#8221;/&gt;<br />
&lt;xsl:with-param name=&#8221;UrlColumnName&#8221; select=&#8221;&#8216;LinkUrl&#8217;&#8221;/&gt;<br />
&lt;/xsl:call-template&gt;<br />
&lt;/xsl:variable&gt;<br />
&lt;xsl:variable name=&#8221;Created&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;ddwrt:FormatDateTime(string(@Created) ,1044 ,&#8217;dd.MM.yyyy&#8217;)&#8221; /&gt;<br />
&lt;/xsl:variable&gt;<br />
&lt;div&gt;<br />
&lt;xsl:if test=&#8221;string-length($SafeImageUrl) != 0&#8243;&gt;<br />
&lt;div&gt;<br />
&lt;a href=&#8221;{$SafeLinkUrl}&#8221; onclick=&#8221;return OpenDialog(&#8216;{$SafeLinkUrl}&#8217;);&#8221;&gt;<br />
&lt;xsl:if test=&#8221;$ItemsHaveStreams = &#8216;True&#8217;&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;onclick&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;@OnClickForWebRendering&#8221;/&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;/xsl:if&gt;<br />
&lt;xsl:if test=&#8221;$ItemsHaveStreams != &#8216;True&#8217; and @OpenInNewWindow = &#8216;True&#8217;&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;onclick&#8221;&gt;<br />
&lt;xsl:value-of disable-output-escaping=&#8221;yes&#8221; select=&#8221;$OnClickTargetAttribute&#8221;/&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;/xsl:if&gt;<br />
&lt;img src=&#8221;{$SafeImageUrl}&#8221; title=&#8221;{@ImageUrlAltText}&#8221;&gt;<br />
&lt;xsl:if test=&#8221;$ImageWidth != &#8221;&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;width&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;$ImageWidth&#8221; /&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;/xsl:if&gt;<br />
&lt;xsl:if test=&#8221;$ImageHeight != &#8221;&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;height&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;$ImageHeight&#8221; /&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;/xsl:if&gt;<br />
&lt;/img&gt;<br />
&lt;/a&gt;<br />
&lt;/div&gt;<br />
&lt;/xsl:if&gt;<br />
&lt;div&gt;<br />
&lt;xsl:call-template name=&#8221;OuterTemplate.CallPresenceStatusIconTemplate&#8221;/&gt;<br />
&lt;a href=&#8221;{$SafeLinkUrl}&#8221; title=&#8221;{@LinkToolTip}&#8221; onclick=&#8221;return OpenDialog(&#8216;{$SafeLinkUrl}&#8217;);&#8221;&gt;<br />
&lt;xsl:if test=&#8221;$ItemsHaveStreams = &#8216;True&#8217;&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;onclick&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;@OnClickForWebRendering&#8221;/&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;/xsl:if&gt;<br />
&lt;xsl:if test=&#8221;$ItemsHaveStreams != &#8216;True&#8217; and @OpenInNewWindow = &#8216;True&#8217;&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;onclick&#8221;&gt;<br />
&lt;xsl:value-of disable-output-escaping=&#8221;yes&#8221; select=&#8221;$OnClickTargetAttribute&#8221;/&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;/xsl:if&gt;<br />
&lt;strong&gt;<br />
&lt;xsl:value-of select=&#8221;$DisplayTitle&#8221;/&gt; &#8211;  &lt;xsl:value-of select=&#8221;$Created&#8221;/&gt;&lt;/strong&gt; &lt;/a&gt;<br />
&lt;div&gt;<br />
&lt;xsl:value-of select=&#8221;substring(@Description,1,250)&#8221; disable-output-escaping=&#8221;yes&#8221; /&gt;<br />
&lt;xsl:if test=&#8221;string-length(@Description) &amp;gt; 250&#8243;&gt;&#8230;&lt;/xsl:if&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/xsl:template&gt;</p>
<p>In this complete version I have also added functionality to open the announcement in a modal dialogue, and I am using Nowegian Date formatting (1044) instead of English (1033).</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/231/sharepoint/content-query-web-part-image-on-left-with-formatted-date-and-description/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Updating Site Title (SPWeb web.Title) programmatically</title>
		<link>http://www.uccorner.com/227/sharepoint/updating-site-title-spweb-web-title-programmatically/</link>
		<comments>http://www.uccorner.com/227/sharepoint/updating-site-title-spweb-web-title-programmatically/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 12:14:47 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Foundation 2010]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint 2007]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[title]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=227</guid>
		<description><![CDATA[<p>Scenario:</p> <p>Sharepoint 2010 (Server or Foundation) is installed, and you also have installed one or more language packs.</p> <p>You update the SPWeb web.Title programmatically (web.Title = &#8220;New Title&#8221;, web.Update();) in C#, but the title is not updated in your browser. This will happen if your Sharepoint installation for example is English (1033), and your site is [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Scenario:</strong></p>
<p>Sharepoint 2010 (Server or Foundation) is installed, and you also have installed one or more language packs.</p>
<p>You update the SPWeb web.Title programmatically (web.Title = &#8220;New Title&#8221;, web.Update();) in C#, but the title is not updated in your browser. This will happen if your Sharepoint installation for example is English (1033), and your site is created in Norwegian (1044). It doesn&#8217;t matter if the installation language isn&#8217;t activated as a possible display language for your site, your updated title will only show when you choose the installation language as Display Language.</p>
<p>If you debug, you will se that the property web.Title is updated, but this is not what is shown in the browser. If you search further through the site&#8217;s properties when debugging, you will find a property called m_strTitle that holds your original title and obviously needs to beed updated. But, you cannot update this property directly.</p>
<p>So, how do you update the title in all Display Languages of the site?</p>
<pre>SPUserResource resource = web.TitleResource;
foreach (CultureInfo culture in web.SupportedUICultures)
{
Thread.CurrentThread.CurrentUICulture = culture;
resource.Value = "New Site Title";
}</pre>
<p>This also applies to for example web.Description, but not web.Name (which also is basis for the Site&#8217;s URL).</p>
<p>Remember to call web.Update, and ofcourse to do a web.Dispose if you are not using Using:)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/227/sharepoint/updating-site-title-spweb-web-title-programmatically/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Error installing Cumulative Updates</title>
		<link>http://www.uccorner.com/220/sharepoint/error-installing-cumulative-updates/</link>
		<comments>http://www.uccorner.com/220/sharepoint/error-installing-cumulative-updates/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 12:39:01 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=220</guid>
		<description><![CDATA[<p>I was installing the latest Cumultative Updates (December 2010 version) on a small Sharepoint Server 2010 farm. I installed both the Foundation and Server hotfix package on the application server and then the web front end.</p> <p>Next step was running the Sharepoint 2010 Products Configuration Wizard on the application server. The wizard started out just [...]]]></description>
			<content:encoded><![CDATA[<p>I was installing the latest Cumultative Updates (December 2010 version) on a small Sharepoint Server 2010 farm. I installed both the Foundation and Server hotfix package on the application server and then the web front end.</p>
<p>Next step was running the Sharepoint 2010 Products Configuration Wizard on the application server. The wizard started out just fine, but I only got to step 9 (&#8220;<em>The farm is being upgraded in the timer service process. The task is 10.00%  completed</em>.&#8221;) where it subsequently failed (<em>Configuration failed</em>).  The error message was:</p>
<p>&#8220;<em>An exception of type  Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException  was thrown.  Additional exception information: Failed to upgrade SharePoint  Products</em>.&#8221;</p>
<p>Reading in the logs revealed what seemed to be why the upgrade failed, but no hint on how to fix it:</p>
<p>&#8220;<em>01/04/2011 15:27:39  14  INF                    Resource id to be retrieved is  UpgradeTaskFailConfigSyncDisplayLabel for language English (United  States)<br />
01/04/2011 15:27:39  14  INF                    Resource retrieved id  UpgradeTaskFailConfigSyncDisplayLabel is Failed to upgrade SharePoint  Products.<br />
01/04/2011 15:27:39  14  INF                  Leaving function  StringResourceManager.GetResourceString<br />
01/04/2011 15:27:39  14   INF                  Entering function  Common.BuildExceptionMessage<br />
01/04/2011 15:27:39  14  INF                     Entering function StringResourceManager.GetResourceString<br />
01/04/2011  15:27:39  14  INF                      Resource id to be retrieved is  ExceptionInfo for language English (United States)<br />
01/04/2011 15:27:39  14   INF                      Resource retrieved id ExceptionInfo is An exception of  type {0} was thrown.  Additional exception information: {1}</em>&#8221;</p>
<p>When I ran the Configuration Wizard again on the application server, it succeded, but I suspected the upgrade was not completed. I subsequently ran the Wizard on the WFE also, where the upgrade succeded. In Central Administration, I now had one &#8220;<em>Succeded</em>&#8221; Upgrade Session on the WFE and one &#8220;<em>Failed</em>&#8221; Upgrade Session&#8221; for the application server on the Upgrade Status Page in Central Administration.</p>
<p>Restarting the servers or running the Configuration Wizard either via different psconfig variations or UI did not give me a successful upgrade session for the application server.</p>
<p>The next day I also got a warning in the Health Analyzer:</p>
<p>&#8220;<em>Product / patch installation or server upgrade required.<br />
All required products must be installed on all servers in the farm,  and all products should have the same patching and upgrade level across the  farm.<br />
Upgrade is required on server APPSERVER. Without the upgrade, the server is not  in a supported state.</em>&#8221;</p>
<p>Obviously not a perfect situation. The solution which solved the problem and completed the upgrade was also mentioned. Here is the Powershell command that did the trick for me:</p>
<p><strong>PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install  -cmd installfeatures</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/220/sharepoint/error-installing-cumulative-updates/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sharepoint 2010 December Cumulative Updates</title>
		<link>http://www.uccorner.com/216/sharepoint/sharepoint-2010-december-cumulative-updates/</link>
		<comments>http://www.uccorner.com/216/sharepoint/sharepoint-2010-december-cumulative-updates/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 15:13:55 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[cumulative update]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=216</guid>
		<description><![CDATA[<p>The December 2010 Cumulative Updates for Sharepoint Foundation and Sharepoint Server 2010 has been released. They seem to contain quite a few fixes, especially for the User Profile Service which from what I read will synchronize faster (It might actually look like this is the case, I think User Profile Synchronization was somewhat faster now). [...]]]></description>
			<content:encoded><![CDATA[<p>The December 2010 Cumulative Updates for Sharepoint Foundation and Sharepoint Server 2010 has been released. They seem to contain quite a few fixes, especially for the User Profile Service which from what I read will synchronize faster (It might actually look like this is the case, I <em>think </em>User Profile Synchronization was somewhat faster now). For some reason they are not published on the official Sharepoint Update page, which is why I am writing this post.</p>
<p>I have installed the updates in a 2-server farm, everything seems to work fine afterwards.</p>
<p>Unlike after the October Updates, I didn&#8217;t have to re-provision the User Profile Synchronization Service afterwards, as this service was listed as started when I had finished upgrading. (If re-starting/re-provisioning this service, remember to add the Farm Account to Local Administrators and reboot before starting the service).</p>
<p>I have linked to the downloads on my <a href="http://www.uccorner.com/downloads/">download </a>page.</p>
<p>Version number after updating should be 14.0.0.5130.</p>
<p><em>Update: The December 2010 Updates are as of 07.01.2011 now available via the Sharepoint 2010 Update Resource Center.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/216/sharepoint/sharepoint-2010-december-cumulative-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review Nokia C3</title>
		<link>http://www.uccorner.com/214/mobile/review-nokia-c3/</link>
		<comments>http://www.uccorner.com/214/mobile/review-nokia-c3/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 07:53:29 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Mobile Communications]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[cheap]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[s40]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=214</guid>
		<description><![CDATA[<p>I have written a review of Nokia C3. This is a cheap-cheap QWERTY-phone. The battery is great and the keyboard is OK, but the phone is too slow. S40 menus aren&#8217;t exactly state-of-the-art either. I&#8217;d rather buy the Nokia E5, which is almost as cheap and better to use.</p> <p>Read the full review (in Norwegian) [...]]]></description>
			<content:encoded><![CDATA[<p>I have written a review of Nokia C3. This is a cheap-cheap QWERTY-phone. The battery is great and the keyboard is OK, but the phone is too slow. S40 menus aren&#8217;t exactly state-of-the-art either. I&#8217;d rather buy the Nokia E5, which is almost as cheap and better to use.</p>
<p>Read the full review (in Norwegian) <a href="http://www.amobil.no/artikler/nokia_c3/79907">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/214/mobile/review-nokia-c3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review HTC Desire Z</title>
		<link>http://www.uccorner.com/207/mobile/review-htc-desire-z/</link>
		<comments>http://www.uccorner.com/207/mobile/review-htc-desire-z/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 13:50:09 +0000</pubDate>
		<dc:creator>Audun M. Solheim</dc:creator>
				<category><![CDATA[Mobile Communications]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://www.uccorner.com/?p=207</guid>
		<description><![CDATA[<p>I have written a review of HTC Desire Z. The Desire Z is a feature-packed phone running Android 2.2 (Froyo), and also sports a QWERTY keyboard. In short Desire Z is almost all you can want from a phone, except the keyboard is not as good as it should have been, the sound quality is [...]]]></description>
			<content:encoded><![CDATA[<p>I have written a review of HTC Desire Z. The Desire Z is a feature-packed phone running Android 2.2 (Froyo), and also sports a QWERTY keyboard. In short Desire Z is almost all you can want from a phone, except the keyboard is not as good as it should have been, the sound quality is not great, and the Sense/Android interface is cluttered and unfortunately not so easy to navigate in for unexperienced users.</p>
<p>Read the full review at Amobil (in Norwegian) <a href="http://www.amobil.no/artikler/htc_desire_z/79686/1" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uccorner.com/207/mobile/review-htc-desire-z/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

