<?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>Ideas For Free &#187; Howto</title>
	<atom:link href="http://blog.libinuko.com/tag/howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.libinuko.com</link>
	<description>Only freedom will grow our ideas</description>
	<lastBuildDate>Sun, 18 Dec 2011 04:51:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SharePoint: Writing Custom Web Service for SharePoint in Supported Mode (part-2)</title>
		<link>http://blog.libinuko.com/2011/08/31/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-2/</link>
		<comments>http://blog.libinuko.com/2011/08/31/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-2/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 15:29:01 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2011/08/31/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-2/</guid>
		<description><![CDATA[English Before we continue, I suggest you read the first part here ; it gives basic idea of how it works. The purpose of part-2 is to make real implementation of Custom Web Service , but it is not the only way to do it. There are some key points that I want to show here: We [...] <a href="http://blog.libinuko.com/2011/08/31/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-2/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>Before we continue, I suggest you read the first part here ; it gives basic idea of how it works. The purpose of part-2 is to make real implementation of Custom Web Service , but it is not the only way to do it. There are some key points that I want to show here:</p>
<ol>
<li>We will put our custom Web Services in a Custom folder under _vti_bin. In this case we will create new folder WSCustom under (12hive/ISAPI for SharePoint 2007 or 14hive/ISAPI for SharePoint 2010)</li>
<li>We will need a helper to read SharePoint context (SPVirtualPath) before passing the request to the real ASMX. In this case we will copy WSDISCO.ASPX&nbsp; and WSWSDL.ASPX from original _VTI_BIN to _VTI_BIN/WSCustom folder</li>
<li>We will need custom SPDisco.aspx for our web services, in this case I will name it WSCustomSPDisco.aspx. This is the file, where we will register our web service. (Note the registration is optional, but it is required for truly SharePoint integration)</li>
<li>We need an interceptor so that request to SPDisco.aspx will return combination between original SPDisco.aspx and WSCustomSPDisco.aspx. In this case, we will create WSCustomHttpHandler that combine XML from the two files.</li>
<li>We need rules to add rules to redirect request to _vti_bin/spdisco.aspx to our WSCustomHttphandler.</li>
</ol>
<p>In the diagram, the scenario will look like this</p>
<p><a href="http://blog.libinuko.com/files/2011/08/image3.png"><img alt="image" border="0" height="340" src="http://blog.libinuko.com/files/2011/08/image_thumb3.png" style="border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" width="839" /></a></p>
<p>&nbsp;</p>
<ol>
<li>Create ASPNET Web Services using Visual Studio.&nbsp; <br />
		You can follow instruction in MSDN here (<a href="http://msdn.microsoft.com/en-us/library/dd583131(v=office.11).aspx" title="http://msdn.microsoft.com/en-us/library/dd583131(v=office.11).aspx">http://msdn.microsoft.com/en-us/library/dd583131(v=office.11).aspx</a>) and <strong><font style="background-color: rgb(255, 255, 0);">stop until &ldquo;To copy the Web service files to the _vti_bin virtual directory&rdquo;). </p>
<p>		</font></strong></li>
<li>Create custom folder for your project under _vti_bin (for example 12hive/ISAPI/CustomWS for SharePoint 2007 or 14hive/ISAPI/CustomWS for SharePoint 2010). In this custom folder, we will put 3 files for every web service (*.asmx) which are: 
<ul>
<li><strong><em>&lt;service&gt;</em></strong>.asmx , where <em>&lt;service&gt;</em> is your web service file.</li>
<li><strong><em>&lt;serviceDISCO&gt;</em></strong>.aspx , where <em>&lt;serviceDISCO&gt;</em> is corresponding DISCO file of your web service.</li>
<li><strong><em>&lt;serviceWSDL&gt;</em></strong>.aspx , where <em>&lt;serviceWSDL&gt; </em>is corresponding WSDL file of your web service. <br />
				<!--EndFragment--></li>
</ul>
</li>
<li>Copy ISAPI\<font style="background-color: rgb(255, 255, 0);">spdisco.aspx</font> to ISAPI\<font style="background-color: rgb(255, 255, 0);">spdisco.disco.aspx</font> . We need copy of original spdisco.aspx, since we don&rsquo;t want to have infinite loop in our HttpHandler later.</li>
<li>Create ISAPI\customws.spdisco.aspx. In this file, we will register our custom web service. This is important to avoid modifying SharePoint built-in file.</li>
<li>Create HttpHandler to combine content of spdisco.aspx and *.spdisco.aspx.</li>
<li>Register HttpHandler in web.config. We will intercept all _vti_bin/spdisco.aspx with our HttpHandler.</li>
</ol>
<p>&nbsp;</p>
<p><strong><font size="2">More Information</font></strong></p>
<ol>
<li>Tutorial video, Writing Custom Web Services for SharePoint in Supported Mode.<br />
		[See post to watch Flash video]<br />
		&nbsp;</li>
<li>Download source code for this article Visual Studio 2010 + SharePoint 2010 (<a href="http://code.msdn.microsoft.com/Writing-SharePoint-Web-in-cb9de1be" title="http://code.msdn.microsoft.com/Writing-SharePoint-Web-in-cb9de1be">http://code.msdn.microsoft.com/Writing-SharePoint-Web-in-cb9de1be</a>)</li>
</ol>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/08/31/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://blog.libinuko.com/wp-content/videos/Howto Create Custom Web Service for SharePoint in Supported Model.mp4" length="1" type="application/unknown"/>
	</item>
		<item>
		<title>SharePoint: Writing Custom Web Service for SharePoint in Supported Mode (part-1)</title>
		<link>http://blog.libinuko.com/2011/08/27/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-1/</link>
		<comments>http://blog.libinuko.com/2011/08/27/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-1/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 17:27:56 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2011/08/27/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-1/</guid>
		<description><![CDATA[English If you have read my comments on the Writing Custom Web Service for SharePont, Is it supported here (http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/) ; you may have already created standard ASPNET web services. It is working, but with some limitation: You can not have path virtualization Virtualization is one of SharePoint’s technique provided by SPVirtualPath provider, that enable virtualization of your [...] <a href="http://blog.libinuko.com/2011/08/27/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-1/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>If you have read my comments on the Writing Custom Web Service for SharePont, Is it supported here (<a title="http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/" href="http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/">http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/</a>) ; you may have already created standard ASPNET web services. It is working, but with some limitation:</p>
<ol>
<li>You can not have path virtualization
<p>Virtualization is one of SharePoint’s technique provided by SPVirtualPath provider, that enable virtualization of your web service path. For example, list.asmx will be available for <a href="http://mysite.com/_vti_bin/lists.asmx">http://mysite.com<strong>/_vti_bin/lists.asmx</strong></a> , or <a href="http://mysite.com/sites/myothersitecollection/_vti_bin/lists.asmx">http://mysite.com/sites/myothersitecollection<strong>/_vti_bin/lists.asmx</strong></a>. The site collection has been virtualized by SharePoint.</p>
<p>Without virtualization any web service consumer will have to access to the same path, usually in the root; for example <a href="http://&lt;webapps&gt;/_services/mywebservice.asmx">/_services/mywebservice.asmx&quot;&gt;/_services/mywebservice.asmx&quot;&gt;http://&lt;webapps&gt;/_services/mywebservice.asmx</a></p>
</li>
<li>You can not have SPContext
<p>SPContext is very powerful object in SharePoint development. Using this context, we can retrieve current SharePoint context without having to instantiate it. For example, you can get current SPWeb by calling SPContext.Current.Web – and you don’t need to dispose it (in fact you’re not suppose to dispose it). Still using SPContext you can have direct access to list and everything under SharePoint.</p>
<p>Without having direct access to SPContext, you have to instantiate SPWeb or SPSite using normal constructor with URL as parameter. It means new SPSite/SPWeb thread in the server memory, and you have to dispose it once you’ve done working with it.</p>
</li>
</ol>
<p>So, how can we write custom web service for SharePoint in supported mode?</p>
<p>Before we start, we have to understand SharePoint architecture and how does the processing works for web services. I take following picture from <a href="http://msdn.microsoft.com/en-us/library/bb892189(v=office.12).aspx">SharePoint Architecture</a> in MSDN. It describe how SharePoint process our request. There is SPHttpApplication which has SPRequestModule and any additional ASP.NET Module; and before the request returned back to the user SPHttpHandler is doint the job.</p>
<p><a href="http://blog.libinuko.com/files/2011/08/image.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.libinuko.com/files/2011/08/image_thumb.png" width="670" height="299" /></a></p>
<p><strong>How SharePoint process web services?</strong></p>
<p>If we dig into into the process on how SharePoint process request to web services in _vti_bin.</p>
<p><a href="http://blog.libinuko.com/files/2011/08/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blog.libinuko.com/files/2011/08/image_thumb2.png" width="809" height="282" /></a></p>
<p>There are 3 scenarios of http request to the web services,</p>
<ol>
<li>Disco request, identified by suffix ?DISCO in the web service address. For example, */_vti_bin/list.asmx?Disco </li>
<li>WSDL request, identified by suffix ?WSDL in the web service address. For example, */_vti_bin/list.asmx?Wsdl </li>
<li>Web service post request. For example, */_vti_bin/list.asmx?op=GetListItems </li>
</ol>
<p>Every request will be processed by SPHttpHandler (SharePoint) and ScriptHandlerFactory (system.web.extension), but the SPHttpHandler will be selective only for Disco and Wsdl request.</p>
<p>On disco/wsdl request, SPHttpHandler will transfer the request to wsdisco.aspx or wswsdl.aspx using <strong>Server.Execute</strong> operation. This operation ensure that wsdisco.aspx/wswsdl.aspx is receiving same request object. wsDISCO.aspx or wsWSDL.aspx will then instantiate SharePoint Context object. Any *.aspx will be successfully instantiate SharePoint context object because they are managed by SPHttpApplication and hence it also impacted by SPVirtualPath provider from SharePoint which will activate path virtualization.</p>
<p>Next, wsDISCO.aspx will transfer the request to the &lt;service&gt;DISCO.aspx and wsWSDL.aspx will transfer to the &lt;service&gt;WSDL.aspx – using Server.Execute operation. So here we have seen 2 transfer operation. At the end, the result is correct WSDL/DISCO request. The correct WSDL/DISCO will point to the correct virtual path of the request. <em>(Remember how do you create &lt;service&gt;disco.aspx / &lt;service&gt;wsdl.aspx) </em></p>
<p>When a consumer use the contract and tries to consume it. The SPHttpHandler will no longer intercept the request, but the normal ScriptHandlerFactory from System.Web.Extensions. However with the correct path in disco/wsdl, now the asmx now have the ability to look into current context from SharePoint. And hence you will be able to use SPContext.Current.Web in custom web services.</p>
<p>Part-2 is how to start create custom web services. I will need help from my buddy <a href="http://codebender.denniland.com">Denni</a> , he will code for me. –<img class="wlEmoticon wlEmoticon-openmouthedsmile" alt="Open-mouthed smile" src="http://blog.libinuko.com/files/2011/08/wlEmoticon-openmouthedsmile.png" /></p>
<p>&#160;</p>
<p>References</p>
<p>1. Writing Custom Web Services for SharePoint Products and Technology (<a title="http://msdn.microsoft.com/en-us/library/dd583131(v=office.11).aspx" href="http://msdn.microsoft.com/en-us/library/dd583131(v=office.11).aspx">http://msdn.microsoft.com/en-us/library/dd583131(v=office.11).aspx</a>)</p>
<p>2. SharePoint Architecture (<a title="http://msdn.microsoft.com/en-us/library/bb892189(v=office.12).aspx" href="http://msdn.microsoft.com/en-us/library/bb892189(v=office.12).aspx">http://msdn.microsoft.com/en-us/library/bb892189(v=office.12).aspx</a> )</p>
<p>3. Architectural Overview of Windows SharePoint Services (<a title="http://msdn.microsoft.com/en-us/library/dd583133(v=office.11).aspx" href="http://msdn.microsoft.com/en-us/library/dd583133(v=office.11).aspx">http://msdn.microsoft.com/en-us/library/dd583133(v=office.11).aspx</a>)</p>
<p>4. Modifying Built-In SharePoint Files (<a title="http://msdn.microsoft.com/en-us/library/bb803457(v=office.12).aspx" href="http://msdn.microsoft.com/en-us/library/bb803457(v=office.12).aspx">http://msdn.microsoft.com/en-us/library/bb803457(v=office.12).aspx</a>)</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/08/27/sharepoint-writing-custom-web-service-for-sharepoint-in-supported-mode-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell : Compress files with Windows an improved version</title>
		<link>http://blog.libinuko.com/2011/06/09/powershell-compress-files-with-windows-an-improved-version/</link>
		<comments>http://blog.libinuko.com/2011/06/09/powershell-compress-files-with-windows-an-improved-version/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 14:43:00 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Howto]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/?p=666</guid>
		<description><![CDATA[English When I am looking for a way to compress file(s) into Zip, I find a blog from David Aiken here (Compress Files with Windows PowerShell then package a Windows Vista Sidebar Gadget) . I will just focus on Add-Zip function and nothing more. Here is the original code: &#160; function Add-Zip { param([string]$zipfilename) [...] <a href="http://blog.libinuko.com/2011/06/09/powershell-compress-files-with-windows-an-improved-version/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>When I am looking for a way to compress file(s) into Zip, I find a blog from David Aiken here (<a href="http://blogs.msdn.com/b/daiken/archive/2007/02/12/compress-files-with-windows-powershell-then-package-a-windows-vista-sidebar-gadget.aspx">Compress Files with Windows PowerShell then package a Windows Vista Sidebar Gadget</a>) . I will just focus on Add-Zip function and nothing more.</p>
<p>Here is the original code:</p>
<p>&#160;</p>
<pre class="brush: ps; highlight: [12,16]; html-script: false">function Add-Zip
{
    param([string]$zipfilename) 

    if(-not (test-path($zipfilename)))
    {
           set-content $zipfilename (&quot;PK&quot; + [char]5 + [char]6 + (&quot;$([char]0)&quot; * 18))
           (dir $zipfilename).IsReadOnly = $false
     } 

     $shellApplication = new-object -com shell.application
     $zipPackage = $shellApplication.NameSpace($zipfilename) 

     foreach($file in $input)
     {
            $zipPackage.CopyHere($file.FullName)
            Start-sleep -milliseconds 500
     }
}

usage: dir c:\demo\files\*.* -Recurse | add-Zip c:\demo\myzip.zip</pre>
<p>I am raising two problems with the code:</p>
<p>1. Looking at the usage example, it is clear that the function accept <strong>only fully path filename</strong>. The reason, on line-12 , the $shellApplication.NameSpace parameter is $zipfilename; and this is not possible without giving fully path filename. </p>
<p>2. On line-16, the operation expect that $input array will contains object with FullName properties, that why the usage example uses DIR. What about if you just want to specify a filename?</p>
<p>With the 2 problem above, I am ready to improve that function. In the new improved version, Get-ChildItem will help us to convert any string representation of a file to a fully path filename. It won’t break DIR piping functionality, since actually Get-ChildItem is dir (and extra) functionality.</p>
<p>Here is the improved version:</p>
<pre class="brush: ps; highlight: [5,15,16]; html-script: false">function Add-Zip
{
	param([string]$zipfilename)

    $currFile = $zipfilename | get-childitem
	if(-not (test-path($zipfilename)))
	{
		set-content $currFile.FullName (&quot;PK&quot; + [char]5 + [char]6 + (&quot;$([char]0)&quot; * 18))
		(dir $currFile.FullName).IsReadOnly = $false
	}

	$shellApplication = new-object -com shell.application
	$zipPackage = $shellApplication.NameSpace($currFile.Fullname)

	$input | % {
            $file = $_ | get-childitem
            $zipPackage.CopyHere($file.FullName)
            Start-sleep -milliseconds 500
	}
}

usage: &quot;FileInThisFolder.txt&quot; -Recurse | add-Zip &quot;ZipInThisFolder.zip&quot;
        dir c:\demo\files\*.* -Recurse | add-Zip c:\demo\myzip.zip</pre>
<p>So, I hope you enjoy the improved version.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/06/09/powershell-compress-files-with-windows-an-improved-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SharePoint Designer: Visual Touch Using Using Conditional Formatting</title>
		<link>http://blog.libinuko.com/2011/05/04/sharepoint-designer-visual-touch-using-using-conditional-formatting/</link>
		<comments>http://blog.libinuko.com/2011/05/04/sharepoint-designer-visual-touch-using-using-conditional-formatting/#comments</comments>
		<pubDate>Wed, 04 May 2011 15:26:27 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint Designer 2010]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[SharePoint Designer]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/?p=641</guid>
		<description><![CDATA[English: Conditional formatting now becomes easier using SharePoint Designer 2010. We can create intelligent view which able to highlight some important pointer in the display. There are 3 types of conditional formatting: 1. Show content , show content based on the pre-specified conditions 2. Hide content , hide content based on the pre-specified [...] <a href="http://blog.libinuko.com/2011/05/04/sharepoint-designer-visual-touch-using-using-conditional-formatting/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English:</p>
<p>Conditional formatting now becomes easier using SharePoint Designer 2010. We can create <strong>intelligent view which able to highlight some important pointer</strong> in the display. There are 3 types of conditional formatting:</p>
<p>1. <strong>Show content</strong> , show content based on the pre-specified conditions     <br />2. <strong>Hide content</strong> , hide content based on the pre-specified conditions     <br />3. <strong>Apply formatting</strong> , apply formatting based on the pre-specified conditions.</p>
<p>&#160;</p>
<p><strong>Visual Touch for Easy Reading</strong></p>
<p>Imagine, that you have developed a workflow that uses task list to assign task to the users. The standard task list, may look like this:</p>
<p><a href="http://blog.libinuko.com/files/2011/05/NormalTask.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="NormalTask" border="0" alt="NormalTask" src="http://blog.libinuko.com/files/2011/05/NormalTask_thumb.jpg" width="881" height="505" /></a></p>
<p>Actually there is nothing wrong with the task list web-part. However, since there <strong>isn’t any pointer on important information </strong>in the task list – then <strong>the message may not be conveyed efficiently</strong> to the reader. </p>
<p>Using conditional formatting, we will be able highlight overdue tasks, so that the task will get more attention from the user. In the picture below, we add <strong>red hand</strong> icon, if the <strong>task is overdue</strong>.</p>
<p><a href="http://blog.libinuko.com/files/2011/05/ConditionalFormattingTask.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="ConditionalFormattingTask" border="0" alt="ConditionalFormattingTask" src="http://blog.libinuko.com/files/2011/05/ConditionalFormattingTask_thumb.jpg" width="751" height="509" /></a></p>
<p>&#160;</p>
<p><strong>So, how would we do that?</strong></p>
<p>Following step-by-step will show how to create conditional formatting using SharePoint Designer 2010. I will demonstrate how to add red-hand icon to the overdue task.</p>
<p>&#160;</p>
<p>1. Open original task list view in SharePoint Designer 2010.</p>
<p><a href="http://blog.libinuko.com/files/2011/05/TaskListView.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TaskListView" border="0" alt="TaskListView" src="http://blog.libinuko.com/files/2011/05/TaskListView_thumb.jpg" width="835" height="472" /></a></p>
<p>&#160;</p>
<p>2. Select Title column tag and then create conditional formatting by selecting <strong>Apply formatting…</strong>.</p>
<p><a href="http://blog.libinuko.com/files/2011/05/TaskListView2.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TaskListView2" border="0" alt="TaskListView2" src="http://blog.libinuko.com/files/2011/05/TaskListView2_thumb.jpg" width="837" height="456" /></a></p>
<p>&#160;</p>
<p>3. Define formatting condition as follows:</p>
<blockquote><p>Due Date&#160; &lt;&#160; [Current Date]&#160;&#160;&#160;&#160; And</p>
<p>Status&#160;&#160;&#160;&#160;&#160; &lt;&gt;&#160; ‘Completed’</p>
</blockquote>
<p>&#160;</p>
<p><a href="http://blog.libinuko.com/files/2011/05/TaskListView3.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TaskListView3" border="0" alt="TaskListView3" src="http://blog.libinuko.com/files/2011/05/TaskListView3_thumb.jpg" width="745" height="480" /></a></p>
<p>and then click <strong>Set Style</strong>.</p>
<p>&#160;</p>
<p>4. I have uploaded the icon in Site Assets gallery, so that I can use it as background-image.</p>
<p><a href="http://blog.libinuko.com/files/2011/05/TaskListView4.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="TaskListView4" border="0" alt="TaskListView4" src="http://blog.libinuko.com/files/2011/05/TaskListView4_thumb.jpg" width="846" height="544" /></a></p>
<p>And finally I have configure my style to:</p>
<blockquote><p>background-image: url(&#8216;../../SiteAssets/Pointer_red_22x17.gif&#8217;); background-repeat: no-repeat; background-position: left bottom; text-indent: 20px</p>
</blockquote>
<p>5. Save the changes, and you’ve done with the conditional formatting.</p>
<p>&#160;</p>
<p>Finally, adding visual touch using conditional formatting is also adding more value to the user. It will make the information more knowledgeable than plain presentation.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/05/04/sharepoint-designer-visual-touch-using-using-conditional-formatting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010: How to change rating icons</title>
		<link>http://blog.libinuko.com/2010/12/27/sharepoint-2010-how-to-change-rating-icons/</link>
		<comments>http://blog.libinuko.com/2010/12/27/sharepoint-2010-how-to-change-rating-icons/#comments</comments>
		<pubDate>Sun, 26 Dec 2010 17:19:11 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Howto]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2010/12/27/sharepoint-2010-how-to-change-rating-icons/</guid>
		<description><![CDATA[English: Sometimes you may received a request to change rating icons, from a normal star to a love icon. So, how would you do it? Figure 1. Original rating icons Figure 2. Modified love rating icons 1. Find and prepare rating icons.  In this case I will need to prepare 4 styles rating icons Title Sample Size a. Empty Rating 16&#215;16 b. Selected Rating 16&#215;16 c. Rating [...] <a href="http://blog.libinuko.com/2010/12/27/sharepoint-2010-how-to-change-rating-icons/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English:</p>
<p>Sometimes you may received a request to change rating icons, from a normal star to a love icon. So, <strong>how would you do it</strong>?</p>
<p><a href="http://blog.libinuko.com/files/2010/12/OriginalRating.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="OriginalRating" src="http://blog.libinuko.com/files/2010/12/OriginalRating_thumb.png" border="0" alt="OriginalRating" width="709" height="275" /></a><br />
<strong><em>Figure 1. Original rating icons</em></strong></p>
<p><a href="http://blog.libinuko.com/files/2010/12/LoveRating.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="LoveRating" src="http://blog.libinuko.com/files/2010/12/LoveRating_thumb.png" border="0" alt="LoveRating" width="710" height="261" /></a><br />
<em><strong>Figure 2. Modified love rating icons</strong></em></p>
<p>1. Find and prepare rating icons.  In this case I will need to prepare 4 styles rating icons</p>
<table border="1" cellspacing="0" cellpadding="2" width="681">
<tbody>
<tr>
<td width="286" valign="top"><strong>Title</strong></td>
<td width="258" valign="top"><strong>Sample</strong></td>
<td width="135" valign="top"><strong>Size</strong></td>
</tr>
<tr>
<td width="286" valign="top">a. Empty Rating</td>
<td width="258" valign="top"><a href="http://blog.libinuko.com/files/2010/12/love_ratingempty.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="love_ratingempty" src="http://blog.libinuko.com/files/2010/12/love_ratingempty_thumb.png" border="0" alt="love_ratingempty" width="20" height="20" /></a></td>
<td width="135" valign="top">16&#215;16</td>
</tr>
<tr>
<td width="286" valign="top">b. Selected Rating</td>
<td width="258" valign="top"><a href="http://blog.libinuko.com/files/2010/12/love_RatingsNew.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="love_RatingsNew" src="http://blog.libinuko.com/files/2010/12/love_RatingsNew_thumb.png" border="0" alt="love_RatingsNew" width="20" height="20" /></a></td>
<td width="135" valign="top">16&#215;16</td>
</tr>
<tr>
<td width="286" valign="top">c. Rating Overlay</td>
<td width="258" valign="top"><a href="http://blog.libinuko.com/files/2010/12/love_ratings.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="love_ratings" src="http://blog.libinuko.com/files/2010/12/love_ratings_thumb.png" border="0" alt="love_ratings" width="309" height="21" /></a></td>
<td width="135" valign="top">448&#215;16</td>
</tr>
<tr>
<td width="286" valign="top">d. Rating Overlay RightToLeft</td>
<td width="258" valign="top"><a href="http://blog.libinuko.com/files/2010/12/love_Ratingsrtl.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="love_Ratingsrtl" src="http://blog.libinuko.com/files/2010/12/love_Ratingsrtl_thumb.png" border="0" alt="love_Ratingsrtl" width="305" height="24" /></a></td>
<td width="135" valign="top">448&#215;16</td>
</tr>
</tbody>
</table>
<p> </p>
<p>2. Save the new icons under 14 hive\Images.</p>
<p>3. Create script to modify SPWeb property bag. To ease our job, I will use PowerShell script as follows,</p>
<blockquote><p><span style="font-family: Century Gothic;"><strong><span style="color: #8fb08c;">[System.Reflection.Assembly]::</span>LoadWithPartialName(<span style="color: #c0504d;">&#8220;Microsoft.SharePoint&#8221;</span>) &gt; <span style="color: #ff0000;">$null<br />
</span></strong></span><span style="font-family: Century Gothic;"><strong><span style="color: #ff0000;"><br />
$spSite</span> = <span style="color: #0000ff;">new-object</span> <span style="color: #646b86;">Microsoft.SharePoint.SPSite</span><span style="color: #c0504d;">(&#8220;</span></strong></span><span style="font-family: Century Gothic;"><strong><span style="color: #c0504d;">http://win2k8&#8243;);</span></strong></span><br />
<span style="font-family: Century Gothic;"><strong><span style="color: #ff0000;">$spWeb</span> = $spSite.OpenWeb();</strong></span></p>
<p><span style="font-family: Century Gothic;"><strong><span style="color: #ff0000;">$spWeb</span>.Properties["Ratings_NewRatingIconUrl"] =<span style="color: #c0504d;"> &#8220;/_layouts/Images/love_RatingsNew.png&#8221;</span>;<br />
<span style="color: #ff0000;">$spWeb</span>.Properties["Ratings_EmptyIconUrl"] = <span style="color: #c0504d;">&#8220;/_layouts/Images/love_RatingsEmpty.png&#8221;</span>;<br />
<span style="color: #ff0000;">$spWeb</span>.Properties["Ratings_ImageStripUrl"] = <span style="color: #c0504d;">&#8220;/_layouts/Images/love_Ratings.png&#8221;</span>;<br />
<span style="color: #ff0000;">$spWeb</span>.Properties["Ratings_ImageStripRtlUrl"] =<span style="color: #c0504d;"> &#8220;/_layouts/Images/love_Ratingsrtl.png&#8221;</span>;</strong></span></p>
<p><span style="font-family: Century Gothic;"><strong><span style="color: #ff0000;">$spWeb</span>.Properties.Update();<br />
<span style="color: #ff0000;">$spWeb</span>.Dispose();<br />
<span style="color: #ff0000;">$spSite</span>.Dispose();</strong></span></p>
<p><span style="font-family: Century Gothic; color: #0000ff;"><strong>iisreset</strong></span></p></blockquote>
<p> </p>
<p>4. Voila ! And you can refresh your browser to see the changes.</p>
<p>5. Finally you can distribute your solution into a solutions package with feature activation events to register/un-register custom rating images.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/12/27/sharepoint-2010-how-to-change-rating-icons/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010: Howto disable My Site and My Profile link</title>
		<link>http://blog.libinuko.com/2010/10/10/sharepoint-2010-howto-disable-my-site-and-my-profile-link/</link>
		<comments>http://blog.libinuko.com/2010/10/10/sharepoint-2010-howto-disable-my-site-and-my-profile-link/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 04:51:36 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[My Profile]]></category>
		<category><![CDATA[MySite]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2010/10/10/sharepoint-2010-howto-disable-my-site-and-my-profile-link/</guid>
		<description><![CDATA[English: This is graphical guidelines to disable My Site or My Profile link in a portal. &#160; 1. Open Central Administration , and click on “Manage service applications”. &#160; 2. Open Central Administration , and click on “Manage service applications”. &#160; 3. Click on “Manage User Permissions” &#160; 4. Remove “Use Personal Features” permission for the Groups/Users. 5. If you can’t see the [...] <a href="http://blog.libinuko.com/2010/10/10/sharepoint-2010-howto-disable-my-site-and-my-profile-link/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English:</p>
<p>This is graphical guidelines to disable My Site or My Profile link in a portal.</p>
<p>&#160;</p>
<p>1. Open Central Administration , and click on “Manage service applications”.</p>
<p><a href="http://blog.libinuko.com/files/2010/10/HideMySite1.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HideMySite1" border="0" alt="HideMySite1" src="http://blog.libinuko.com/files/2010/10/HideMySite1_thumb.jpg" width="615" height="420" /></a> </p>
<p>&#160;</p>
<p>2. Open Central Administration , and click on “Manage service applications”.</p>
<p><a href="http://blog.libinuko.com/files/2010/10/HideMySite2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HideMySite2" border="0" alt="HideMySite2" src="http://blog.libinuko.com/files/2010/10/HideMySite2_thumb.jpg" width="705" height="429" /></a> </p>
<p>&#160;</p>
<p>3. Click on “Manage User Permissions”</p>
<p><a href="http://blog.libinuko.com/files/2010/10/HideMySite3.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HideMySite3" border="0" alt="HideMySite3" src="http://blog.libinuko.com/files/2010/10/HideMySite3_thumb.jpg" width="582" height="383" /></a></p>
<p>&#160;</p>
<p>4. Remove “Use Personal Features” permission for the Groups/Users.</p>
<p><a href="http://blog.libinuko.com/files/2010/10/HideMySite5.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HideMySite5" border="0" alt="HideMySite5" src="http://blog.libinuko.com/files/2010/10/HideMySite5_thumb.jpg" width="568" height="485" /></a></p>
<p>5. If you can’t see the new rules being reflected in the site. You can restart “User Profile Service”</p>
<p><a href="http://blog.libinuko.com/files/2010/10/HideMySite7.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HideMySite7" border="0" alt="HideMySite7" src="http://blog.libinuko.com/files/2010/10/HideMySite7_thumb.jpg" width="602" height="386" /></a>&#160;&#160;&#160;&#160; <a href="http://blog.libinuko.com/files/2010/10/HideMySite8.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HideMySite8" border="0" alt="HideMySite8" src="http://blog.libinuko.com/files/2010/10/HideMySite8_thumb.jpg" width="707" height="349" /></a> </p>
<p>6. And now, the users will not be able to see My Site / My Profiles link.</p>
<p><a href="http://blog.libinuko.com/files/2010/10/HideMySite9.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="HideMySite9" border="0" alt="HideMySite9" src="http://blog.libinuko.com/files/2010/10/HideMySite9_thumb.jpg" width="577" height="368" /></a></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/10/10/sharepoint-2010-howto-disable-my-site-and-my-profile-link/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010: How to create filtered lookup field</title>
		<link>http://blog.libinuko.com/2010/07/11/sharepoint-2010-how-to-create-filtered-lookup-field/</link>
		<comments>http://blog.libinuko.com/2010/07/11/sharepoint-2010-how-to-create-filtered-lookup-field/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 04:55:06 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[InfoPath 2010]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2010/07/11/sharepoint-2010-how-to-create-filtered-lookup-field/</guid>
		<description><![CDATA[English Imagine a business scenario where we have a lookup field in our list. The reference list contains items Title and their status.  Previously it always difficult to create filtered lookup field with minimal development task. But now, we can use InfoPath 2010 to achieve that functionality. Part III , InfoPath 2010 and SharePoint 2010 Productivity series [...] <a href="http://blog.libinuko.com/2010/07/11/sharepoint-2010-how-to-create-filtered-lookup-field/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>Imagine a business scenario where we have a lookup field in our list. The reference list contains items Title and their status.  Previously it always difficult to create filtered lookup field with minimal development task. But now, we can use InfoPath 2010 to achieve that functionality.</p>
<p>Part III , InfoPath 2010 and SharePoint 2010 Productivity series webcast shows how to create filtered lookup field.  There are two lists in the scenario “Books” and “Members” list.  The Books list contains list of books Title, Author and Status. There are 2 status of books, “Available” , “In-Used” and “Missing”.</p>
<p>“Members” list has Books  , lookup field – which should show only the “Available” books.</p>
[See post to watch Flash video]
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/07/11/sharepoint-2010-how-to-create-filtered-lookup-field/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 WebCast: Customizing list form using InfoPath Designer 2010</title>
		<link>http://blog.libinuko.com/2010/07/08/sharepoint-2010-webcast-customizing-list-form-using-infopath-designer-2010/</link>
		<comments>http://blog.libinuko.com/2010/07/08/sharepoint-2010-webcast-customizing-list-form-using-infopath-designer-2010/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 03:13:31 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[InfoPath]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[InfoPath 2010]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/?p=488</guid>
		<description><![CDATA[English: Imagine that user wants to build Book lending application using SharePoint 2010. Initially they must register the book description , and sub-sequently they will update book lending status.  On the registration, the status should not be available in the form &#8211; however on lending event , they have to modify the status of the book. Following [...] <a href="http://blog.libinuko.com/2010/07/08/sharepoint-2010-webcast-customizing-list-form-using-infopath-designer-2010/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English:</p>
<p>Imagine that user wants to build Book lending application using SharePoint 2010. Initially they must register the book description , and sub-sequently they will update book lending status.  On the registration, the status should not be available in the form &#8211; however on lending event , they have to modify the status of the book.<br />
Following webcast shows how to use InfoPath Designer 2010 to customize New/Edit/View form in SharePoint List to build that application.</p>
[See post to watch Flash video]
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/07/08/sharepoint-2010-webcast-customizing-list-form-using-infopath-designer-2010/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010: Howto configure Business Data Connectivity access rights</title>
		<link>http://blog.libinuko.com/2010/04/11/sharepoint-2010-howto-configure-business-data-connectivity-access-rights/</link>
		<comments>http://blog.libinuko.com/2010/04/11/sharepoint-2010-howto-configure-business-data-connectivity-access-rights/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 00:58:58 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[Business Data Connectivity Service]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2010/04/11/sharepoint-2010-howto-configure-business-data-connectivity-access-rights/</guid>
		<description><![CDATA[English You may encounter “Access denied by Business Data Connectivity” error when trying to access External List. The reason is because External List requires External Content type ; and External Content type is using Business Data Connectivity services proxy to access external Data Source. With the same principle of BDC in MOSS 2007 – users are [...] <a href="http://blog.libinuko.com/2010/04/11/sharepoint-2010-howto-configure-business-data-connectivity-access-rights/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>You may encounter “Access denied by Business Data Connectivity” error when trying to access External List. The reason is because External List requires External Content type ; and External Content type is using Business Data Connectivity services proxy to access external Data Source. With the same principle of BDC in MOSS 2007 – users are required to have BDC Object permission before they can use it.&#160; There are several set of permission available for the BDC object:</p>
<blockquote><p>- Edit&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />- Execute&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />- Selectable in Clients      <br />- Set Permissions</p>
</blockquote>
<p>How to configure the BDC access rights?</p>
<p>1. Open <strong>Central Administration</strong> page, and click on <strong>Manage service application</strong>.</p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0012.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="SPS2010_BDC-0012" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0012_thumb.png" width="455" height="484" /></a></p>
<p>2. Click on <strong>Business Data Connectivity Service</strong></p>
<p>&#160;<a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0013.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="SPS2010_BDC-0013" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0013_thumb.png" width="673" height="315" /></a> </p>
<p>3. Open the context menu of the External Content type (ie. External CT in this example). Click on <strong>Set permissions</strong>.</p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0014.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="SPS2010_BDC-0014" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0014_thumb.png" width="539" height="255" /></a> </p>
<p>4. Add account (Group, or User) and assign the permissions.</p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0015.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="SPS2010_BDC-0015" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0015_thumb.png" width="644" height="351" /></a> </p>
<p>5. Set appropriate permission to the BDC object. Remember that BDC object permission rules the interaction between user and external data source through BDC object. It doesn’t rules his/her permission accessing Forms in the list (New / Edit / Delete&#160; form). </p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0016.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="SPS2010_BDC-0016" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0016_thumb.png" width="634" height="459" /></a></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/04/11/sharepoint-2010-howto-configure-business-data-connectivity-access-rights/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 : How to create External Content type</title>
		<link>http://blog.libinuko.com/2010/04/10/sharepoint-2010-how-to-create-external-content-type/</link>
		<comments>http://blog.libinuko.com/2010/04/10/sharepoint-2010-how-to-create-external-content-type/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 09:52:00 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[Office]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[External Content Type]]></category>
		<category><![CDATA[Howto]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2010/04/10/sharepoint-2010-how-to-create-external-content-type/</guid>
		<description><![CDATA[English: External Content type allows you to make seamless interface between SharePoint 2010 and external data storage (ie. SQL server). Using External Content type, you can create an External List which stores the data to predefined storage. You can imagine of having a table with SharePoint list interface. To create an External Content type, you need SharePoint [...] <a href="http://blog.libinuko.com/2010/04/10/sharepoint-2010-how-to-create-external-content-type/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English:</p>
<p>External Content type allows you to make seamless interface between SharePoint 2010 and external data storage (ie. SQL server). Using External Content type, you can create an External List which stores the data to predefined storage. You can imagine of having a table with SharePoint list interface.</p>
<p>To create an External Content type, you need SharePoint Designer 2010. If you curious enough, the External Content type is enhancement of Business Data Connector (BDC) in previous version. It will now depend on Business Connectivity Services (BCS) – which more or less same as BDC.</p>
<p>Imagine that you have a table in SQL Database and you want to create SharePoint list which directly stores the data in that table.</p>
<p>&#160;</p>
<p><strong>1. Open SharePoint Designer and click on External Content Types</strong>    <br /><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0000.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0000" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0000_thumb.png" width="562" height="398" /></a></p>
<p><strong>2. Define the new External Content Type name. Then click on “External System” to start to connect to external Data Storage.</strong></p>
<p>&#160;<a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0001.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0001" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0001_thumb.png" width="561" height="408" /></a> </p>
<p><strong>3. Define connection to external data storage. (ie. DB name,&#160; and security)</strong></p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0002.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0002" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0002_thumb.png" width="566" height="386" /></a> </p>
<p><strong>In my case, I use SQL server as my data storage</strong>.</p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0003.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0003" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0003_thumb.png" width="365" height="165" /></a></p>
<p>There are 3 security connection options in SQL Server Data Source:   <br /> &#8211; Connect with User’s Identity&#160;&#160; =&gt; it will use running user’s credential to access to DB server. This implies that you need to manage user’s access rights in DB server.    <br /> &#8211; Connect with Impersonated Windows Identity =&gt; it will use impersonated Windows Identity ; usually the Application Pool identity.    <br /> &#8211; Connect with Impersonated Custom Identity =&gt; it will use specified user/password combination ; you need to define the Custom Identity separately.</p>
<p>&#160;<a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0004.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0004" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0004_thumb.png" width="370" height="257" /></a> </p>
<p><strong>Now, we already have the External List with the tables and views.     <br /></strong><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0005.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0005" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0005_thumb.png" width="553" height="386" /></a> </p>
<p>4. Select any table for the External Content types. In this scenario, I select <strong>RequestTbl</strong> for my data storage. Right click on the selected table, and SPD2010 will show you the available operations.     <br /><strong><u>The External Content Types requires at least “Read Item” and “Read List” operation.</u></strong>&#160; <strong><u>In every operation you will need at least 1 identifier.</u></strong></p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0006.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0006" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0006_thumb.png" width="561" height="357" /></a> </p>
<p>Follow the wizard to create an operation.</p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0007.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0007" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0007_thumb.png" width="428" height="364" /></a></p>
<p><strong>Don’t forget that every operation requires at least 1 identifier. You can choose ID field from the table.</strong></p>
<p>&#160;<a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0008.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0008" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0008_thumb.png" width="511" height="379" /></a> </p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0009.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0009" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0009_thumb.png" width="339" height="349" /></a> </p>
<p>You can also define the default view filter, for example, by default this external content type will show only the first 100 items.</p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0010.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0010" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0010_thumb.png" width="462" height="171" /></a> </p>
<p><strong>5. Publish the new content type by click “Save” button.</strong></p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0011.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="SPS2010_BDC-0011" src="http://blog.libinuko.com/wp-content/uploads/2010/04/SPS2010_BDC0011_thumb.png" width="583" height="305" /></a> </p>
<p>&#160;</p>
<p>Now you already have new External Content Type. You can also create external content type to call .NET CLR and WCF Service. Next , how to use the external content type in a list.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/04/10/sharepoint-2010-how-to-create-external-content-type/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

