<?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>Speals Blog - All About SharePoint</title>
	<atom:link href="http://www.speals.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.speals.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 30 Jan 2012 19:53:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SurveyUP 1.6.6 has been released!</title>
		<link>http://www.speals.com/blog/surveyup-1-6-6-has-been-released/</link>
		<comments>http://www.speals.com/blog/surveyup-1-6-6-has-been-released/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 19:08:38 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[survey in SharePoint]]></category>
		<category><![CDATA[survey web part]]></category>
		<category><![CDATA[SurveyUP]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=100</guid>
		<description><![CDATA[We are happy to present you a new version (v.1.6.6) of SurveyUP web-part!

The feature to add custom text/explanation under the survey form has been added in a new version. It can be downloaded from the SurveyUP homepage.
We hope this feature will be useful to make your surveys more handy and understandable.
]]></description>
			<content:encoded><![CDATA[<p>We are happy to present you a new version (v.1.6.6) of SurveyUP web-part!</p>
<p><span id="more-100"></span></p>
<p>The feature to add custom text/explanation under the survey form has been added in a new version. It can be downloaded from the <a href="http://www.speals.com/products/surveyup/default.aspx">SurveyUP homepage</a>.</p>
<p>We hope this feature will be useful to make your surveys more handy and understandable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/surveyup-1-6-6-has-been-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Storing additional properties of SharePoint list views</title>
		<link>http://www.speals.com/blog/storing-additional-properties-of-sharepoint-list-views/</link>
		<comments>http://www.speals.com/blog/storing-additional-properties-of-sharepoint-list-views/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 20:27:05 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[SharePoint General]]></category>
		<category><![CDATA[SharePoint development tips]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[web-part development]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=94</guid>
		<description><![CDATA[In some tasks it&#8217;s necessary to create and store additional properties for lists.
For example such needs may appear when displaying the list is realized on their own.

There is a problem: where is store a collection of these properties because, unfortunately, SPView class has not a remarkable Properties or AllProperties.
This problem can be resolved with two [...]]]></description>
			<content:encoded><![CDATA[<p>In some tasks it&#8217;s necessary to create and store additional properties for lists.<br />
For example such needs may appear when displaying the list is realized on their own.</p>
<p><span id="more-94"></span></p>
<p>There is a problem: where is store a collection of these properties because, unfortunately, SPView class has not a remarkable Properties or AllProperties.<br />
This problem can be resolved with two closed methods of SPView class: SetInnerXmlForNode and GetInnerXmlForNode.<br />
A class that allows to call these closed methods can be realized as follows:</p>
<p><i><quote><br />
    public static class ViewExtensions<br />
    {</p>
<p>        public static string SetInnerXmlForNode(this SPView view, string nodeName, string xml)<br />
        {<br />
            MethodInfo setInnerXmlForNode = typeof(SPView).GetMethod(&#8220;SetInnerXmlForNode&#8221;, BindingFlags.Instance | BindingFlags.NonPublic);<br />
            if (setInnerXmlForNode == null)<br />
            {<br />
                throw new InvalidOperationException(&#8220;Method SPView.SetInnerXmlForNode not found&#8221;);<br />
            }</p>
<p>            return (string)setInnerXmlForNode.Invoke(view, new object[] { nodeName, xml });<br />
        }</p>
<p>        public static string GetInnerXmlForNode(this SPView view, string nodeName)<br />
        {<br />
            MethodInfo getInnerXmlForNode = typeof(SPView).GetMethod(&#8220;GetInnerXmlForNode&#8221;, BindingFlags.Instance | BindingFlags.NonPublic);<br />
            if (getInnerXmlForNode == null)<br />
            {<br />
                throw new InvalidOperationException(&#8220;Method SPView.GetInnerXmlForNode not found&#8221;);<br />
            }</p>
<p>            return (string)getInnerXmlForNode.Invoke(view, new object[] { nodeName });<br />
        }<br />
    }<br />
</quote></i></p>
<p>Everything is simple then. We call SetInnerXmlForNode to save the property and we call GetInnerXmlForNode to get its value:</p>
<p><i><quote><br />
//Somehow initialize a object of SPView class<br />
SPView view = &#8230;;</p>
<p>// Save the property<br />
wiew.SetInnerXmlForNode(&#8220;MyPropertyName&#8221;, &#8220;My Property Value&#8221;);</p>
<p>// Get the value of property<br />
string myPropertyValue = view.GetInnerXmlForNode(&#8220;MyPropertyName&#8221;);<br />
</quote></i></p>
<p>Safety of these methods usage must be checked and re-checked, however the first experience shows that it&#8217;s OK.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/storing-additional-properties-of-sharepoint-list-views/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eureca! It&#8217;s possible to get the number of items of a huge SharePoint list with CAML-query!</title>
		<link>http://www.speals.com/blog/eureca-its-possible-to-get-the-number-of-items-of-a-huge-sharepoint-list-with-calm-quey/</link>
		<comments>http://www.speals.com/blog/eureca-its-possible-to-get-the-number-of-items-of-a-huge-sharepoint-list-with-calm-quey/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 19:45:35 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint General]]></category>
		<category><![CDATA[SharePoint development tips]]></category>
		<category><![CDATA[CAML-query]]></category>
		<category><![CDATA[sharepoint development]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=90</guid>
		<description><![CDATA[It was a full despair in our last post, but we tried again. And it was successful!

The code:

SPList taskList = web.Lists["hugeTasksList"];
SPQuery query = new SPQuery();
query.ViewFields = &#8220;&#8220;;
DataTable table = taskList.GetItems(query).GetDataTable();
Console.WriteLine(&#8220;count:{0};&#8221;, table.Rows.Count);

Note, there is not a reason for pleasure, because this method is processed for a long time (up to 3 minutes for 40000 entries). However [...]]]></description>
			<content:encoded><![CDATA[<p>It was a full despair in our last post, but we tried again. And it was successful!</p>
<p><span id="more-90"></span></p>
<p>The code:<br />
<quote><i><br />
SPList taskList = web.Lists["hugeTasksList"];<br />
SPQuery query = new SPQuery();<br />
query.ViewFields = &#8220;<FieldRef Name='ID'/>&#8220;;<br />
DataTable table = taskList.GetItems(query).GetDataTable();<br />
Console.WriteLine(&#8220;count:{0};&#8221;, table.Rows.Count);<br />
</quote></i></p>
<p>Note, there is not a reason for pleasure, because this method is processed for a long time (up to 3 minutes for 40000 entries). However we get the items number anyway. Moreover, the data is saved in cache and the next queries are processed so faster.<br />
We think if use our own cache for the results, it&#8217;s possible to realize paging during results view.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/eureca-its-possible-to-get-the-number-of-items-of-a-huge-sharepoint-list-with-calm-quey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generally, CAML-queries of SharePoint data don&#8217;t allow to get the results number :(</title>
		<link>http://www.speals.com/blog/generally-caml-queries-of-sharepoint-data-dont-allow-to-get-the-results-number/</link>
		<comments>http://www.speals.com/blog/generally-caml-queries-of-sharepoint-data-dont-allow-to-get-the-results-number/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 19:10:56 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[SharePoint development tips]]></category>
		<category><![CDATA[SharePoint tutorials]]></category>
		<category><![CDATA[web-part development]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=88</guid>
		<description><![CDATA[We spent about 2 days to understand how to get list items number in SPQuery. And we had a discouraging result &#8211; it is impossible for common cases.

The explanation: to count the items number in query result, we need to get back list of selected items and count their number only after it. CAML-query doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>We spent about 2 days to understand how to get list items number in SPQuery. And we had a discouraging result &#8211; it is impossible for common cases.</p>
<p><span id="more-88"></span></p>
<p>The explanation: to count the items number in query result, we need to get back list of selected items and count their number only after it. CAML-query doesn&#8217;t have any analogue as sql-query like <i>COUNT(*)</i>.<br />
However, the number of CAML-query results in SharePoint is equal 20000 by default. The conclusion is obvious &#8211; it is not convenience to operate with huge lists in SharePoint.</p>
<p>Well, there are other ways, but they don&#8217;t specify our requirements: <a href="http://www.martinhatch.com/2010/09/how-to-achieve-count-on-large.html">How to: Achieve Count(*) on a large SharePoint list</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/generally-caml-queries-of-sharepoint-data-dont-allow-to-get-the-results-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting part of results by selection from the list with SPListItemCollectionPosition assistance.</title>
		<link>http://www.speals.com/blog/getting-part-of-results-by-selection-from-the-list-with-splistitemcollectionposition-assistance/</link>
		<comments>http://www.speals.com/blog/getting-part-of-results-by-selection-from-the-list-with-splistitemcollectionposition-assistance/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 18:35:12 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint General]]></category>
		<category><![CDATA[SharePoint development tips]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=85</guid>
		<description><![CDATA[To implement a paging for SPQuery request results, it is necessary to have an ability getting small part of elements, not all elements satisfying the request. It’s important if we have a huge SharePoint list because of the limit of getting back array is 20000 entries by default.
     
Let’s suppose we [...]]]></description>
			<content:encoded><![CDATA[<p>To implement a paging for SPQuery request results, it is necessary to have an ability getting small part of elements, not all elements satisfying the request. It’s important if we have a huge SharePoint list because of the limit of getting back array is 20000 entries by default.<br />
<span id="more-85"></span>     </p>
<p>Let’s suppose we need to return back 50 entries, from the entry #100. The code for this case:<br />
<quote><i><br />
SPList taskList = web.Lists["mytasks"];<br />
SPQuery query = new SPQuery();<br />
query.ListItemCollectionPosition = new SPListItemCollectionPosition(&#8220;Paged=TRUE&#038;p_ID=100&#8243;);<br />
query.RowLimit = 50;<br />
SPListItemCollection items = taskList.GetItems(query);<br />
</i></quote></p>
<p>To know there are any other entries in query result, we have a criteria – non-null value for ‘items.ListItemCollectionPosition’ field. BTW, with cyclic selection of the elements, the value for this field can be passed in ‘query.ListItemCollectionPosition’.</p>
<p>However, there is a problem. We didn’t find yet a way to get common number of elements without elements’ list. It means we can view query’s data page by page, but we can’t know the total number of entries.</p>
<p>The most probably, string expression, passed in the constructor like ‘SPListItemCollectionPosition’, can be more complicated, but it is a subject for additional research. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/getting-part-of-results-by-selection-from-the-list-with-splistitemcollectionposition-assistance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How SurveyUP web part works?</title>
		<link>http://www.speals.com/blog/how-surveyup-web-part-works/</link>
		<comments>http://www.speals.com/blog/how-surveyup-web-part-works/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 20:27:55 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[survey in SharePoint]]></category>
		<category><![CDATA[survey web part]]></category>
		<category><![CDATA[SurveyUP]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=81</guid>
		<description><![CDATA[SurveyUP is really easy and smart tool, so we didn&#8217;t produce a lot of boring manuals and guides for the product. However&#8230;

&#8230;some users have issues to understand how to set up a survey properly with SurveyUP web part. Especially for such cases we published short &#8216;how-to&#8217;, which is described the first steps with SurveyUP web-part. [...]]]></description>
			<content:encoded><![CDATA[<p>SurveyUP is really easy and smart tool, so we didn&#8217;t produce a lot of boring manuals and guides for the product. However&#8230;<br />
<span id="more-81"></span><br />
&#8230;some users have issues to understand how to set up a survey properly with SurveyUP web part. Especially for such cases we published short &#8216;how-to&#8217;, which is described the first steps with SurveyUP web-part. You can review it at the <strong><a href="http://www.speals.com/products/surveyup/default.aspx">product homepage</a></strong>.</p>
<p>Hope it will be useful and will assit you to start work with SurveyUP without any problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/how-surveyup-web-part-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QRCodeUP for SharePoint is released!</title>
		<link>http://www.speals.com/blog/qrcodeup-for-sharepoint-is-released/</link>
		<comments>http://www.speals.com/blog/qrcodeup-for-sharepoint-is-released/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 20:58:21 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[QRCodeUP]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[qr-code]]></category>
		<category><![CDATA[sharepoint web-part]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=78</guid>
		<description><![CDATA[It&#8217;s a fact that codes for mobile devices are popular trend for now. We faced this problem during one custom work.

The client want to display event schedule in QR-code fomat &#8211; participants visited company portal and easily added the schedule in your cell phones. This experience gave us an idea to develop such web-part.
QRCodeUP for [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a fact that codes for mobile devices are popular trend for now. We faced this problem during one custom work.</p>
<p><span id="more-78"></span></p>
<p>The client want to display event schedule in QR-code fomat &#8211; participants visited company portal and easily added the schedule in your cell phones. This experience gave us an idea to develop such web-part.</p>
<p><a href="http://www.speals.com/products/qrcodeup/default.aspx">QRCodeUP for SharePoint</a> allows you to display textual information in QR-code picture. It is very convenient for shedules, huge links, contact information and much more.</p>
<p>We hope you find this tool useful for your web-site too <img src='http://www.speals.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/qrcodeup-for-sharepoint-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ListPermissionsUP for SharePoint is released!</title>
		<link>http://www.speals.com/blog/listpermissionsup-for-sharepoint-is-released/</link>
		<comments>http://www.speals.com/blog/listpermissionsup-for-sharepoint-is-released/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 21:46:40 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[hide column in SharePoint list]]></category>
		<category><![CDATA[permissions management in SharePoint]]></category>
		<category><![CDATA[listpermissionsup]]></category>
		<category><![CDATA[solution for sharepoint]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=73</guid>
		<description><![CDATA[Hola!
We released our second solution for SharePoint &#8211; ListPermissionsUP!
This solution extends permissions management capabilities in SharePoint lists, allows to provide &#8216;read-only&#8217; mode and hide columns (and appropriate item form fileds) for users and user groups.

This well-known issues appear especially when some kinds of confidential information (for example &#8211; financial data) are presented on the site. [...]]]></description>
			<content:encoded><![CDATA[<p>Hola!</p>
<p>We released our second solution for SharePoint &#8211; <a href="http://www.speals.com/products/listpermissionsup/default.aspx">ListPermissionsUP</a>!<br />
This solution extends permissions management capabilities in SharePoint lists, allows to provide &#8216;read-only&#8217; mode and hide columns (and appropriate item form fileds) for users and user groups.</p>
<p><span id="more-73"></span><br />
This well-known issues appear especially when some kinds of confidential information (for example &#8211; financial data) are presented on the site. We faced with shuch issues many times when provide custom SharePoint solutions to our clients. For example there is a list with customer&#8217;s details. Sales team have to see contact information, but these data can not be shown to other departments by the security reasons.</p>
<p>Now this issue can be resolved in 2 minutes with ListPermissionUP &#8211; just hide &#8220;Email&#8221;, &#8220;Address&#8221; and &#8220;Phone&#8221; columns from all users, exept &#8216;Sales team&#8217; group. It&#8217;s fast and convenient.<br />
We developed solution which works both with Microsoft SahrePoint 2007 and 2010.</p>
<p>Now the homepage content is not huge, but &#8216;How to&#8217; section, product documentation and demo will be added as soon as possible.</p>
<p>We would like to answer any your questions regarding ListPermissionsUP for SharePoint, please don&#8217;t hesitate leave them right here <img src='http://www.speals.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/listpermissionsup-for-sharepoint-is-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Multipages surveys &#8211; now it is possible!</title>
		<link>http://www.speals.com/blog/multipages-surveys-now-it-is-possible/</link>
		<comments>http://www.speals.com/blog/multipages-surveys-now-it-is-possible/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 20:34:16 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[survey in SharePoint]]></category>
		<category><![CDATA[branching]]></category>
		<category><![CDATA[paging]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=68</guid>
		<description><![CDATA[Yes, sometimes we need to place our surveys on some different pages due to different reasons.
You can do it easily now on your SharePoint portal with SurveyUP!
Native survey in SharePoint does not allow to realize it, but SurveyUP 1.6 version, released at October 2010 allows you to use branching/paging feature without any issues.
Download the trial [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, sometimes we need to place our surveys on some different pages due to different reasons.</p>
<p><span id="more-68"></span>You can do it easily now on your SharePoint portal with SurveyUP!</p>
<p>Native survey in SharePoint does not allow to realize it, but SurveyUP 1.6 version, released at October 2010 allows you to use branching/paging feature without any issues.</p>
<p><a href="http://www.speals.com/download/default.aspx">Download the trial</a> and make sure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/multipages-surveys-now-it-is-possible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;You are not allowed to respond again to this sharepoint survey.&#8221;</title>
		<link>http://www.speals.com/blog/you-are-not-allowed-to-respond-again-to-this-sharepoint-survey/</link>
		<comments>http://www.speals.com/blog/you-are-not-allowed-to-respond-again-to-this-sharepoint-survey/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 17:56:57 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[SharePoint tutorials]]></category>
		<category><![CDATA[survey in SharePoint]]></category>
		<category><![CDATA[survey responding]]></category>

		<guid isPermaLink="false">http://www.speals.com/blog/?p=63</guid>
		<description><![CDATA[The issue:
You need to create a sales tool on SharePoint that shows certain data, based on the responses from the sales representatives. They will use it as a reference, so it should be ongoing process.

You used the SharePoint Survey list for this purpose. It works, except for when you are trying re-taking it, you get [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The issue:</strong></p>
<p>You need to create a sales tool on SharePoint that shows certain data, based on the responses from the sales representatives. They will use it as a reference, so it should be ongoing process.</p>
<p><span id="more-63"></span></p>
<p>You used the SharePoint Survey list for this purpose. It works, except for when you are trying re-taking it, you get an error that says you are not allowed to respond again to this survey.</p>
<p>Is there a setting that will allow repeated taking of the survey?</p>
<p>If not, is there a web part that will give user multiple option questions and redirect to the right pages based on the response?</p>
<p><strong>Tip:</strong></p>
<p>If you go into the Settings options of the survey there is a checkbox that allows you to select whether users can respond once or multiple times. Just turn it off.</p>
<p>Or use <a href="http://www.speals.com/surveyup/default.aspx"><strong>SurveyUP web part</strong></a> which has not this feature only, but many ways for survey customization and improvement <img src='http://www.speals.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.speals.com/blog/you-are-not-allowed-to-respond-again-to-this-sharepoint-survey/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

