<?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; SharePoint 2007</title>
	<atom:link href="http://blog.libinuko.com/category/microsoft-sharepoint/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 2010 : RemoteStsAdm PowerShell Module</title>
		<link>http://blog.libinuko.com/2011/09/17/sharepoint-2010-remotestsadm-powershell-module/</link>
		<comments>http://blog.libinuko.com/2011/09/17/sharepoint-2010-remotestsadm-powershell-module/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 04:50:26 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[StsAdm]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2011/09/17/sharepoint-2010-remotestsadm-powershell-module/</guid>
		<description><![CDATA[English The STSADM.exe is command-line tool for administration of Office SharePoint Server (SharePoint 2007, SharePoint 2010). It is installed on the same location as SharePoint Products and Technologies location: %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\12\bin (for SharePoint 2007) or %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\bin (for SharePoint 2010). You must be Farm Administrator to be able to run the tool. By [...] <a href="http://blog.libinuko.com/2011/09/17/sharepoint-2010-remotestsadm-powershell-module/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>The STSADM.exe is command-line tool for administration of Office SharePoint Server (SharePoint 2007, SharePoint 2010). It is installed on the same location as SharePoint Products and Technologies location: %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\12\bin (for SharePoint 2007) or %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\bin (for SharePoint 2010). You must be Farm Administrator to be able to run the tool.</p>
<p>By default, the STSADM.exe must be executed locally since it will access SharePoint Object Model. It is also necessary for the tools to connect to the SQL Database using credential of the user who executes it. Therefore, normally the Administrator must remote-login to the SharePoint server before he/she can run the tools.</p>
<p>Remote execution of STSADM.exe using PowerShell <em>Invoke-Command </em>cmdlet faces double-hop challenges. This occurs when SQL Database for the farms is installed on different machine than the SharePoint server. The credential in the<em>Invoke-Command </em>session can not pass through to the SQL Database without configuring delegation in the WinRM services.<strong>This module solve double-hop problem without configuring CredSSP</strong>.</p>
<p>Download the module here:   <br /><a title="http://code.msdn.microsoft.com/Remote-StsAdm-in-6fec24b8" href="http://code.msdn.microsoft.com/Remote-StsAdm-in-6fec24b8">http://code.msdn.microsoft.com/Remote-StsAdm-in-6fec24b8</a></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/09/17/sharepoint-2010-remotestsadm-powershell-module/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</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>SharePoint 2010: Remote StsAdm using PowerShell</title>
		<link>http://blog.libinuko.com/2011/08/24/powershell-remote-stsadm-using-powershell/</link>
		<comments>http://blog.libinuko.com/2011/08/24/powershell-remote-stsadm-using-powershell/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 16:39:45 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[StsAdm]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2011/08/24/powershell-remote-stsadm-using-powershell/</guid>
		<description><![CDATA[English In large network, issuing a command to remote server from current terminal is sometimes necessary. Some propose client-server mode; for example Remote StsAdm (http://netstsadm.codeplex.com/) and other propose to use PsExec (http://thingsthatshouldbeeasy.blogspot.com/2009/08/run-stsadm-commands-remotely.html). The client-server mode requires installation of 3rd party tools. This kind of installation sometimes (or most of the time) is forbidden by company security [...] <a href="http://blog.libinuko.com/2011/08/24/powershell-remote-stsadm-using-powershell/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p><strong><em>English </em></strong></p>
<p>In large network, issuing a command to remote server from current terminal is sometimes necessary. Some propose client-server mode; for example Remote StsAdm (<a href="http://netstsadm.codeplex.com/">http://netstsadm.codeplex.com/</a>) and other propose to use PsExec (<a href="http://thingsthatshouldbeeasy.blogspot.com/2009/08/run-stsadm-commands-remotely.html">http://thingsthatshouldbeeasy.blogspot.com/2009/08/run-stsadm-commands-remotely.html</a>).</p>
<p>The client-server mode requires installation of 3rd party tools. This kind of installation sometimes (or most of the time) is forbidden by company security policy. <br />
	Second option using PsExec from SysInternal (now part of Microsoft) doesn&#39;t requires installation to SharePoint server and may be the correct approach. However, I am not convince that this tools will be compatible with the future Operating System.</p>
<p><strong>So, what is the option? </strong> <br />
	PowerShell and Remoting!</p>
<p>PowerShell has been introduced during Windows 2008 era. However, Windows 2003 server owner can apply KB968930 (http://support.microsoft.com/kb/968930) to bring PowerShell functionality to their server. PowerShell will replace command.com because of the flexibility &#8211; enabling integration between shell and operating system itself.</p>
<p><strong>Let&#39;s get our job done </strong></p>
<p>1. First enable remoting on the SharePoint Server.</p>
<pre class="brush: ps;  html-script: false">    Enable-PSRemoting -Force</pre>
<p>2.&nbsp; Prepare the stsadm command alias</p>
<pre class="brush: ps; html-script: false"> $executable = &quot;$env:ProgramFiles\Common Files\Microsoft Shared\web server extensions\12\bin\stsadm.exe&quot; </pre>
<p>&nbsp;</p>
<p>3.&nbsp; Remember my previous post about how to avoid double hop problem? (<a href="http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/" title="http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/">http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/</a>) . Now we will create new function that uses Invoke-RemoteCommand. Basically, we will construct commandline parameter for Invoke-RemoteCommand. We also try to provide AS-IF user call stsadm.</p>
<pre class="brush:ps; html-script: false">function StsAdm
{
   param(
      [string] $commandOptions,
      [string] $username,
      [string] $password
   )

   $executable = &quot;$env:ProgramFiles\Common Files\Microsoft Shared\web server extensions\12\bin\stsadm.exe&quot;

   Invoke-RemoteCommand -commandline &quot;&#39;$executable&#39; $commandOptions&quot; -username $username -password $password

}

Usage : StsAdm -commandOptions &quot;-o enumwebs&quot; -username &quot;setup account&quot; -password &quot;setup password&quot;</pre>
<p>And voila, you have remote stsadm function without compromising security policy.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/08/24/powershell-remote-stsadm-using-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell : How to overcome double-hop problem in PowerShell remoting</title>
		<link>http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/</link>
		<comments>http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 09:34:00 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/</guid>
		<description><![CDATA[English: I am interesting to the PowerShell remoting topic from PowerShell Cookbook Chapter 29 here (http://www.pavleck.net/powershell-cookbook/ch29.html). In order to solve double-hop problem, it uses schedule task. The sample create schedule task to Enable-PSRemoting in remote machine. But don’t you think we need something more generic to overcome double-hop problem? PowerShell offers Enable-WSManCredSSP or Kerberos so that the [...] <a href="http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English:</p>
<p>I am interesting to the PowerShell remoting topic from PowerShell Cookbook Chapter 29 here (<a title="http://www.pavleck.net/powershell-cookbook/ch29.html" href="http://www.pavleck.net/powershell-cookbook/ch29.html">http://www.pavleck.net/powershell-cookbook/ch29.html</a>). In order to solve double-hop problem, it uses schedule task. The sample create schedule task to Enable-PSRemoting in remote machine.</p>
<p>But don’t you think we need something more generic to overcome double-hop problem? PowerShell offers Enable-WSManCredSSP or Kerberos so that the process can delegates the credential to execute next-hop process. However,  CredSSP is only available on Windows 7 and above. What about OS before Windows 7 or Windows Server 2008?  If you have Windows 7 or Windows Server 2008 – you may follow tutorial in this link (<a title="http://www.ravichaganti.com/blog/?p=1230" href="http://www.ravichaganti.com/blog/?p=1230">http://www.ravichaganti.com/blog/?p=1230</a>). But if you have Windows 2003 or previous version, then you must keep reading.</p>
<p>So, lets start by defining our function Invoke-RemoteCommand. This command will accept :</p>
<p>1. (Optional) Taskname, name of task identifier<br />
2. Commandline, actual command for example powershell or cmd.exe<br />
3. Username, credential to execute the command<br />
4. Password, password for the credential to execute the command</p>
<div id="scid:DFDE9937-D816-47f4-A306-7B60D5CE5AC0:18da64f8-eb0d-4d0a-9cc2-0ea02f884616" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush: powershell; gutter: true; first-line: 1; tab-size: 4;  toolbar: true; ">function Invoke-RemoteCommand{

    param(
       [System.String]
       $taskname = (get-date -format "'Demo task' dd-MM-yyyy hh.mm.ss"),

       [System.String]
       $commandline = "cmd /c 'dir c:\'",

       [Parameter(Mandatory=$true)]
       [String]
       $username,

       [parameter(Mandatory = $true)]
       [String]
       $password
   )

    schtasks /create /tn $taskname /tr $commandline /sc weekly  /ru $username /rp $password | out-null
    schtasks /run /tn $taskname | out-null
    write-host "Waiting task execution." -nonewline -foreground green
    do {
      $taskStatus = schtasks /query /fo csv /v | convertfrom-csv | ? { $_.TaskName.TrimStart("\") -eq "$taskname"}
      sleep 10
      write-host "." -nonewline -foreground green
    } while ($taskStatus."Status" -eq "Running")
    write-host "Success!" -foreground green
    schtasks /delete /tn $taskname /f | out-null
    return $taskStatus
}</pre>
<p>&nbsp;</p>
<p>The function will create schedule task on remote machine, execute, wait until execution complete and return the result.</p></div>
<p>For example, we want to list directory of the ServerX by issuing command to ServerY. Normally, following command will fail because of double-hop problem (it doesn’t matter whether you supply user credential, it will still failed):</p>
<div id="scid:DFDE9937-D816-47f4-A306-7B60D5CE5AC0:ac27d6ef-2c31-4cd1-965a-67e91c478a52" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush: powershell; gutter: true; first-line: 1; tab-size: 4;  toolbar: true; ">Invoke-Command -ComputerName ServerY -Script { "dir \\ServerX\d$" }</pre>
<p>&nbsp;</p>
</div>
<p>Using the new function, we change the command into</p>
<div id="scid:DFDE9937-D816-47f4-A306-7B60D5CE5AC0:279054e4-83f7-4d63-a860-568d720f9fb6" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">
<pre class="brush: powershell; gutter: true; first-line: 1; tab-size: 4;  toolbar: true; ">invoke-command -script { Invoke-RemoteCommand -cmd "powershell -noprofile -command 'dir \\ServerX\d$'" -username "domain\user" -password "password" }</pre>
<p>&nbsp;</p>
</div>
<p>The last script will performs following:</p>
<p>1. Create schedule tasks with a specific identifier</p>
<p>2. Command in schedule task is “powershell –noprofile …..”</p>
<p>3. Execute schedule tasks</p>
<p>4. Wait until execution completes</p>
<p>5. Return the status</p>
<p>Finally, the script will work in Windows 2003 , Windows 7, Windows Vista or Windows 2008.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/04/29/powershell-how-to-overcome-double-hop-problem-in-powershell-remoting-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SharePoint : Writing Custom Web Service for SharePoint, is it supported?</title>
		<link>http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/</link>
		<comments>http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 15:31:00 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[WebServices]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/</guid>
		<description><![CDATA[English You may already read this following article &#8220;Writing Custom Web Service for SharePoint Products and Technologies&#8221; (http://msdn.microsoft.com/en-us/library/dd583131(v=office.11).aspx) or &#8220;Walkthrough: Creating a Custom ASP.NET Web Service&#8221; (http://msdn.microsoft.com/en-us/library/ms464040.aspx). The steps can be summarized as follows: Create normal ASPNET web service In this step you will create ASPNET Web Services using Visual Studio as you always do. From this [...] <a href="http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>You may already read this following article &ldquo;Writing Custom Web Service for SharePoint Products and Technologies&rdquo; (<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>) or &ldquo;Walkthrough: Creating a Custom ASP.NET Web Service&rdquo; (<a href="http://msdn.microsoft.com/en-us/library/ms464040.aspx" title="http://msdn.microsoft.com/en-us/library/ms464040.aspx">http://msdn.microsoft.com/en-us/library/ms464040.aspx</a>). The steps can be summarized as follows:</p>
<ol>
<li>Create normal ASPNET web service <br />
		In this step you will create ASPNET Web Services using Visual Studio as you always do. From this step, you will have <strong><em>&lt;Service&gt;.</em></strong>asmx, where <em>&lt;Service&gt;</em> is your web service asmx file.</li>
<li>Create corresponding <strong>.disco</strong> file and a<strong> .wsdl</strong> file <br />
		In this step you will create extract of DISCO<em>very</em>&nbsp; file and WSDL of ASPNET web service from step #1, and add reference to Microsoft.SharePoint assembly. From this step, you will have 2 files <strong><em>&lt;Service&gt;</em>disco</strong>.aspx and <strong><em>&lt;Service&gt;</em>wsdl</strong>.aspx.</li>
<li>Copy the 3 files to _vti_bin (12hive\ISAPI) <br />
		In this step you will copy the 3 files (&lt;Service&gt;.asmx, &lt;Service&gt;disco.aspx and &lt;Service&gt;wsdl.aspx) into 12hive\ISAPI. Of course in real deployment, you can use WSP.</li>
<li>Register the new web service in spdisco.aspx <br />
		In this step you will <strong>modify built-in SharePoint file spdisco.aspx,</strong> so that your web service will be recognized by SharePoint.</li>
</ol>
<p>Until here you will have working custom web service in SharePoint but&nbsp; <font style="background-color: rgb(255, 255, 0);"><strong>are you sure that your SharePoint farm is still supported?</strong></font></p>
<p>If you read &ldquo;Modifying Built-In SharePoint Files&rdquo; (<a href="http://msdn.microsoft.com/en-us/library/bb803457(v=office.12).aspx" title="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>) rules, the step #4 is unsupported. Step#4 is to modify spdisco.aspx so that the custom web service will work.</p>
<p>So do you still want to built custom web service using that technique? <br />
	My suggestion, think twice! In fact you can still use ASPNET web service without SharePoint integration &ndash; it will work but lost SharePoint context. Moreover, you can&rsquo;t tell WSP to modify spdisco.aspx unless you use event handler &ndash; which mean more complexity.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2011/02/16/sharepoint-writing-custom-web-service-for-sharepoint-is-it-supported/feed/</wfw:commentRss>
		<slash:comments>2</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: MS Patterns and Practices &#8211; Developing Application for SharePoint 2010</title>
		<link>http://blog.libinuko.com/2010/07/05/sharepoint-2010-ms-patterns-and-practices-developing-application-for-sharepoint-2010/</link>
		<comments>http://blog.libinuko.com/2010/07/05/sharepoint-2010-ms-patterns-and-practices-developing-application-for-sharepoint-2010/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 03:26:48 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Patterns and Practices]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/?p=483</guid>
		<description><![CDATA[English Whether you are geek SharePoint 2007 who are migrating to SharePoint 2010  &#8211; or freshmen who are starting to develop application for SharePoint 2010; Microsoft Patterns and Practices is always good resources to learn. In the SharePoint 2007 era, Microsoft release paterns and practices quite long time after the release of SharePoint 2007. But, good news &#8211; [...] <a href="http://blog.libinuko.com/2010/07/05/sharepoint-2010-ms-patterns-and-practices-developing-application-for-sharepoint-2010/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>Whether you are geek SharePoint 2007 who are migrating to SharePoint 2010  &#8211; or freshmen who are starting to develop application for SharePoint 2010; Microsoft Patterns and Practices is always good resources to learn. In the SharePoint 2007 era, Microsoft release paterns and practices quite long time after the release of SharePoint 2007.</p>
<p>But, good news &#8211; MS just  released MS Paterns and Practices to develop application for SharePoint 2010; only few weeks after the release of SharePoint 2010.</p>
<p>Grab it here:<br />
<a href="http://msdn.microsoft.com/en-us/library/dd203468.aspx">http://msdn.microsoft.com/en-us/library/dd203468.aspx</a><br />
and codeplex here:<br />
<a href="http://spg.codeplex.com/">http://spg.codeplex.com/</a></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/07/05/sharepoint-2010-ms-patterns-and-practices-developing-application-for-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010: Faboulous 40 for SharePoint 2010</title>
		<link>http://blog.libinuko.com/2010/07/05/sharepoint-2010-faboulous-40-for-sharepoint-2010/</link>
		<comments>http://blog.libinuko.com/2010/07/05/sharepoint-2010-faboulous-40-for-sharepoint-2010/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 03:02:33 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Faboulous 40]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/?p=479</guid>
		<description><![CDATA[Faboulous 40 have become a good showcase for us for SharePoint 2007 implementation.  I personaly deployed it in some of my clients &#8211; and it is a good start to play with SharePoint 2007 business implementation.  They are not perfect tough &#8211; but they create conversation on the functionalities and enhancements. So far, Microsoft has not [...] <a href="http://blog.libinuko.com/2010/07/05/sharepoint-2010-faboulous-40-for-sharepoint-2010/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Faboulous 40 have become a good showcase for us for SharePoint 2007 implementation.  I personaly deployed it in some of my clients &#8211; and it is a good start to play with SharePoint 2007 business implementation.  They are not perfect tough &#8211; but they create conversation on the functionalities and enhancements.</p>
<p>So far, Microsoft has not release Fab40 for SharePoint 2010 &#8211; but we can find un-official Fab40 by Khalil here : <a href="http://techsolutions.net/Blog/tabid/65/EntryId/17/Fab-40-Templates-for-MOSS-2010.aspx">http://techsolutions.net/Blog/tabid/65/EntryId/17/Fab-40-Templates-for-MOSS-2010.aspx</a></p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/07/05/sharepoint-2010-faboulous-40-for-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010 : The deployment &#8230; is not compatible with a Package in Sandboxed Solution</title>
		<link>http://blog.libinuko.com/2010/06/19/sharepoint-2010-the-deployment-is-not-compatible-with-a-package-in-sandboxed-solution/</link>
		<comments>http://blog.libinuko.com/2010/06/19/sharepoint-2010-the-deployment-is-not-compatible-with-a-package-in-sandboxed-solution/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 07:23:27 +0000</pubDate>
		<dc:creator>cakriwut</dc:creator>
				<category><![CDATA[Office 2010]]></category>
		<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[Sandboxed Solution]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://blog.libinuko.com/2010/06/19/sharepoint-2010-the-deployment-is-not-compatible-with-a-package-in-sandboxed-solution/</guid>
		<description><![CDATA[English One of new feature in SharePoint 2010 is Sandboxed Solution. The ideas is to create solution and deploying them in a way that you can trust will not damage or change SharePoint farm. (http://msdn.microsoft.com/en-us/magazine/ee335711.aspx) Sandboxed Solution is aimed for isolation between one solution to another; which implies that you can not include anything inside the [...] <a href="http://blog.libinuko.com/2010/06/19/sharepoint-2010-the-deployment-is-not-compatible-with-a-package-in-sandboxed-solution/">[read more...]</a>]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>English</p>
<p>One of new feature in SharePoint 2010 is Sandboxed Solution. The ideas is to create solution and deploying them in a way that you can trust will not damage or change SharePoint farm. (<a title="http://msdn.microsoft.com/en-us/magazine/ee335711.aspx" href="http://msdn.microsoft.com/en-us/magazine/ee335711.aspx">http://msdn.microsoft.com/en-us/magazine/ee335711.aspx</a>) </p>
<p>Sandboxed Solution is aimed for isolation between one solution to another; which implies that you can not include anything inside the hive folder. If you try to include TemplateFile, Layouts or Images in package, VS2010 will raise an error stating “The deployment type …… is not compatible with a Package in a Sandboxed Solution”.&#160; And it means you have to think about the solution architecture again and refine the rules. </p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/06/image3.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="image" src="http://blog.libinuko.com/wp-content/uploads/2010/06/image_thumb3.png" width="536" height="158" /></a> </p>
<p>For example, you may consider custom document library to store the images for your solution, etc.</p>
<p>However, sometimes we need to get rid from sandboxed solution. Then we need to change the project type into non-sandboxed solution. To change project type to non-sandboxed solution,   </p>
<p>1. Click on project property    <br />2. Set Sandboxed Solution = False.</p>
<p><a href="http://blog.libinuko.com/wp-content/uploads/2010/06/image4.png"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="image" src="http://blog.libinuko.com/wp-content/uploads/2010/06/image_thumb4.png" width="288" height="446" /></a> </p>
<p>Now continue your work.</p>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://blog.libinuko.com/2010/06/19/sharepoint-2010-the-deployment-is-not-compatible-with-a-package-in-sandboxed-solution/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

