<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUUFQ3o8fip7ImA9WhRQGEo.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836</id><updated>2011-12-14T15:33:32.476+01:00</updated><category term="Code" /><category term="Visual Studio" /><category term="Workflow" /><category term="IIS7" /><category term="Infopath" /><category term="Security" /><category term="stsadm" /><category term="Administration" /><title>SharePoint (almost) Logic</title><subtitle type="html">When SharePoint drives me nuts !</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://sharepointologic.blogspot.com/" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/SharepointalmostLogic" /><feedburner:info uri="sharepointalmostlogic" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUcCRnc-cCp7ImA9Wx9XGEk.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-186824140067335997</id><published>2010-11-23T14:46:00.030+01:00</published><updated>2011-01-12T16:44:27.958+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-12T16:44:27.958+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Workflow" /><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>Programmatically approve a SharePoint workflow task</title><content type="html">I know they are several samples available out there, but here is a merge the best parts I found.&lt;br /&gt;
&lt;br /&gt;
This example will show how to notify a sharepoint workflow to move to next step.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Context&lt;/b&gt;&lt;br /&gt;
I'm creating a custom workflow. I need to notify the wf from outside the process (list event, console app,etc...).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Workflow&lt;/b&gt;&lt;br /&gt;
The basic is to create a "fake" task and monitor the OnTaskChange event, then programmatically approve the task from outside the process.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_Sf5CuLtmQqw/TOvPDawa9fI/AAAAAAAAARA/ko8_KhwQOno/s1600/wfgraph.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5542751424038499826" src="http://1.bp.blogspot.com/_Sf5CuLtmQqw/TOvPDawa9fI/AAAAAAAAARA/ko8_KhwQOno/s400/wfgraph.JPG" style="height: 400px; width: 200px;" /&gt;&lt;/a&gt;&lt;br /&gt;
The wf example is pretty simple: create a task, wait for changes then log a message in the workflow history.&lt;br /&gt;
&lt;br /&gt;
Bind the CorrelationToken of the CreateTask1 to a new token on that will be exclusive for this task. Apply the same token to the OnTaskChanged1.&lt;br /&gt;
&lt;br /&gt;
The while loop could be omitted in this example, I left it to suggest that you can add a validation at this point using the while condition.&lt;br /&gt;
&lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;pre class="csharp" name="code"&gt;private void createTask1_MethodInvoking(object sender, EventArgs e)
{
  var ct = sender as CreateTask;
  ct.TaskId = Guid.NewGuid();
  var spTaskProperties = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
  spTaskProperties.Title = String.Format("{0} Step1", this.workflowProperties.Item.Name);
  ct.TaskProperties = spTaskProperties;
}
&lt;/pre&gt;&lt;br /&gt;
No need to bind the OnTaskChanged Invoked event.&lt;br /&gt;
The CreateTask1_MethodInvoking provides the minimal infos to create the task, note that the AssignedTo property is left blank.&lt;br /&gt;
&lt;br /&gt;
NOTE: In the feature that deployed the workflow I didn't specify an infopath form.&lt;br /&gt;
Therefore if you manually go to the workflow task list and click on the task you will get a message telling you that no xsn form is associated, nothing to worry about we'll do it through code :)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Notifying the workflow&lt;/b&gt;&lt;br /&gt;
In this example I chose to fire next step of the workflow from a console application.&lt;br /&gt;
&lt;pre class="csharp" name="code"&gt;static void Main(string[] args)
{
  using (var site = new SPSite("http://[site_url]"))
  {
    using (var web = site.OpenWeb())
    {
      // retreive the list where the workflow is running
      var list = web.Lists["myList"]; 

      // find the item with the task to complete (for the example my item's ID is 1)
      var item = list.Items.Cast&amp;lt;SPListItem&amp;gt;().First(c =&amp;gt; c.ID == 1);
      
      // find the latest active workflow
      var wfs = site.WorkflowManager.GetItemActiveWorkflows(item).Cast&amp;lt;SPWorkflow&amp;gt;();
      var wfID = wfs.OrderByDescending(c =&amp;gt; c.Created).First();

      // fetch workflow tasks
      var wfTasks = item.Tasks;
      
      // find the correct task
      var task = (SPListItem)wfTasks.Cast&amp;lt;SPWorkflowTask&amp;gt;().First(
        c =&amp;gt; c.WorkflowId.Equals(wfID.InstanceId)
        &amp;amp;&amp;amp; c.Title.Contains("Step1"));

      // build a hashtable with the values to be changed to mark the task as complete
      var ht = new Hashtable();
      ht[SPBuiltInFieldId.Completed] = true;
      ht[SPBuiltInFieldId.PercentComplete] = 1;
      string taskStatus = SPResource.GetString(new CultureInfo((int)task.Web.Language, false), "WorkflowTaskStatusComplete", new object[0]);
      ht[SPBuiltInFieldId.TaskStatus] = taskStatus;

      // alter the task using a trick to prevent task lock issue
      AlterTask(task, ht, true, 5, 100);
    }
  }
}


public static bool AlterTask(SPListItem task, Hashtable htData, bool fSynchronous, int attempts, int millisecondsTimeout)
{
  // check this link for more details: http://geek.hubkey.com/2007/09/locked-workflow.html

  if ((int)task[SPBuiltInFieldId.WorkflowVersion] != 1)
  {
    SPList parentList = task.ParentList.ParentWeb.Lists[new Guid(task[SPBuiltInFieldId.WorkflowListId].ToString())];
    SPListItem parentItem = parentList.Items.GetItemById((int)task[SPBuiltInFieldId.WorkflowItemId]);
    for (int i = 0; i &amp;lt; attempts; i++)
    {
      SPWorkflow workflow = parentItem.Workflows[new Guid(task[SPBuiltInFieldId.WorkflowInstanceID].ToString())];
      if (!workflow.IsLocked)
      {
        task[SPBuiltInFieldId.WorkflowVersion] = 1;
        task.SystemUpdate();
        break;
      }
      if (i != attempts - 1)
        Thread.Sleep(millisecondsTimeout);
    }
  }
  return SPWorkflowTask.AlterTask(task, htData, fSynchronous);
}

&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
And voila!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-186824140067335997?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hSAGj4M2cr8J5iSBqhWYpK4VW8w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hSAGj4M2cr8J5iSBqhWYpK4VW8w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hSAGj4M2cr8J5iSBqhWYpK4VW8w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hSAGj4M2cr8J5iSBqhWYpK4VW8w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/UGHawAZ62DE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/186824140067335997/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=186824140067335997" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/186824140067335997?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/186824140067335997?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/UGHawAZ62DE/programmatically-approve-sharepoint.html" title="Programmatically approve a SharePoint workflow task" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Sf5CuLtmQqw/TOvPDawa9fI/AAAAAAAAARA/ko8_KhwQOno/s72-c/wfgraph.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2010/11/programmatically-approve-sharepoint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4ER3k-fCp7ImA9Wx5aE0Q.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-6147771104128449117</id><published>2010-11-04T11:47:00.009+01:00</published><updated>2010-11-10T13:41:46.754+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-10T13:41:46.754+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>SharePoint PeoplePicker as required field</title><content type="html">SharePoint's PeoplePicker has pain understanding the AllowEmpty="false" property.&lt;br /&gt;I found all sorts of palliative solutions including complex javascript rubbish (and even JQuery solutions).&lt;br /&gt;The following is the easiest way to achieve client side validation to set the picker as requierd.&lt;br /&gt;&lt;br /&gt;&lt;pre name='code' class='xml'&gt;&lt;br /&gt;[...]&lt;br /&gt;&lt;%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %&gt;&lt;br /&gt;[...]&lt;br /&gt;&amp;lt;SharePoint:PeopleEditor ID=&amp;quot;PeopleEditor1&amp;quot;&lt;br /&gt;                         runat=&amp;quot;server&amp;quot;&lt;br /&gt;                         SelectionSet=&amp;quot;User&amp;quot;&lt;br /&gt;                         MultiSelect=&amp;quot;true&amp;quot;&lt;br /&gt;                         MaximumEntities=&amp;quot;2&amp;quot;&lt;br /&gt;                         AllowEmpty=&amp;quot;false&amp;quot;&lt;br /&gt;                         ValidatorEnabled=&amp;quot;true&amp;quot;&lt;br /&gt;                         ValidationGroup=&amp;quot;myValidationGroup&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;asp:RequiredFieldValidator ID=&amp;quot;RequiredFieldValidator1&amp;quot;&lt;br /&gt;                            runat=&amp;quot;server&amp;quot;&lt;br /&gt;                            ValidationGroup=&amp;quot;myValidationGroup&amp;quot;&lt;br /&gt;                            ControlToValidate=&amp;quot;PeopleEditor1$downlevelTextBox&amp;quot;&lt;br /&gt;                            ErrorMessage=&amp;quot;This Field is required.&amp;quot; /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Use a RequiredFieldValidator and set the ControlToValidate to "[ControlName]&lt;b&gt;$downlevelTextBox&lt;/b&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-6147771104128449117?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aCIiGsqErIhJkkCFw6n8N0ypUh0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aCIiGsqErIhJkkCFw6n8N0ypUh0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aCIiGsqErIhJkkCFw6n8N0ypUh0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aCIiGsqErIhJkkCFw6n8N0ypUh0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/ExVVN99Hxog" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/6147771104128449117/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=6147771104128449117" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6147771104128449117?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6147771104128449117?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/ExVVN99Hxog/sharepoint-peoplepicker-as-required.html" title="SharePoint PeoplePicker as required field" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2010/11/sharepoint-peoplepicker-as-required.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4NSXg5cSp7ImA9Wx9TFUQ.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-5535105883346851904</id><published>2010-10-25T16:14:00.006+02:00</published><updated>2010-11-24T10:29:58.629+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-24T10:29:58.629+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IIS7" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>SharePoint Debug Timeout</title><content type="html">&lt;i&gt;"The web server process that was being debugged has been terminated by IIS"&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
How painful is it to be kicked off the process you're debugging? &lt;br /&gt;
Having no solution until then I ended up doing ninja speed debugging =&gt; look at the values as quick as possible to release the debug mode and not crash IIS7. (I know, I felt sorry for me as well)&lt;br /&gt;
&lt;br /&gt;
This time is over, ladies &amp; gentlemen here is the answer!&lt;br /&gt;
&lt;br /&gt;
1) click "Start", "Run..." type "inetmgr"&lt;br /&gt;
2) find the naughty application pool and right click on it -&gt; "Advanced Settings"&lt;br /&gt;
3) under "Process Model" section switch "Ping Enabled" to "False"&lt;br /&gt;
4) allow your self a 5min coffee/tee break as you will now experience intensive debugging :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ref: &lt;a href="http://msdn.microsoft.com/en-us/library/bb763108.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb763108.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-5535105883346851904?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BvGQOCouZTANtlUKDa2Oe2BnAM0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BvGQOCouZTANtlUKDa2Oe2BnAM0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BvGQOCouZTANtlUKDa2Oe2BnAM0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BvGQOCouZTANtlUKDa2Oe2BnAM0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/zW9-JMu2TYQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/5535105883346851904/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=5535105883346851904" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/5535105883346851904?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/5535105883346851904?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/zW9-JMu2TYQ/sharepoint-debug-timeout.html" title="SharePoint Debug Timeout" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2010/10/sharepoint-debug-timeout.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4DQ3o6cSp7ImA9Wx9TFUQ.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-7161492838329822342</id><published>2010-02-26T14:58:00.004+01:00</published><updated>2010-11-24T10:29:32.419+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-24T10:29:32.419+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="stsadm" /><title>Execute STSADM faster</title><content type="html">&lt;div&gt;Have you some times noticed the lag before stsadm actually starts executing (lets say a simple "-o activatefeature") ?&lt;/div&gt;&lt;div&gt;After many googling attempts I finally found &lt;a href="http://www.muhimbi.com/blog/2009/04/new-approach-to-solve-sharepoints.html"&gt;this guy's page&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Made short: Insert this line in your host file.&lt;br /&gt;
&lt;pre name="code"&gt;127.0.0.1     crl.microsoft.com
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;Basically this will bypass the online signature check of any Microsoft .NET assembly (and probably more). If your computer has no internet access this check will wait until the timeout.&lt;/div&gt;&lt;div&gt;Each time you execute stsadm it will load all assemblies "again!". This trick can considerably speedup an install script with many calls to stsadm.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;According to a MS guy I work with, this is ok to use on a dev environment but is a security issue for production environment (though in my opinion as the servers are already in a DMZ... (...) ...whatever). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I invite you to test "stsadm -help" 5 times in a row as fast as you can, with and with out the host file modification. Enjoy :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Edit: Noticed side effect it also slightly speeds up rebuild after iisreset/pool recycle, debugging attach process, visual studio startup, etc...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-7161492838329822342?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/It0XeXq8qqfyqDqElx45ZIIRjqk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/It0XeXq8qqfyqDqElx45ZIIRjqk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/It0XeXq8qqfyqDqElx45ZIIRjqk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/It0XeXq8qqfyqDqElx45ZIIRjqk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/1qyf1Iw-9Xg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/7161492838329822342/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=7161492838329822342" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/7161492838329822342?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/7161492838329822342?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/1qyf1Iw-9Xg/execute-stsadm-faster.html" title="Execute STSADM faster" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2010/02/execute-stsadm-faster.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8ERnk-fSp7ImA9WxNSGEQ.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-2753064350435726584</id><published>2009-06-11T14:52:00.006+02:00</published><updated>2009-09-02T14:16:47.755+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-02T14:16:47.755+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Reference to SharePoint API from a visual studio web project on an x64 environment</title><content type="html">&lt;span style="color:#ff0000;"&gt;&lt;em&gt;&lt;span style="font-family:arial;"&gt;Could not load file or assembly 'Microsoft.SharePoint.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. An attempt was made to load a program with an incorrect format.&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I endedup with this message when I opened a web project under visual studio after referencing the &lt;em&gt;Microsoft.SharePoint&lt;/em&gt; assembly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What happend is that I'm actually using a x64 environment (in my case WIN2008 x64 &amp;amp; MOSS x64) and the &lt;em&gt;Microsoft.SharePoint.Search&lt;/em&gt; assembly is compiled for AMD64 in my GAC where the process is searching for a x86 version of this assembly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solution found: Copy the x86 version of the file in the GAC (both versions can reside side by side without conflicting). You can find this file under "&lt;em&gt;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\ISAPI&lt;/em&gt;".&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/SjEAyWbbiII/AAAAAAAAAL0/cXhK6Eiba0U/s1600-h/ScreenShot001.bmp"&gt;&lt;img style="WIDTH: 655px; HEIGHT: 31px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5346055097679579266" border="0" alt="" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/SjEAyWbbiII/AAAAAAAAAL0/cXhK6Eiba0U/s400/ScreenShot001.bmp" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-2753064350435726584?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MWF58Bkqqyas6Gf3Xj7YxlsE1RM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MWF58Bkqqyas6Gf3Xj7YxlsE1RM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MWF58Bkqqyas6Gf3Xj7YxlsE1RM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MWF58Bkqqyas6Gf3Xj7YxlsE1RM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/pl0nxrM1OAs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/2753064350435726584/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=2753064350435726584" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/2753064350435726584?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/2753064350435726584?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/pl0nxrM1OAs/reference-to-sharepoint-api-from-visual.html" title="Reference to SharePoint API from a visual studio web project on an x64 environment" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_Sf5CuLtmQqw/SjEAyWbbiII/AAAAAAAAAL0/cXhK6Eiba0U/s72-c/ScreenShot001.bmp" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2009/06/reference-to-sharepoint-api-from-visual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4BQ3k5cSp7ImA9Wx9TFUQ.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-3027806504525430127</id><published>2009-03-17T11:12:00.020+01:00</published><updated>2010-11-24T10:29:12.729+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-24T10:29:12.729+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><category scheme="http://www.blogger.com/atom/ns#" term="Infopath" /><title>How to add a PeoplePicker in an Infopath Form</title><content type="html">Here is how to add a PeoplePicker in an InfoPath Form :)&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Sf5CuLtmQqw/Sb962gBOuYI/AAAAAAAAAJY/wN1WC4TRbCE/s1600-h/ScreenShot001.jpg"&gt;&lt;img style="cursor: pointer; width: 311px; height: 33px;" src="http://2.bp.blogspot.com/_Sf5CuLtmQqw/Sb962gBOuYI/AAAAAAAAAJY/wN1WC4TRbCE/s320/ScreenShot001.jpg" alt="" id="BLOGGER_PHOTO_ID_5314101162047093122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
To add a PP to a IP Form you must add the control to de designer tools.&lt;br /&gt;
This will also enable you to edit binding and properties of the PP.&lt;br /&gt;
&lt;br /&gt;
NOTE : The sceens were made using "Visual Studio 2008" and the "Visual Studio Tools For Office v3", the approach using InfoPath 2007 is almost similar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First open an InfoPath Form in VS2008 then right click the ToolBox (anywhere) and select "Choose Items...".&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Sf5CuLtmQqw/Sb96-2dhb9I/AAAAAAAAAJg/HiWatHFcMiM/s1600-h/ScreenShot002.jpg"&gt;&lt;img style="cursor: pointer; width: 293px; height: 252px;" src="http://2.bp.blogspot.com/_Sf5CuLtmQqw/Sb96-2dhb9I/AAAAAAAAAJg/HiWatHFcMiM/s320/ScreenShot002.jpg" alt="" id="BLOGGER_PHOTO_ID_5314101305510293458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then click "Add".&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb97Cgv8Z6I/AAAAAAAAAJo/gDG86a39COM/s1600-h/ScreenShot003.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 241px;" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb97Cgv8Z6I/AAAAAAAAAJo/gDG86a39COM/s320/ScreenShot003.jpg" alt="" id="BLOGGER_PHOTO_ID_5314101368401455010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Select "ActiveX Control".&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Sf5CuLtmQqw/Sb98BTcEyDI/AAAAAAAAAJw/iozvlEAtpJQ/s1600-h/ScreenShot004.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 295px;" src="http://3.bp.blogspot.com/_Sf5CuLtmQqw/Sb98BTcEyDI/AAAAAAAAAJw/iozvlEAtpJQ/s320/ScreenShot004.jpg" alt="" id="BLOGGER_PHOTO_ID_5314102447160215602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
So here we are: select "Contact Selector" (that is the PeoplePicker's name in InfoPath).&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb98O1-HHAI/AAAAAAAAAJ4/JFtwT-xH2hY/s1600-h/ScreenShot005.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 294px;" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb98O1-HHAI/AAAAAAAAAJ4/JFtwT-xH2hY/s320/ScreenShot005.jpg" alt="" id="BLOGGER_PHOTO_ID_5314102679768079362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
... "Don't include a .cab file".&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9-hcMB1NI/AAAAAAAAAKA/leYoBdR7fo8/s1600-h/ScreenShot006.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 295px;" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9-hcMB1NI/AAAAAAAAAKA/leYoBdR7fo8/s320/ScreenShot006.jpg" alt="" id="BLOGGER_PHOTO_ID_5314105198287901906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
"Value"&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9-yUzZWrI/AAAAAAAAAKI/35KU5W9Jwgo/s1600-h/ScreenShot007.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 295px;" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9-yUzZWrI/AAAAAAAAAKI/35KU5W9Jwgo/s320/ScreenShot007.jpg" alt="" id="BLOGGER_PHOTO_ID_5314105488363313842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Select "Field or Group (any data type)".&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb-C0FIijJI/AAAAAAAAAK4/4iwM_K_0vTg/s1600-h/ScreenShot013.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 294px;" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb-C0FIijJI/AAAAAAAAAK4/4iwM_K_0vTg/s320/ScreenShot013.jpg" alt="" id="BLOGGER_PHOTO_ID_5314109916563278994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hum... I think you can click "Close" at this point. (you are done)&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Sf5CuLtmQqw/Sb9_SrhypUI/AAAAAAAAAKY/anQahLWwU8c/s1600-h/ScreenShot009.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 294px;" src="http://2.bp.blogspot.com/_Sf5CuLtmQqw/Sb9_SrhypUI/AAAAAAAAAKY/anQahLWwU8c/s320/ScreenShot009.jpg" alt="" id="BLOGGER_PHOTO_ID_5314106044219303234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
the "Contact selector" should appear in the list of Custom Controls. (click OK)&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9_l3nrloI/AAAAAAAAAKg/WJK8CzbWfxU/s1600-h/ScreenShot010.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 241px;" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9_l3nrloI/AAAAAAAAAKg/WJK8CzbWfxU/s320/ScreenShot010.jpg" alt="" id="BLOGGER_PHOTO_ID_5314106373882746498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you managed to get to this point: Congratulations you now have a new control in the ToolBox...&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9_4MQuMsI/AAAAAAAAAKo/Kr_1pZNsXRc/s1600-h/ScreenShot011.jpg"&gt;&lt;img style="cursor: pointer; width: 203px; height: 172px;" src="http://4.bp.blogspot.com/_Sf5CuLtmQqw/Sb9_4MQuMsI/AAAAAAAAAKo/Kr_1pZNsXRc/s320/ScreenShot011.jpg" alt="" id="BLOGGER_PHOTO_ID_5314106688661238466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
... and can now edit PeoplePicker's bindings and properties.&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Sf5CuLtmQqw/Sb-AP0ZkNoI/AAAAAAAAAKw/CKTPPW765FQ/s1600-h/ScreenShot012.jpg"&gt;&lt;img style="cursor: pointer; width: 214px; height: 260px;" src="http://1.bp.blogspot.com/_Sf5CuLtmQqw/Sb-AP0ZkNoI/AAAAAAAAAKw/CKTPPW765FQ/s320/ScreenShot012.jpg" alt="" id="BLOGGER_PHOTO_ID_5314107094572742274" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-3027806504525430127?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uwIpSl2MbMWCuW4UHJKiNN_NY-Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uwIpSl2MbMWCuW4UHJKiNN_NY-Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uwIpSl2MbMWCuW4UHJKiNN_NY-Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uwIpSl2MbMWCuW4UHJKiNN_NY-Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/KunnQ2PddSk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/3027806504525430127/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=3027806504525430127" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/3027806504525430127?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/3027806504525430127?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/KunnQ2PddSk/how-to-add-peoplepicker-in-infopath.html" title="How to add a PeoplePicker in an Infopath Form" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_Sf5CuLtmQqw/Sb962gBOuYI/AAAAAAAAAJY/wN1WC4TRbCE/s72-c/ScreenShot001.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2009/03/how-to-add-peoplepicker-in-infopath.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4GRHg8fyp7ImA9Wx9TFUQ.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-4271926426968670727</id><published>2009-02-20T15:08:00.013+01:00</published><updated>2010-11-24T10:28:45.677+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-24T10:28:45.677+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>Hidden language dropdown for variation</title><content type="html">If you are using variations on a site you will probably want to have a handy way to switch between languages.&lt;br /&gt;
Well in case you didn't know SharePoint already has a such dropdown natively.&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Sf5CuLtmQqw/SZ66kAblrFI/AAAAAAAAAJA/39RjQTz3Ol8/s1600-h/languageDropDown.jpg"&gt;&lt;img style=" margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 203px;" src="http://2.bp.blogspot.com/_Sf5CuLtmQqw/SZ66kAblrFI/AAAAAAAAAJA/39RjQTz3Ol8/s320/languageDropDown.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304882538842795090" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunately it's hidden by default (though it was available before RTM). The reason to this is that this control will do additionnal requests to the database at each page load, so Microsoft disabled it to increase the platform performance.&lt;br /&gt;
&lt;br /&gt;
To enable it open the file &lt;i&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\VariationsLabelMenu.ascx&lt;/i&gt; and remove the &amp;lt;%-- --%&amp;gt; (ASP comments).&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="xml"&gt;&amp;lt;%@ Control Language="C#"   %&amp;gt;
&amp;lt;%@Assembly Name="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%&amp;gt;
&amp;lt;%@Register TagPrefix="CMS" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" namespace="Microsoft.SharePoint.Publishing.WebControls"%&amp;gt;
&amp;lt;cms:VariationsLabelEcbMenu id ="varlabelmenu1" DataSourceID="LabelMenuDataSource" DisplayText="&amp;lt;%$Resources:cms,VariationLabelMenuTitle%&amp;gt;" IsCallbackMode="true" runat="server" /&amp;gt;
&amp;lt;cms:VariationDataSource id="LabelMenuDataSource" LabelMenuConfiguration="1" Filter="" runat="server"/&amp;gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-4271926426968670727?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ELWgdqOFmUO1EbA8Y62cNv21q7U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ELWgdqOFmUO1EbA8Y62cNv21q7U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ELWgdqOFmUO1EbA8Y62cNv21q7U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ELWgdqOFmUO1EbA8Y62cNv21q7U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/mVopcx8dm2w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/4271926426968670727/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=4271926426968670727" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/4271926426968670727?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/4271926426968670727?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/mVopcx8dm2w/hidden-language-dropdown-for-variation.html" title="Hidden language dropdown for variation" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_Sf5CuLtmQqw/SZ66kAblrFI/AAAAAAAAAJA/39RjQTz3Ol8/s72-c/languageDropDown.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2009/02/hidden-language-dropdown-for-variation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QDRX8zeyp7ImA9WxVSEkg.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-1775492788747308927</id><published>2009-01-06T16:43:00.004+01:00</published><updated>2009-01-06T17:29:34.183+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-06T17:29:34.183+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>Event Receiver Feature activation failed with SQL insert error</title><content type="html">This gave me a good headache !&lt;br /&gt;&lt;br /&gt;Do you see anything wrong here in this Elements.xml...&lt;br /&gt;&lt;pre name='code' class='xml'&gt;&lt;br /&gt;&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;&lt;br /&gt;  &amp;lt;Receivers ListTemplateId="15008"&amp;gt;&lt;br /&gt;    &amp;lt;Receiver&amp;gt;&lt;br /&gt;      &amp;lt;Name&amp;gt;ExampleAItemAdding&amp;lt;/Name&amp;gt;&lt;br /&gt;      &amp;lt;Type&amp;gt;ItemAdding&amp;lt;/Type&amp;gt;&lt;br /&gt;      &amp;lt;SequenceNumber&amp;gt;10000&amp;lt;/SequenceNumber&amp;gt;&lt;br /&gt;      &amp;lt;Assembly&amp;gt;DemoA.EventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b7e66595434a588&amp;lt;/Assembly&amp;gt;&lt;br /&gt;      &amp;lt;Class&amp;gt;DemoA.EventHandlers.ExampleA&amp;lt;/Class&amp;gt;&lt;br /&gt;    &amp;lt;/Receiver&amp;gt;&lt;br /&gt;    &amp;lt;!--&amp;lt;Receiver&amp;gt;&lt;br /&gt;      &amp;lt;Name&amp;gt;ExampleAItemDeleting&amp;lt;/Name&amp;gt;&lt;br /&gt;      &amp;lt;Type&amp;gt;ItemDeleting&amp;lt;/Type&amp;gt;&lt;br /&gt;      &amp;lt;SequenceNumber&amp;gt;10000&amp;lt;/SequenceNumber&amp;gt;&lt;br /&gt;      &amp;lt;Assembly&amp;gt;DemoA.EventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b7e66595434a588&amp;lt;/Assembly&amp;gt;&lt;br /&gt;      &amp;lt;Class&amp;gt;DemoA.EventHandlers.ExampleA&amp;lt;/Class&amp;gt;&lt;br /&gt;    &amp;lt;/Receiver&amp;gt;--&amp;gt;&lt;br /&gt;  &amp;lt;/Receivers&amp;gt;&lt;br /&gt;  &amp;lt;Receivers ListTemplateId="15010"&amp;gt;&lt;br /&gt;    &amp;lt;Receiver&amp;gt;&lt;br /&gt;      &amp;lt;Name&amp;gt;ExampleBItemAdding&amp;lt;/Name&amp;gt;&lt;br /&gt;      &amp;lt;Type&amp;gt;ItemAdding&amp;lt;/Type&amp;gt;&lt;br /&gt;      &amp;lt;SequenceNumber&amp;gt;10000&amp;lt;/SequenceNumber&amp;gt;&lt;br /&gt;      &amp;lt;Assembly&amp;gt;DemoB.EventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b7e66595434a588&amp;lt;/Assembly&amp;gt;&lt;br /&gt;      &amp;lt;Class&amp;gt;DemoB.EventHandlers.ExampleB&amp;lt;/Class&amp;gt;&lt;br /&gt;    &amp;lt;/Receiver&amp;gt;&lt;br /&gt;    &amp;lt;Receiver&amp;gt;&lt;br /&gt;      &amp;lt;Name&amp;gt;ExampleBItemDeleting&amp;lt;/Name&amp;gt;&lt;br /&gt;      &amp;lt;Type&amp;gt;ItemDeleting&amp;lt;/Type&amp;gt;&lt;br /&gt;      &amp;lt;SequenceNumber&amp;gt;10000&amp;lt;/SequenceNumber&amp;gt;&lt;br /&gt;      &amp;lt;Assembly&amp;gt;DemoB.EventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b7e66595434a588&amp;lt;/Assembly&amp;gt;&lt;br /&gt;      &amp;lt;Class&amp;gt;DemoB.EventHandlers.ExampleB&amp;lt;/Class&amp;gt;&lt;br /&gt;    &amp;lt;/Receiver&amp;gt;&lt;br /&gt;  &amp;lt;/Receivers&amp;gt;&lt;br /&gt;&amp;lt;/Elements&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;...that would explain this error message on feature activation?&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Cannot insert the value NULL into column 'Name', table 'WSS_Content.dbo.EventReceivers'; column does not allow nulls. INSERT fails. &lt;br /&gt;The statement has been terminated.   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) &lt;br /&gt;   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) &lt;br /&gt;   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) &lt;br /&gt;   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) &lt;br /&gt;   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) &lt;br /&gt;   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) &lt;br /&gt;   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() &lt;br /&gt;   at Microsoft.SharePoint.Utilities.SqlSession.ExecuteNonQuery(SqlCommand command) &lt;br /&gt;   at Microsoft.SharePoint.Administration.SPElementDefinitionCollection.ProvisionContentTypeAndEventReceiverBindings(SPFeaturePropertyCollection props, SPSite site, SPWeb web, Boolean fForce) &lt;br /&gt;   at Microsoft.SharePoint.Administration.SPElementDefinitionCollection.ProvisionElements(SPFeaturePropertyCollection props, SPWebApplication webapp, SPSite site, SPWeb web, Boolean fForce) &lt;br /&gt;   at Microsoft.SharePoint.SPFeature.ProvisionElements(SPFeaturePropertyCollection props, SPWebApplication webapp, SPSite site, SPWeb web, Boolean fForce) &lt;br /&gt;   at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce) &lt;br /&gt;   at Microsoft.SharePoint.SPFeatureCollection.AddInternal(Guid featureId, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly) &lt;br /&gt;   at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId) &lt;br /&gt;   at Microsoft.SharePoint.WebControls.FeatureActivator.BtnActivateFeature_Click(Object objSender, EventArgs evtargs) &lt;br /&gt;   at System.Web.UI.WebControls.Button.OnClick(EventArgs e) &lt;br /&gt;   at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) &lt;br /&gt;   at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) &lt;br /&gt;   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) &lt;br /&gt;   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) &lt;br /&gt;   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Log files show :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'Name', table 'WSS_Content.dbo.EventReceivers'; column does not allow nulls. INSERT fails. &lt;br /&gt;The statement has been terminated.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;First reaction: "WOOT!?! *£§#%&amp; SQL exception ???"&lt;br /&gt;&lt;br /&gt;In fact the problem is futile compared to what it looks like:&lt;br /&gt;SharePoint will for a very (dark) mystical reason try to parse the comments, remove the comments from the Elements.xml and it works (again) :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://furuknap.blogspot.com/2008/08/sql-error-on-adding-event-receiver.html"&gt;Bjørn Furuknap&lt;/a&gt; for his post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-1775492788747308927?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oRd3Z8jYRMDF_hs9AJuExW9Of1s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oRd3Z8jYRMDF_hs9AJuExW9Of1s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oRd3Z8jYRMDF_hs9AJuExW9Of1s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oRd3Z8jYRMDF_hs9AJuExW9Of1s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/jdue3KaG25w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/1775492788747308927/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=1775492788747308927" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/1775492788747308927?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/1775492788747308927?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/jdue3KaG25w/event-receiver-feature-activation.html" title="Event Receiver Feature activation failed with SQL insert error" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2009/01/event-receiver-feature-activation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYBRH09cSp7ImA9WxRaF00.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-4132064799179405573</id><published>2008-12-19T11:19:00.015+01:00</published><updated>2008-12-19T16:55:55.369+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-19T16:55:55.369+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>Add a rating scale question to a survey programmatically</title><content type="html">After many attempts googling for this I found &lt;a href="http://msmvps.com/blogs/sundar_narasiman/archive/2008/08/14/programmatically-create-sharepoint-survey-questions.aspx"&gt;this blog&lt;/a&gt;, but I didn't describe how to set the additional settings. &lt;br /&gt;&lt;br /&gt;So I ended up by trying the "AddFieldAsXml(string strXml)" and I got to this:&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;&lt;br /&gt;using (SPWeb web = site.OpenWeb())&lt;br /&gt;{&lt;br /&gt; try&lt;br /&gt; {&lt;br /&gt;   // create survey list and get guid&lt;br /&gt;   Guid guidList = web.Lists.Add(SURVEY_NAME, String.Empty, SPListTemplateType.Survey);&lt;br /&gt;&lt;br /&gt;   // Build XML rating question&lt;br /&gt;   string xmlField = "&lt;Field Type="GridChoice" DisplayName="How cool is Djavan ROA?" Required="TRUE" GridStartNum="1" GridEndNum="5" GridTxtRng1="Low" GridTxtRng2="Average" GridTxtRng3="High" StaticName="How_x0020_cool_x0020_is_x0020_Dj" Name="How_x0020_cool_x0020_is_x0020_Dj" ColName="ntext1" RowOrdinal="0" Version="1"&gt;&lt;CHOICES&gt;&lt;CHOICE&gt;Rating&lt;/CHOICE&gt;&lt;/CHOICES&gt;&lt;/Field&gt;";&lt;br /&gt;&lt;br /&gt;   // Add the question&lt;br /&gt;   web.Lists[guidList].Fields.AddFieldAsXml(xmlField);&lt;br /&gt; }&lt;br /&gt; catch (Exception ex)&lt;br /&gt; {&lt;br /&gt;   // Exception handling&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Warning: The syntax coloration had trouble displaying the [\"] so just replace the ["] in the string with [\"].&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-4132064799179405573?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O15OYbjHllf_9AAV8JpSZIQBfd8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O15OYbjHllf_9AAV8JpSZIQBfd8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O15OYbjHllf_9AAV8JpSZIQBfd8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O15OYbjHllf_9AAV8JpSZIQBfd8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/xYGvaroPsq0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/4132064799179405573/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=4132064799179405573" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/4132064799179405573?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/4132064799179405573?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/xYGvaroPsq0/add-rating-scale-question-to-survey.html" title="Add a rating scale question to a survey programmatically" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/12/add-rating-scale-question-to-survey.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8NQHc4fSp7ImA9WxRWGUs.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-6954215239078907811</id><published>2008-09-19T12:27:00.005+02:00</published><updated>2008-11-06T11:38:11.935+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-06T11:38:11.935+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><title>Sub admins creating sub sites</title><content type="html">Lets take the following scenario:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Sf5CuLtmQqw/SRLBRmlS_MI/AAAAAAAAAIs/hiC1EEIPYuE/s1600-h/mpschema.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 172px;" src="http://1.bp.blogspot.com/_Sf5CuLtmQqw/SRLBRmlS_MI/AAAAAAAAAIs/hiC1EEIPYuE/s320/mpschema.JPG" alt="" id="BLOGGER_PHOTO_ID_5265483422508448962" border="0" /&gt;&lt;/a&gt;The site collection administrator (SCA) creates a new site "Sub Site 2" for a new team in the company. SCA wants to give the team's access to "Sub Site 2" only and permit them to administrate their site as they wish.&lt;br /&gt;To do so SCA breaks the inheritance between the root site and "sub site 2", then he gives full control to the team at "sub site 2" level. The team can now access the site with no problem. The team has no access to the root site nor "Sub Site 1".&lt;br /&gt;&lt;br /&gt;Now here is the trouble: the team need to create "Sub Site 2.1" but they get an Access Denied when trying to create the site, though they have "Full Control".&lt;br /&gt;The reason is that the team can not access the masterpage gallery that is located at the root of the site collection.  (http://[sitecolletion root url]/_catalogs/masterpage/)&lt;br /&gt;&lt;br /&gt;To correct this SCA has two solutions:&lt;br /&gt;- give at least "Read" permission to the root site  for the team&lt;br /&gt;- If the above solution is politicaly not possible SCA can give at least "Read" permission to the master page gallery only&lt;br /&gt;&lt;br /&gt;This permission problem is almost similar with the List Template Gallery and Site Template Gallery.&lt;/sitecolletion&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-6954215239078907811?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/e6r2SOrd7dylP0TrZTPIyDxFLFI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e6r2SOrd7dylP0TrZTPIyDxFLFI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/e6r2SOrd7dylP0TrZTPIyDxFLFI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e6r2SOrd7dylP0TrZTPIyDxFLFI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/LTshJN3j4jc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/6954215239078907811/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=6954215239078907811" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6954215239078907811?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6954215239078907811?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/LTshJN3j4jc/sub-admins-creating-sub-sites.html" title="Sub admins creating sub sites" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Sf5CuLtmQqw/SRLBRmlS_MI/AAAAAAAAAIs/hiC1EEIPYuE/s72-c/mpschema.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/09/sub-admins-creating-sub-sites.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08EQXs9fSp7ImA9WxRSGE8.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-6695644741598658555</id><published>2008-09-05T11:04:00.004+02:00</published><updated>2008-09-19T12:56:40.565+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-19T12:56:40.565+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="stsadm" /><title>Export site with spaces in the URL</title><content type="html">Just a short one to remember that when you need to backup a sub site that has spaces (HTML code %20) in the URL like http://sitecollection/sub%20site&lt;br /&gt;&lt;br /&gt;You find out that this won't work :(&lt;br /&gt;stsadm -o export -url http://sitecollection/sub%20site&lt;br /&gt;&lt;br /&gt;Put the whole URL between cotes and change the %20 to spaces:&lt;br /&gt;stsadm -o export -url "http://sitecollection/sub site"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-6695644741598658555?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_sgHnEMZO2oyb4dnUOZg_8J_goE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_sgHnEMZO2oyb4dnUOZg_8J_goE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_sgHnEMZO2oyb4dnUOZg_8J_goE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_sgHnEMZO2oyb4dnUOZg_8J_goE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/IzqKM3KfYLQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/6695644741598658555/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=6695644741598658555" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6695644741598658555?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6695644741598658555?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/IzqKM3KfYLQ/export-site-with-spaces-in-url.html" title="Export site with spaces in the URL" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/09/export-site-with-spaces-in-url.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYCSHc_eCp7ImA9WxRVEEo.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-3802913520732804311</id><published>2008-09-01T17:32:00.015+02:00</published><updated>2008-11-07T16:36:09.940+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-07T16:36:09.940+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><title>Usefull URLs</title><content type="html">Here is a list of useful URLs that you can type in your site to go faster (if you're too lazy to click and wait between page loads like me) or if you removed the links from your page. Just replace the end of the URL with:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Administration&lt;/span&gt;&lt;br /&gt;Site settings:&lt;br /&gt;[site url]/_layouts/&lt;span&gt;settings&lt;/span&gt;.aspx&lt;br /&gt;&lt;br /&gt;Edit site permissions:&lt;br /&gt;[site url]/_layouts/user.aspx&lt;br /&gt;&lt;br /&gt;View all site content:&lt;br /&gt;[site url]/_layouts/viewlsts.aspx&lt;br /&gt;&lt;br /&gt;MOSS - Open site manager (this will works even if MOSS features arn't activated):&lt;br /&gt;[site url]/_layouts/sitemanager.aspx&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;User profile:&lt;/span&gt;&lt;br /&gt;Current user's profile:&lt;br /&gt;[site url]/_layouts/userdisp.aspx&lt;br /&gt;&lt;br /&gt;Current user's alerts&lt;br /&gt;[site url]/_layouts/mysubs.aspx&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Page edition:&lt;/span&gt;&lt;br /&gt;Edit page (example for default.aspx):&lt;br /&gt;[site url]/default.aspx&lt;span style="font-weight: bold;"&gt;?DisplayMode=Design&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Manage WebParts on the page (example for default.aspx):&lt;br /&gt;[site url]/default.aspx&lt;span style="font-weight: bold;"&gt;?Contents=1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Add a new WebPart on the page (example for default.aspx):&lt;br /&gt;[site url]/default.aspx&lt;span style="font-weight: bold;"&gt;?ToolPaneView=2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Import a WebPart on the page (example for default.aspx):&lt;br /&gt;[site url]/default.aspx&lt;span style="font-weight: bold;"&gt;?ToolPaneView=5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MOSS - Switch to edit view of a publishing page (example for default.aspx):&lt;br /&gt;[site url]/Pages/default.aspx&lt;span style="font-weight: bold;"&gt;?ControlMode=Edit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MOSS - Direct access to the /Pages/ document library (or any other library):&lt;br /&gt;[site url]/Pages&lt;span style="font-weight: bold;"&gt;/Forms/AllItems.aspx&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-3802913520732804311?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-r2xf1B_7J8EJozDLENbPL-iExU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-r2xf1B_7J8EJozDLENbPL-iExU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-r2xf1B_7J8EJozDLENbPL-iExU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-r2xf1B_7J8EJozDLENbPL-iExU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/NKpeL7O7xjg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/3802913520732804311/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=3802913520732804311" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/3802913520732804311?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/3802913520732804311?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/NKpeL7O7xjg/usefull-urls.html" title="Usefull URLs" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/09/usefull-urls.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkANR306fCp7ImA9WxVWEUk.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-7548094085517244046</id><published>2008-09-01T14:41:00.011+02:00</published><updated>2009-02-20T15:39:56.314+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-20T15:39:56.314+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>foreach webs access denied</title><content type="html">Be careful when crawling "AllWebs" in a loop from a WebPart or a UserControl, the current user may not have access to all of those SPWebs. This would result in an access denied page for the user.&lt;br /&gt;&lt;br /&gt;Bad example:&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;&lt;br /&gt;foreach(SPWeb web in SPContext.Current.Site.AllWebs)&lt;br /&gt;{&lt;br /&gt;  // do something to web&lt;br /&gt;  web.Dispose();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;This can trigger an access denied trying to instantiate a SPWeb that the current user is not allowed to browse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Two solutions:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) Run with elevated privileges:&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;&lt;br /&gt;SPSecurity.RunWithElevatedPrivileges(delegate() {&lt;br /&gt;  foreach(SPWeb web in SPContext.Current.Site.AllWebs)&lt;br /&gt;  {&lt;br /&gt;    // do something to web&lt;br /&gt;    web.Dispose();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2) Fetch from a collection of webs that the current user is allowed to browse.&lt;br /&gt;&lt;pre name="code" class="csharp"&gt;&lt;br /&gt;SPWebCollection webs = SPContext.Current.Web.GetSubwebsForCurrentUser();&lt;br /&gt;foreach(SPWeb web in webs)&lt;br /&gt;{  &lt;br /&gt;  // do something to web&lt;br /&gt;  web.Dispose();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ref:&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.allwebs.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsite.allwebs.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb466220.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb466220.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-7548094085517244046?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zQ-OshSXXGbVg_LcQ8bf0_rm26A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zQ-OshSXXGbVg_LcQ8bf0_rm26A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zQ-OshSXXGbVg_LcQ8bf0_rm26A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zQ-OshSXXGbVg_LcQ8bf0_rm26A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/3GlUozyPH_g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/7548094085517244046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=7548094085517244046" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/7548094085517244046?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/7548094085517244046?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/3GlUozyPH_g/foreach-webs-access-denied.html" title="foreach webs access denied" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/09/foreach-webs-access-denied.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EBR3w7cCp7ImA9WxRXFk0.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-3913648402674588879</id><published>2008-08-26T10:48:00.016+02:00</published><updated>2008-10-21T17:07:36.208+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-21T17:07:36.208+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Have intellisense automatically in SharePoint XML files</title><content type="html">Fed up of having to browse for wss.xsd all the time? me too....&lt;br /&gt;&lt;br /&gt;To enable intellisense automatically in Visual Studio when you open a SharePoint XML file you must add a reference to wss.xsd in the schema catalog.&lt;br /&gt;To do so, open C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas\catalog.xml and add this tag:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&amp;lt;Schema href="C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML\wss.xsd"  targetNamespace="http://schemas.microsoft.com/sharepoint/" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That's all...&lt;br /&gt;&lt;br /&gt;Know all your XML documents referenced with xmlns="http://schemas.microsoft.com/sharepoint/" namespace such as in the following example, will automatically have intellisense active when you open them in Visual Studio.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="xml"&gt;&lt;br /&gt;&amp;lt;Feature xmlns="http://schemas.microsoft.com/sharepoint/" Id="4248E21F-.... etc..."&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-3913648402674588879?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S2659jyiytCfSCTmxMKDZVL7bsQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S2659jyiytCfSCTmxMKDZVL7bsQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/S2659jyiytCfSCTmxMKDZVL7bsQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S2659jyiytCfSCTmxMKDZVL7bsQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/vLRB7z8fZFA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/3913648402674588879/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=3913648402674588879" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/3913648402674588879?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/3913648402674588879?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/vLRB7z8fZFA/have-intellisense-automatically-in.html" title="Have intellisense automatically in SharePoint XML files" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/08/have-intellisense-automatically-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8FRnw7fyp7ImA9Wx9TFUQ.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-506680206903095624</id><published>2008-04-03T12:58:00.045+02:00</published><updated>2010-11-24T10:26:57.207+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-24T10:26:57.207+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>How to build WebParts faster</title><content type="html">When developing a WebPart there are many ways to add your DLL to your site to test it.&lt;br /&gt;
- Manually copping the DLL to the GAC then do an iisreset or a pool recycle&lt;br /&gt;
- Use Visual Studio Extensions for SharePoint (that basically do a copy to GAC and an pool recycle)&lt;br /&gt;
- Copy the DLL to your Web Application \bin folder (no recycle nor iisreset needed, muUuuuuch faster)&lt;br /&gt;
&lt;br /&gt;
In my opinion this last solution is the fastest way for developing WebParts. There are several prerequisites to enable this. Here is the step by step how to.&lt;br /&gt;
&lt;br /&gt;
Create a new class library project in visual studio (or open your existing project).&lt;br /&gt;
I recommend signing your DLL now if you plan latter to install it in the GAC of the production farm.&lt;br /&gt;
&lt;br /&gt;
If it’s a new project add a reference to System.Web and create a class like this one.&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="csharp"&gt;using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace MyCompany.MyProject.MyWebParts
{
public class DemoWebPart : WebPart
{
protected override void CreateChildControls()
{
this.Controls.Add(new LiteralControl("This WebPart rulz !"));
}
}
}
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open the project settings and go to the build tab. Change the output folder to map your “&lt;span style="font-style: italic;"&gt;C:\Inetpub\wwwroot\wss\VirtualDirectories\XXXX\bin&lt;/span&gt;” (replace XXXX with the port of your Web Application).&lt;br /&gt;
&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Sf5CuLtmQqw/R_TCvRG61yI/AAAAAAAAAE4/yACZ2fE5WzM/s1600-h/outputbox.PNG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_Sf5CuLtmQqw/R_TCvRG61yI/AAAAAAAAAE4/yACZ2fE5WzM/s400/outputbox.PNG" alt="" id="BLOGGER_PHOTO_ID_5184983188312348450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You must know that by default the &lt;span style="font-style: italic;"&gt;\bin&lt;/span&gt; folder has limited trust. To use SharePoint's API from an assembly running from that folder you must write Code Access Security (CAS) to allow your assembly. Or you can elevate the global trust level to "Full", this will include giving full trust to the \bin folder as well. (IMPORTANT: This is only for development purpose, reducing the trust level on the production environment is highly deprecated)&lt;br /&gt;
To do so follow these steps:&lt;br /&gt;
Open your “&lt;span style="font-style: italic;"&gt;C:\Inetpub\wwwroot\wss\VirtualDirectories\XXXX\Web.conf&lt;/span&gt;” and find the trust tag, change the level to “&lt;span style="font-style: italic;"&gt;Full&lt;/span&gt;”.&lt;br /&gt;
If the assembly's finality is to be in the bin folder write CAS policy to use SharePoint object model! If your assembly will end in the GAC in the final project don't bother with CAS (GAC has full trust).&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="xml"&gt;&amp;lt;trust level="Full" originUrl="" /&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
In order to import WebParts that are in an assembly within the /bin folder you need to add this to your AssemblyInfo.cs&lt;br /&gt;
&lt;pre name="code" class="csharp"&gt;using System.Security;
...
[assembly: AllowPartiallyTrustedCallersAttribute()]
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
While your Web.conf is open you can add your assembly as safe control. Find the &amp;lt;SafeControls&amp;gt; tag, modify the following line to match your assembly’s strong name and add it before &amp;lt;/SafeControls&amp;gt; closing tag. (You can use Reflector to retrieve the strong name of your assembly)&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="xml"&gt;&amp;lt;SafeControl Assembly="MyCompany.MyProject.MyWebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=65475030cb4253e3" Namespace=" MyCompany.MyProject.MyWebParts " TypeName="*" Safe="True" /&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
You might want to enable ASP.NET error messages. Find the SafeMode tag and change CallStack to true.&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="xml"&gt;&amp;lt;SafeMode MaxControls="200" CallStack="true" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false"&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Then find customErrors tag and change mode to Off.&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="xml"&gt;&amp;lt;customErrors mode="Off" /&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
This will replace (obscure) error messages from&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Sf5CuLtmQqw/R_TC1hG61zI/AAAAAAAAAFA/lauKDs1b_GQ/s1600-h/errorpage0.PNG"&gt;&lt;img style="cursor: pointer; width: 318px; height: 230px;" src="http://3.bp.blogspot.com/_Sf5CuLtmQqw/R_TC1hG61zI/AAAAAAAAAFA/lauKDs1b_GQ/s400/errorpage0.PNG" alt="" id="BLOGGER_PHOTO_ID_5184983295686530866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
To&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Sf5CuLtmQqw/SP5DKfSZnhI/AAAAAAAAAIk/o0ZILMqjdQc/s1600-h/errorpage.PNG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_Sf5CuLtmQqw/SP5DKfSZnhI/AAAAAAAAAIk/o0ZILMqjdQc/s320/errorpage.PNG" alt="" id="BLOGGER_PHOTO_ID_5259715262291746322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once you’ve done all this open your site and go to “SiteSettings &amp;gt; WebParts” and populate the WebPart.&lt;br /&gt;
Then add your web part to any page you want.&lt;br /&gt;
&lt;br /&gt;
Now you only need to build your project and hit the page again to see the changes without having to do a pool recycle or an iisreset that lasts forever.&lt;br /&gt;
&lt;br /&gt;
NOTE: if the same assembly is placed in the GAC and in the bin folder, the Web Application will use the one from the GAC and ignore the one from the bin folder.&lt;br /&gt;
If this happens, uninstall the assembly from the GAC (in C:\WINDOWS\assembly) and do an iisreset to switch back to the assembly from the bin folder (this is required to remove the assembly pointing to the GAC from iis's cache).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-506680206903095624?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/94dTIjvellppOwgIa6Fa9l9Kbq4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/94dTIjvellppOwgIa6Fa9l9Kbq4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/94dTIjvellppOwgIa6Fa9l9Kbq4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/94dTIjvellppOwgIa6Fa9l9Kbq4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/_RuTNd1aqgM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/506680206903095624/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=506680206903095624" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/506680206903095624?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/506680206903095624?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/_RuTNd1aqgM/how-to-build-webparts-fast.html" title="How to build WebParts faster" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_Sf5CuLtmQqw/R_TCvRG61yI/AAAAAAAAAE4/yACZ2fE5WzM/s72-c/outputbox.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/04/how-to-build-webparts-fast.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkADRHk8eyp7ImA9Wx9TFUQ.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-6482082027606889255</id><published>2008-03-11T15:01:00.013+01:00</published><updated>2010-11-24T10:26:15.773+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-24T10:26:15.773+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Code" /><title>ListTemplate schema.xml so TRUE</title><content type="html">Nothing really extraordinary about this but it might help one day.&lt;br /&gt;
&lt;br /&gt;
As I was working on a schema.xml of a custom ListTemplate, I came across a pervert problem with intellisense. I was trying to turn on Enhanced RichText for one of my fields when I finally discovered what was causing the problem...&lt;br /&gt;
&lt;br /&gt;
When using "\12\TEMPLATE\XML\wss.xsd" to validate your schema.xml you'll notice that for boolean values you'll get this with intellisense:&lt;br /&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Sf5CuLtmQqw/R9ZPjeZxVsI/AAAAAAAAADY/Tl7H4oS148o/s1600-h/true1.JPG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_Sf5CuLtmQqw/R9ZPjeZxVsI/AAAAAAAAADY/Tl7H4oS148o/s400/true1.JPG" alt="" id="BLOGGER_PHOTO_ID_5176412292584134338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I usually use "True" or "False" but here it turned out that it only works with "TRUE" or FALSE" (case sensitive). So I changed it to:&lt;br /&gt;
&lt;br /&gt;
&lt;pre name="code" class="xml"&gt;&lt;field ID="DCEE88EF-CF41-40d3-81A2-99460AF82B53"
Name="NewsBody"
DisplayName="$Resources:demo,SC_NewsBody;"
SourceID="http://schemas.microsoft.com/sharepoint/v3"
Type="Note"
RichText="TRUE"
RichTextMode="FullHtml"
IsolateStyles="TRUE"
NumLines="15"
Sortable="FALSE"
Required="TRUE" /&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
And it worked perfectly.&lt;br /&gt;
&lt;br /&gt;
Don't get confused with what intellisense says... I did and I wasted my time :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-6482082027606889255?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L3pBXtjceCEkNao2dk5K5ROcDjI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L3pBXtjceCEkNao2dk5K5ROcDjI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L3pBXtjceCEkNao2dk5K5ROcDjI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L3pBXtjceCEkNao2dk5K5ROcDjI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/DZEXtDPxm8o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/6482082027606889255/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=6482082027606889255" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6482082027606889255?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/6482082027606889255?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/DZEXtDPxm8o/listtemplate-schemaxml-so-true.html" title="ListTemplate schema.xml so TRUE" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_Sf5CuLtmQqw/R9ZPjeZxVsI/AAAAAAAAADY/Tl7H4oS148o/s72-c/true1.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/03/listtemplate-schemaxml-so-true.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EDQnc9eCp7ImA9WxdaGE8.&quot;"><id>tag:blogger.com,1999:blog-8113781268101811836.post-5093160681430187643</id><published>2008-03-10T18:20:00.003+01:00</published><updated>2008-08-27T10:27:53.960+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-27T10:27:53.960+02:00</app:edited><title>HeEEeello World !</title><content type="html">&lt;span style="font-family:trebuchet ms;"&gt;Hi and welcome to my SharePoint blog.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;&lt;br /&gt;Here I’ll mainly talk about technical and developing stuff for SharePoint technologies.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;(for me to find in times of need or for anyone it could help)&lt;br /&gt;&lt;br /&gt;Have a nice day :)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113781268101811836-5093160681430187643?l=sharepointologic.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5CbNkuwCzh7lA2_Qkpoo4cvPKpE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5CbNkuwCzh7lA2_Qkpoo4cvPKpE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5CbNkuwCzh7lA2_Qkpoo4cvPKpE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5CbNkuwCzh7lA2_Qkpoo4cvPKpE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/SharepointalmostLogic/~4/lizRLRjgYuY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://sharepointologic.blogspot.com/feeds/5093160681430187643/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8113781268101811836&amp;postID=5093160681430187643" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/5093160681430187643?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8113781268101811836/posts/default/5093160681430187643?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SharepointalmostLogic/~3/lizRLRjgYuY/heeeeello-world.html" title="HeEEeello World !" /><author><name>Djavan ROA</name><uri>https://profiles.google.com/110383739784523392090</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-GaCRj9URESQ/AAAAAAAAAAI/AAAAAAAAAVY/0ZII_aoKPMs/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://sharepointologic.blogspot.com/2008/03/heeeeello-world.html</feedburner:origLink></entry></feed>

