<?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>Strick&#039;s Modern Life</title>
	<atom:link href="http://www.strickspage.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.strickspage.com/blog</link>
	<description>I Hate Forgetting What I Learn and Having No Way To Refresh My Memory</description>
	<lastBuildDate>Sun, 29 Apr 2012 17:59:02 +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>How to Use Drupal&#8217;s db_query() With AJAX Calls</title>
		<link>http://www.strickspage.com/blog/how-to-use-drupals-db_query-with-ajax-calls/</link>
		<comments>http://www.strickspage.com/blog/how-to-use-drupals-db_query-with-ajax-calls/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 17:55:25 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[drupal 6]]></category>
		<category><![CDATA[drupal api]]></category>
		<category><![CDATA[hook_menu]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=648</guid>
		<description><![CDATA[I recently had a scenario on a Drupal 6 site that I am developing where I wanted to refresh some content every 10 seconds with new data from the Drupal database. Usually to do something like this I do the following: Use an AJAX call to a PHP script on my site. PHP script queries <a href='http://www.strickspage.com/blog/how-to-use-drupals-db_query-with-ajax-calls/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I recently had a scenario on a Drupal 6 site that I am developing where I wanted to refresh some content every 10 seconds with new data from the Drupal database.  Usually to do something like this I do the following:</p>
<ul>
<li>Use an AJAX call to a PHP script on my site.</li>
<li>PHP script queries database and sends back the response.</li>
</ul>
<p>You can&#8217;t do this though if you want to use Drupal&#8217;s API since Drupal needs to go through it&#8217;s entire boot process before any of the API is avaible.  Luckily there is an easy way to get around this; create a module with a menu hook.</p>
<p>To create the module first create the .info file:</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">;</span>custom_ajax<span class="sy0">.</span>info</div>
</li>
<li class="li1">
<div class="de1">name <span class="sy0">=</span> Custom Ajax Calls</div>
</li>
<li class="li1">
<div class="de1">description <span class="sy0">=</span> Allows AJAX to use Drupal API</div>
</li>
<li class="li1">
<div class="de1">core <span class="sy0">=</span> 6<span class="sy0">.</span>x</div>
</li>
<li class="li1">
<div class="de1">project <span class="sy0">=</span> <span class="st0">&quot;custom_ajax&quot;</span></div>
</li>
</ol>
</div>
</div>
<p>Next create the module file with the hook_menu() and call back.</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// custom_ajax.module</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// menu hook call</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> custom_ajax_menu<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="co1">// List of navagation links to your ajax functions.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">$items</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="co1">// Creates a link yoursite/?q=my/ajax/function that will call the page callback function (custom_ajax_my_ajax_function())</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">$items</span><span class="br0">&#91;</span><span class="st0">&quot;my/ajax/function&quot;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;title&quot;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">=&gt;</span> t<span class="br0">&#40;</span><span class="st0">&quot;title&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;description&quot;</span> &nbsp; &nbsp;<span class="sy0">=&gt;</span> t<span class="br0">&#40;</span><span class="st0">&quot;provides access to a php function that can be requested by an ajax call&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;page callback&quot;</span> &nbsp;<span class="sy0">=&gt;</span> <span class="st0">&quot;custom_ajax_my_ajax_function&quot;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;access arguments&quot;</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;access content&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&quot;type&quot;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">=&gt;</span> MENU_CALLBACK</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// The function that actually does what you need for the ajax request</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> custom_ajax_my_ajax_function<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re0">$q</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;db_query<span class="br0">&#40;</span><span class="re0">$q</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//drupal api</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw1">echo</span> <a href="http://www.php.net/json_encode"><span class="kw3">json_encode</span></a><span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<a href="http://www.php.net/exit"><span class="kw3">exit</span></a><span class="sy0">;</span> &nbsp;<span class="co1">// Don&#8217;t render the page.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Now in your JavaScript code, you just make the AJAX request to the callback path</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">$.<span class="me1">ajax</span><span class="br0">&#40;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;url<span class="sy0">:</span><span class="st0">&#8216;/?q=my/ajax/function&#8217;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;success<span class="sy0">:</span> <span class="kw2">function</span><span class="br0">&#40;</span>data<span class="sy0">,</span> success<span class="sy0">,</span> jqXHR<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/how-to-use-drupals-db_query-with-ajax-calls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extract List Column Data From Sharepoint 2010 ows_MetaInfo</title>
		<link>http://www.strickspage.com/blog/extract-list-column-data-from-sharepoint-2010-ows_metainfo/</link>
		<comments>http://www.strickspage.com/blog/extract-list-column-data-from-sharepoint-2010-ows_metainfo/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 13:19:51 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[ows_metainfo]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sharepoint 2010]]></category>
		<category><![CDATA[sharepoint lists]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=640</guid>
		<description><![CDATA[All of the list attributes (columns) can be found in the ows_MetaInfo attribute. This is just a huge string packed with information that you can parse to extract. So far I&#8217;ve been able to gather the following about this data: Keys that start with &#8220;vti_*****&#8221; are predefined list attributes (e.g. vti_title, vti_author, vti_modifiedby, etc) Keys <a href='http://www.strickspage.com/blog/extract-list-column-data-from-sharepoint-2010-ows_metainfo/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>All of the list attributes (columns) can be found in the ows_MetaInfo attribute.  This is just a huge string packed with information that you can parse to extract.  So far I&#8217;ve been able to gather the following about this data:</p>
<ol>
<li>Keys that start with &#8220;vti_*****&#8221; are predefined list attributes (e.g. vti_title, vti_author, vti_modifiedby, etc)</li>
<li>Keys that start with &#8220;_dlc_****&#8221; contain data about the resource itself (e.g _dlc_DocIdUrl, _dlc_DocIdItemGuid, etc)</li>
<li>Keys that are the exact name of an attribute are columns that you added to the list after creation. (e.g. My Custom Cost)</li>
</ol>
<p>To extract any of this data I use the following to regular expressions functions: </p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// First get the key / value you want. &nbsp;In this instance I want the custom &quot;title&quot; column I added to the list.</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/preg_match"><span class="kw3">preg_match</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/(?=vti_title).*/&#8217;</span><span class="sy0">,</span> <span class="re0">$result</span><span class="sy0">-&gt;</span><span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">&quot;ows_MetaInfo&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="re0">$match</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp;<span class="co1">// Returns &quot;vti_title:RW|my title is this: what?&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Extract the value</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$title</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/\w*\:\w{2}\|/&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8221;</span><span class="sy0">,</span> <span class="re0">$match</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp;<span class="co1">// Returns &quot;my title is this: what?&quot;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/extract-list-column-data-from-sharepoint-2010-ows_metainfo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Displaying and Downloading Sharepoint Document Libraries Using PHP</title>
		<link>http://www.strickspage.com/blog/displaying-and-downloading-sharepoint-document-libraries-using-php/</link>
		<comments>http://www.strickspage.com/blog/displaying-and-downloading-sharepoint-document-libraries-using-php/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 20:22:32 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[document libraries]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sharepoint 2010]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=633</guid>
		<description><![CDATA[Objective Create a PHP based web page that creates a list of all documents in a SharePoint 2010 Document Library. Each item in this list is a link to the actual document. When a user clicks the link, the document is downloaded from SharePoint&#8217;s database and displayed to the user. Background Sharepoint 2010 is fantastic. <a href='http://www.strickspage.com/blog/displaying-and-downloading-sharepoint-document-libraries-using-php/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<h2>Objective</h2>
<p>Create a PHP based web page that creates a list of all documents in a SharePoint 2010 Document Library.  Each item in this list is a link to the actual document.  When a user clicks the link, the document is downloaded from SharePoint&#8217;s database and displayed to the user.</p>
<h2>Background</h2>
<p>Sharepoint 2010 is fantastic.  If you don&#8217;t use it, look into it.  (Drupal isn&#8217;t bad either).  While i&#8217;ve been migrating a custom coded CMS to Sharepoint 2010, I keep running across interesting issues.  My latest was that I needed to let users submit PDF documents to the system and then have those documents display on the website.</p>
<p>With a traditional PHP website, piece of cake: Save document to server, list link to file, user clicks link.</p>
<p>SharePoint however stores all of the documents into a database that is only understandable by SharePoint&#8230; </p>
<h2>Prep</h2>
<p>Make sure you have done the following:</p>
<ol>
<li>Enabled Basic Authentication on the SharePoint server</li>
<li>Enabled the openssl, curl and soap PHP extensions on your web server</li>
<li>Downloaded a copy of the Lists services to your web site. (Go to https://sharepointsite/subsite_if_one/_vti_bin/Lists.asmx?WSDL)</li>
</ol>
<p>Now on to the coding!</p>
<h2>Steps</h2>
<p>Here is my main loop that fetches the document list and creates links to the document on the page:</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$results</span> <span class="sy0">=</span> getDocumentList<span class="br0">&#40;</span><span class="br0">&#123;</span>GUID<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$load</span> <span class="sy0">=</span> <span class="kw4">false</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$out</span> <span class="sy0">=</span> <span class="st_h">&#8216;&lt;ul&gt;&#8217;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//Fetching the elements values. Specify more attributes as necessary</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$results</span> <span class="kw1">as</span> <span class="re0">$result</span><span class="br0">&#41;</span><span class="br0">&#123;</span> &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Get a custom column in my list.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$title</span> <span class="sy0">=</span> getMetaItem<span class="br0">&#40;</span><span class="re0">$result</span><span class="sy0">,</span> <span class="st_h">&#8216;vti_title&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Get the document url and guid of document</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$docURL</span> <span class="sy0">=</span> getMetaItem<span class="br0">&#40;</span><span class="re0">$result</span><span class="sy0">,</span> <span class="st_h">&#8216;_dlc_DocIdUrl&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$docURL</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_split"><span class="kw3">preg_split</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/\w*\|/&#8217;</span><span class="sy0">,</span> <span class="re0">$docURL</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$docURL</span> <span class="sy0">=</span> <a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">&#40;</span><span class="st0">&quot;,&quot;</span><span class="sy0">,</span> <span class="re0">$docURL</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Parse the full url, doc_id</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$out</span> <span class="sy0">.=</span> <span class="st0">&quot;&lt;li&gt;&lt;a href=<span class="es1">\&quot;</span>/sptest.php?id=&quot;</span><span class="sy0">.</span><a href="http://www.php.net/trim"><span class="kw3">trim</span></a><span class="br0">&#40;</span><span class="re0">$docURL</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&quot;<span class="es1">\&quot;</span>&gt;<span class="es4">{$title}</span>&lt;/a&gt;&lt;li/&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">&#8216;id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <a href="http://www.php.net/trim"><span class="kw3">trim</span></a><span class="br0">&#40;</span><span class="re0">$docURL</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">&#8216;id&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$load</span> <span class="sy0">=</span> <span class="kw4">true</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span> <span class="sy0">=</span> <span class="st0">&quot;https://usportal.aaalliance.ucf.edu/&quot;</span> <span class="sy0">.</span> <a href="http://www.php.net/rawurlencode"><span class="kw3">rawurlencode</span></a><span class="br0">&#40;</span><a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/(^[0-9]*).{2}/&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8221;</span><span class="sy0">,</span> <span class="re0">$result</span><span class="sy0">-&gt;</span><span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">&quot;ows_FileRef&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$out</span> <span class="sy0">.=</span> <span class="st_h">&#8216;&lt;/ul&gt;&#8217;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// If requesting document</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//preg_match(&#8216;/(\d\w)*-(\d\w)*-(\d\w)/&#8217;, $_GET['id'])){</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$load</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; openDocument<span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">else</span> <span class="kw1">echo</span> <span class="re0">$out</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
<p>My function to get all of the documents in a specified library:</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;* @param $listName string this is the GUID of your library. &nbsp;To find it go to your library through the sharepoint website. Then click on &quot;library settings&quot;. &nbsp;Once there look at the URL. &nbsp;It should be: https://sharepointsite/subsite/_layouts/listedit.aspx?List={E2EAE561-D43R-4F8B-AC4D-146BEB66DBD4}</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">Use what List= is (including the {})</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> getDocumentList<span class="br0">&#40;</span><span class="re0">$listName</span><span class="sy0">,</span> <span class="re0">$config</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$authParams</span> <span class="sy0">=</span> getAuth<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// returns username:password</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* A string that contains either the display name or the GUID for the list.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* It is recommended that you use the GUID, which must be surrounded by curly</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; &nbsp; &nbsp; &nbsp; * braces ({}).</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; &nbsp; &nbsp; &nbsp; */</span>&nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rowLimit</span> <span class="sy0">=</span> <span class="st_h">&#8217;150&#8242;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* Local path to the Lists.asmx WSDL file (localhost). You must first download</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* it manually from your SharePoint site (which should be available at</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; * yoursharepointsite.com/subsite/_vti_bin/Lists.asmx?WSDL)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp; &nbsp; &nbsp; &nbsp; */</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$wsdl</span> <span class="sy0">=</span> <span class="re0">$_SERVER</span><span class="br0">&#91;</span><span class="st_h">&#8216;DOCUMENT_ROOT&#8217;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&quot;/Lists.xml&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Creating the SOAP client and initializing the GetListItems method parameters</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$soapClient</span> <span class="sy0">=</span> <span class="kw2">new</span> SoapClient<span class="br0">&#40;</span><span class="re0">$wsdl</span><span class="sy0">,</span> <span class="re0">$authParams</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$params</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;listName&#8217;</span> <span class="sy0">=&gt;</span> <span class="re0">$listName</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">&#8216;rowLimit&#8217;</span> <span class="sy0">=&gt;</span> <span class="re0">$rowLimit</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">&#8216;viewFields&#8217;</span>&nbsp; &nbsp; <span class="sy0">=&gt;</span> <span class="st0">&quot;&lt;ViewFields Properties=&#8217;True&#8217; /&gt;&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Calling the GetListItems Web Service</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rawXMLresponse</span> <span class="sy0">=</span> <span class="kw4">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; try<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rawXMLresponse</span> <span class="sy0">=</span> <span class="re0">$soapClient</span><span class="sy0">-&gt;</span><span class="me1">GetListItems</span><span class="br0">&#40;</span><span class="re0">$params</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">GetListItemsResult</span><span class="sy0">-&gt;</span><span class="me1">any</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; catch<span class="br0">&#40;</span>SoapFault <span class="re0">$fault</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//var_dump($fault);</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">echo</span> <span class="st_h">&#8216;Fault code: &#8216;</span><span class="sy0">.</span><span class="re0">$fault</span><span class="sy0">-&gt;</span><span class="me1">faultcode</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">echo</span> <span class="st_h">&#8216;Fault string: &#8216;</span><span class="sy0">.</span><span class="re0">$fault</span><span class="sy0">-&gt;</span><span class="me1">faultstring</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Loading the XML result into parsable DOM elements</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$dom</span> <span class="sy0">=</span> <span class="kw2">new</span> DOMDocument<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$dom</span><span class="sy0">-&gt;</span><span class="me1">loadXML</span><span class="br0">&#40;</span><span class="re0">$rawXMLresponse</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$results</span> <span class="sy0">=</span> <span class="re0">$dom</span><span class="sy0">-&gt;</span><span class="me1">getElementsByTagNameNS</span><span class="br0">&#40;</span><span class="st0">&quot;#RowsetSchema&quot;</span><span class="sy0">,</span> <span class="st0">&quot;*&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/unset"><span class="kw3">unset</span></a><span class="br0">&#40;</span><span class="re0">$soapClient</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$results</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>My function to parse ows_MetaInfo</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;* Parse ows_MetaInfo for a value</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> getMetaItem<span class="br0">&#40;</span><span class="re0">$result</span><span class="sy0">,</span> <span class="re0">$key</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$match</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/preg_match"><span class="kw3">preg_match</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/(?=&#8217;</span><span class="sy0">.</span><span class="re0">$key</span><span class="sy0">.</span><span class="st_h">&#8216;).*/&#8217;</span><span class="sy0">,</span> <span class="re0">$result</span><span class="sy0">-&gt;</span><span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">&quot;ows_MetaInfo&quot;</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="re0">$match</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216;/\w*\:\w{2}\|/&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8221;</span><span class="sy0">,</span> <span class="re0">$match</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Finally, open the document with by it&#8217;s URL</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> openDocument<span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$authParams</span> <span class="sy0">=</span> getAuth<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Get the file name.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$filename</span> <span class="sy0">=</span> <a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><a href="http://www.php.net/strrchr"><span class="kw3">strrchr</span></a><span class="br0">&#40;</span><a href="http://www.php.net/rawurldecode"><span class="kw3">rawurldecode</span></a><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="st_h">&#8216;/&#8217;</span><span class="br0">&#41;</span><span class="sy0">,</span> 1<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&quot;Content-Disposition: attachment; filename=&quot;</span><span class="sy0">.</span><a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span><span class="st_h">&#8216; &#8216;</span><span class="sy0">,</span> <span class="st_h">&#8221;</span><span class="sy0">,</span> <span class="br0">&#40;</span><a href="http://www.php.net/urlencode"><span class="kw3">urlencode</span></a><span class="br0">&#40;</span><span class="re0">$filename</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&quot;Content-type: application/octet-stream&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&quot;Content-Transfer-Encoding: binary&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$ch</span> <span class="sy0">=</span> <a href="http://www.php.net/curl_init"><span class="kw3">curl_init</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/curl_setopt"><span class="kw3">curl_setopt</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="sy0">,</span> CURLOPT_BINARYTRANSFER<span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/curl_setopt"><span class="kw3">curl_setopt</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="sy0">,</span> CURLOPT_HEADER<span class="sy0">,</span> 0<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/curl_setopt"><span class="kw3">curl_setopt</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="sy0">,</span> CURLOPT_URL<span class="sy0">,</span> <span class="re0">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/curl_setopt"><span class="kw3">curl_setopt</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="sy0">,</span> CURLOPT_USERPWD<span class="sy0">,</span> &nbsp;<span class="re0">$authParams</span><span class="br0">&#91;</span><span class="st_h">&#8216;login&#8217;</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st0">&quot;:&quot;</span> <span class="sy0">.</span> <span class="re0">$authParams</span><span class="br0">&#91;</span><span class="st_h">&#8216;password&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/curl_setopt"><span class="kw3">curl_setopt</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="sy0">,</span> CURLOPT_RETURNTRANSFER<span class="sy0">,</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/curl_setopt"><span class="kw3">curl_setopt</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="sy0">,</span> CURLOPT_SSL_VERIFYPEER<span class="sy0">,</span> <span class="kw4">false</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // Not working for me</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//curl_setopt($ch, CURLOPT_CAINFO, getcwd() . &quot;/../data/CAcerts/my.pem&quot;);</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$response</span> <span class="sy0">=</span> <a href="http://www.php.net/curl_exec"><span class="kw3">curl_exec</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">echo</span> <span class="re0">$response</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/curl_close"><span class="kw3">curl_close</span></a><span class="br0">&#40;</span><span class="re0">$ch</span><span class="br0">&#41;</span><span class="sy0">;</span>&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Oh how I love making systems talk to systems&#8230;</p>
<p>Thank you to <a href="http://davidsit.wordpress.com/2010/02/23/reading-a-sharepoint-list-with-php/">http://davidsit.wordpress.com/2010/02/23/reading-a-sharepoint-list-with-php/</a> for getting me started on how to read sharepoint lists.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/displaying-and-downloading-sharepoint-document-libraries-using-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Add a Page to WPShower Slideshow</title>
		<link>http://www.strickspage.com/blog/add-a-page-to-wpshower-slideshow/</link>
		<comments>http://www.strickspage.com/blog/add-a-page-to-wpshower-slideshow/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 15:50:55 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[pages on slideshow]]></category>
		<category><![CDATA[slideshow]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wpshower]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=630</guid>
		<description><![CDATA[The WPShower WordPress theme comes with a slideshow that allows you to add posts with a featured image to it. You can&#8217;t however add pages with featured images to it. To do this you need to do the following: 1) Modify sight_add_box() // functions.php function sight_add_box&#40;&#41; &#123; &#160; &#160; global $meta_box; &#160; &#160; &#160; add_meta_box&#40;$meta_box&#91;&#8216;id&#8217;&#93;, <a href='http://www.strickspage.com/blog/add-a-page-to-wpshower-slideshow/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>The WPShower WordPress theme comes with a slideshow that allows you to add posts with a featured image to it.  You can&#8217;t however add pages with featured images to it.  To do this you need to do the following:</p>
<p>1) Modify sight_add_box()</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// functions.php </span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> sight_add_box<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">global</span> <span class="re0">$meta_box</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; add_meta_box<span class="br0">&#40;</span><span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;id&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;title&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="st_h">&#8216;sight_show_box&#8217;</span><span class="sy0">,</span> <span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;page&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;context&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;priority&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="coMULTI">/* The above function adds the box to any &quot;edit post&quot; page. &nbsp;By changing the $context argument of add_meta_box() to &#8216;page&#8217; we are saying added this Slideshow Options widget to &quot;edit page&quot; page. */</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; add_meta_box<span class="br0">&#40;</span><span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;id&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;title&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="st_h">&#8216;sight_show_box&#8217;</span><span class="sy0">,</span> <span class="st_h">&#8216;page&#8217;</span><span class="sy0">,</span> <span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;context&#8217;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$meta_box</span><span class="br0">&#91;</span><span class="st_h">&#8216;priority&#8217;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>2) Tell the slideshow grab pages along with posts</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// slideshow.php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// $slides = get_posts($args); // Before</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$slides</span> <span class="sy0">=</span> <a href="http://www.php.net/array_merge"><span class="kw3">array_merge</span></a><span class="br0">&#40;</span>get_posts<span class="br0">&#40;</span><span class="re0">$args</span><span class="br0">&#41;</span><span class="sy0">,</span> get_pages<span class="br0">&#40;</span><span class="re0">$args</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/add-a-page-to-wpshower-slideshow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating A Workflow From an External List in SharePoint 2010</title>
		<link>http://www.strickspage.com/blog/creating-a-workflow-from-an-external-list-in-sharepoint-2010/</link>
		<comments>http://www.strickspage.com/blog/creating-a-workflow-from-an-external-list-in-sharepoint-2010/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 15:31:13 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[external lists]]></category>
		<category><![CDATA[linked]]></category>
		<category><![CDATA[sharepoint 2010]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=626</guid>
		<description><![CDATA[You can&#8217;t. Yeah, sucky, but&#8230; there are ways around that. If you Google for a while you&#8217;ll see some theories, I&#8217;ve got my own though that I&#8217;ve actually implemented. (This won&#8217;t work for all use cases.). Ok, so basically I needed to do the following: 1) Create a PHP form that users could submit an <a href='http://www.strickspage.com/blog/creating-a-workflow-from-an-external-list-in-sharepoint-2010/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><strong>You can&#8217;t.</strong></p>
<p>Yeah, sucky, but&#8230; there are ways around that.  If you Google for a while you&#8217;ll see some theories, I&#8217;ve got my own though that I&#8217;ve actually implemented. (This won&#8217;t work for all use cases.).</p>
<p>Ok, so basically I needed to do the following:</p>
<p>1) Create a PHP form that users could submit an application through.<br />
2) Display this information on a SharePoint site with a &#8220;Pending&#8221; state.<br />
3) Allow users with access to this information to change the state of the application in SharePoint.<br />
4) Depending on what the state changes to, email a certain user.</p>
<p>Most of this is pretty straight forward, the only real hurdles were a) providing a selection of state options and b) starting the &#8220;workflow&#8221;</p>
<p>(Later I&#8217;ll try to add some actual screen shots of what I did)</p>
<h3>Providing a select of state options</h3>
<p>Since you aren&#8217;t using SP workflows, you need to have a column in your database table to hold the state of the workflow.  Since columns can only contain one value, you need to create a way of letting a user choose among a variety of predefined options to save to the column.  Use InfoPath!</p>
<p>InfoPath allows you to attached a DropDown or Radio to a field.  So just add your predefined options to the attached DropDown or Radio and then set your field to read only.  Now when a user goes to edit the application, they have a list of &#8220;states&#8221; to choose from.</p>
<h3>Starting the &#8220;Workflow&#8221;</h3>
<p>Now all you need to do is listen for the state change with a database update trigger! This isn&#8217;t the most elegant way, but there&#8217;s nothing elegant about external list workflows in SharePoint!  On the bright side, it&#8217;s separated from SP so it can be used with other systems.</p>
<p>My trigger just listens for updates and checks to see what the &#8220;state&#8221; column is going to be changed to.  Various emails are sent based on the new &#8220;states&#8221; value.</p>
<p>And that is how I do External List Workflows in SharePoint 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/creating-a-workflow-from-an-external-list-in-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Display List of Zend_Form Error Messages</title>
		<link>http://www.strickspage.com/blog/display-list-of-zend_form-error-messages/</link>
		<comments>http://www.strickspage.com/blog/display-list-of-zend_form-error-messages/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 18:25:45 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[error messages]]></category>
		<category><![CDATA[form errors]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[zend_form]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=610</guid>
		<description><![CDATA[I actually think there is a view helper for this, but just for my information: &#60;?php // Display a list of all errors (no association to the element) ?&#62; &#60;ul&#62; &#160; &#160; &#60;?php foreach&#40;$this-&#62;form-&#62;getMessages&#40;&#41; as $el =&#62; $errors&#41;:?&#62; &#160; &#160; &#160; &#160; &#60;?php foreach&#40;$errors as $type =&#62; $message&#41;:?&#62; &#160; &#160; &#160; &#160; &#60;li&#62;&#60;?php echo $message; <a href='http://www.strickspage.com/blog/display-list-of-zend_form-error-messages/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I actually think there is a view helper for this, but just for my information:</p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="co1">// Display a list of all errors (no association to the element) ?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>ul<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">&lt;?php</span> <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">form</span><span class="sy0">-&gt;</span><span class="me1">getMessages</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$el</span> <span class="sy0">=&gt;</span> <span class="re0">$errors</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="sy1">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">&lt;?php</span> <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$errors</span> <span class="kw1">as</span> <span class="re0">$type</span> <span class="sy0">=&gt;</span> <span class="re0">$message</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="sy1">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &lt;li&gt;<span class="kw2">&lt;?php</span> <span class="kw1">echo</span> <span class="re0">$message</span><span class="sy0">;</span> <span class="sy1">?&gt;</span>&lt;/li&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">&lt;?php</span> <span class="kw1">endforeach</span> <span class="sy1">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">&lt;?php</span> <span class="kw1">endforeach</span> <span class="sy1">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&lt;/ul&gt;</div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/display-list-of-zend_form-error-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Set Up Automatic Backups of your Godaddy Website and Databases</title>
		<link>http://www.strickspage.com/blog/how-to-set-up-automatic-backups-of-your-godaddy-website-and-databases/</link>
		<comments>http://www.strickspage.com/blog/how-to-set-up-automatic-backups-of-your-godaddy-website-and-databases/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 14:33:11 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[MySql]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[cron jobs]]></category>
		<category><![CDATA[Godaddy]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=596</guid>
		<description><![CDATA[I had a client that recently wanted to start backing up all of the data from his websites to an external hard drive. I was like, &#8220;Ok, that&#8217;s easy. GoDaddy creates daily backups of your files that you can zip up from your account and download.&#8221; Wrong. Godaddy does create daily backs, which you can <a href='http://www.strickspage.com/blog/how-to-set-up-automatic-backups-of-your-godaddy-website-and-databases/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I had a client that recently wanted to start backing up all of the data from his websites to an external hard drive.  I was like, &#8220;Ok, that&#8217;s easy.  GoDaddy creates daily backups of your files that you can zip up from your account and download.&#8221;  Wrong.</p>
<p>Godaddy does create daily backs, which you can zip up and download, but not if your trying anything over 10 MB or so.  Also, it DOES NOT create backups of your databases.  But that&#8217;s ok, cron jobs to the rescue.</p>
<p>To create the necessary backups I needed to do the following:</p>
<p>1) Write a script that would generate backups of all the databases and store them in a private zone<br />
2) Write a script that would create a zip file of the entire site<br />
3) Add both of these as cron jobs</p>
<p>1) backupmydatabases</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co0">#!/bin/sh</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">//</span> Just create a sql dump of the database.</div>
</li>
<li class="li1">
<div class="de1">mysqldump <span class="re5">-uMYUSERNAME</span> <span class="re5">-pMYPASSWORD</span> <span class="re5">&#8211;opt</span> <span class="re5">-hMYHOSTNAME</span> MYDATABASENAME <span class="sy0">&gt;</span> ~<span class="sy0">/</span>private<span class="sy0">/</span>access<span class="sy0">/</span>MYDATABASENAME.sql </div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">//</span> Do this <span class="kw1">for</span> each database that you need to backup</div>
</li>
</ol>
</div>
</div>
<p>2) backupmyfiles</p>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="co0">#!/bin/sh</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">//</span> Remove the previous backup file.</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">rm</span> <span class="re5">-f</span> ~<span class="sy0">/</span>private<span class="sy0">/</span>access<span class="sy0">/</span>fullsite_backup.tar.gz</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">//</span> Create a tarball <span class="kw2">file</span> of everything <span class="kw1">in</span> your pocket of the server</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">//</span> Dont include the actual tarball<span class="sy0">!!</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">tar</span> <span class="re5">&#8211;exclude</span>=~<span class="sy0">/</span>private<span class="sy0">/</span>access<span class="sy0">/</span>fullsite_backup.tar.gz <span class="re5">-czf</span> ~<span class="sy0">/</span>private<span class="sy0">/</span>access<span class="sy0">/</span>fullsite_backup.tar.gz ~<span class="sy0">/*</span></div>
</li>
</ol>
</div>
</div>
<p>3) Godaddy Crons</p>
<p>Now you just go to your Godaddy account and setup 2 cron jobs to run each of those scripts.  Make sure you run the database backup script first and allow enough time for it to finish before you start the file backup script!</p>
<p>All you have to do now to get a backup of your entire webserver is just download the fullsite_backup.tar.gz file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/how-to-set-up-automatic-backups-of-your-godaddy-website-and-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Remove Context Menu From External List View</title>
		<link>http://www.strickspage.com/blog/how-to-remove-context-menu-from-external-list-view/</link>
		<comments>http://www.strickspage.com/blog/how-to-remove-context-menu-from-external-list-view/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 23:41:05 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[context menu]]></category>
		<category><![CDATA[external list]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[sharepoint 2010]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=591</guid>
		<description><![CDATA[If you don&#8217;t want the context menu to show up in your list You need to modify the XSLT template (site/lists/list_name/read_list_name.aspx). Before I could view the XSLT content I had to drag part of the grid&#8230; and remove the following &#60;xsl:if test=&#34;@ClassInfo=&#8217;Menu&#8217; or @ListItemMenu=&#8217;TRUE&#8217;&#34;&#62; &#160; &#160; &#160; &#160; &#60;xsl:attribute name=&#34;height&#34;&#62;100%&#60;/xsl:attribute&#62; &#160; &#160; &#160; &#160; &#60;xsl:attribute <a href='http://www.strickspage.com/blog/how-to-remove-context-menu-from-external-list-view/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>If you don&#8217;t want the context menu to show up in your list</p>
<p><img src="data:image/png;base64,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" alt="" width="271" height="166" /></p>
<p>You need to modify the XSLT template (site/lists/list_name/read_list_name.aspx). Before I could view the XSLT content I had to drag part of the grid&#8230; and remove the following</p>
<div class="codesnip-container" >
<div class="asp codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>xsl<span class="sy0">:</span><span class="kw1">if</span> test<span class="sy0">=</span><span class="st0">&quot;@ClassInfo=&#8217;Menu&#8217; or @ListItemMenu=&#8217;TRUE&#8217;&quot;</span><span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>xsl<span class="sy0">:</span>attribute name<span class="sy0">=</span><span class="st0">&quot;height&quot;</span><span class="sy0">&gt;</span><span class="nu0">100</span><span class="sy0">%&lt;/</span>xsl<span class="sy0">:</span>attribute<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>xsl<span class="sy0">:</span>attribute name<span class="sy0">=</span><span class="st0">&quot;onmouseover&quot;</span><span class="sy0">&gt;</span>OnChildItem<span class="br0">&#40;</span>this<span class="br0">&#41;</span><span class="sy0">&lt;/</span>xsl<span class="sy0">:</span>attribute<span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>xsl<span class="sy0">:</span>if<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/how-to-remove-context-menu-from-external-list-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating an External List From Related Tables In SharePoint 2010 &#8211; Part 1</title>
		<link>http://www.strickspage.com/blog/creating-an-external-list-from-related-tables-in-sharepoint-2010-part-1/</link>
		<comments>http://www.strickspage.com/blog/creating-an-external-list-from-related-tables-in-sharepoint-2010-part-1/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 00:58:23 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[etc]]></category>
		<category><![CDATA[external content types]]></category>
		<category><![CDATA[external lists]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[sharepoint 2010]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=578</guid>
		<description><![CDATA[This is going to show you how to create a listing of related database content in SharePoint. Two great resources that help me do this are: How To: Create, Configure, Consume SharePoint 2010 Secure Store in Business Connectivity Services Concatenate Values From Multiple Rows Into One Column First things first: Create a SQL Server View <a href='http://www.strickspage.com/blog/creating-an-external-list-from-related-tables-in-sharepoint-2010-part-1/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>This is going to show you how to create a listing of related database content in SharePoint. Two great resources that help me do this are:</p>
<ul>
<li><a href="http://fabiangwilliams.wordpress.com/2010/04/16/how-to-create-configure-consume-sharepoint-2010-secure-store-in-business-connectivity-services/">How To: Create, Configure, Consume SharePoint 2010 Secure Store in Business Connectivity Services</a></li>
<li><a href="http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/the-ten-most-asked-sql-server-questions--1#10">Concatenate Values From Multiple Rows Into One Column</a></li>
</ul>
<h2>First things first: Create a SQL Server View of Related Content</h2>
<p>The database that I will be working with has 3 tables; Person, Jobs and Education.</p>
<p><img src="data:image/png;base64,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" alt="" /></p>
<p>Populated with</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Person <span class="br0">&#40;</span>first_name<span class="sy0">,</span> last_name<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="st0">&#8216;brian&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;strickland&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Person <span class="br0">&#40;</span>first_name<span class="sy0">,</span> last_name<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="st0">&#8216;joe&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;smith&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Person <span class="br0">&#40;</span>first_name<span class="sy0">,</span> last_name<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="st0">&#8216;jane&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;doe&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#8216;Babysitter&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2002&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2002&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#8216;Cook&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2003&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;2/3/2004&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#8216;Host&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;2/4/2004&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;7/2/2005&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#8216;Dancer&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2002&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2002&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#8216;Singer&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2002&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2002&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="sy0">,</span> <span class="st0">&#8216;Researcher&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2002&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2003&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="sy0">,</span> <span class="st0">&#8216;Unemployed&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2004&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2004&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="sy0">,</span> <span class="st0">&#8216;Student&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2005&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2005&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="sy0">,</span> <span class="st0">&#8216;Unemployed&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2006&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2007&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st0">&#8216;Bum&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;1/1/2003&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;3/23/2011&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Jobs <span class="br0">&#40;</span>person<span class="sy0">,</span> title<span class="sy0">,</span> start_date<span class="sy0">,</span> end_date<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st0">&#8216;Homeless&#8217;</span><span class="sy0">,</span> <span class="st0">&#8217;2/29/2012&#8242;</span><span class="sy0">,</span> <span class="st0">&#8217;4/1/2012&#8242;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Education <span class="br0">&#40;</span>person<span class="sy0">,</span> name<span class="sy0">,</span> degree<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st0">&#8216;BCC&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;AA&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Education <span class="br0">&#40;</span>person<span class="sy0">,</span> name<span class="sy0">,</span> degree<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="sy0">,</span> <span class="st0">&#8216;UCF&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;CS&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Education <span class="br0">&#40;</span>person<span class="sy0">,</span> name<span class="sy0">,</span> degree<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="sy0">,</span> <span class="st0">&#8216;BCC&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;AA&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Education <span class="br0">&#40;</span>person<span class="sy0">,</span> name<span class="sy0">,</span> degree<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#8216;BCC&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;AA&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INSERT</span> <span class="kw1">INTO</span> Playground<span class="sy0">.</span>dbo<span class="sy0">.</span>Education <span class="br0">&#40;</span>person<span class="sy0">,</span> name<span class="sy0">,</span> degree<span class="br0">&#41;</span> <span class="kw1">VALUES</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="sy0">,</span> <span class="st0">&#8216;UCF&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216;Art&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
<p>We will create the view so that returns a list of all rows in Person with each of it&#8217;s related Education and Jobs data by choosing the following columns.</p>
<p><img src="data:image/png;base64,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" alt="" /></p>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAawAAAFzCAIAAADtwqoBAAAgAElEQVR4nO2d328dx5Xn+09aDUdGi3/Hzjp5GGdDCvdPWCAx5iWwBzFJAXqJBwwcwA+BkdnN2pRmQSRIMNBjYl1MMKQoB3Ohnck4k8nKMiI5FknRMnof+t7uqjqnfnWf6j5VOh9c2Lyt7qpzqqu+XdX39vdWTwVBEF5hqrkDEARBmBMRQUEQXmmqp0+fvnPwg1JfczevIAjcWYtgUyIigoIgeClcBF+d19wdSRBypXARfPlqICIoCIPxiODicIm+thbma0p1C+Sdgx98oXPv3r179+7d1Xn//R9/kTMigoIwBr8IHi6b9euwWVheuYjg4aEZ5+PHjxeHh7OIFxUigoIwhuiZIJwDbi2WW1sWEVzd3q40FseD9Gx1e3v79iryoHcOfvBMpxPBZ8+eLZ80yyfNBx8/XSwOn+XMV199JSIoCIPxiKA6dbp//373971799o/Li8vDw+XW1uLIPEapGX9gZGHQ2lo0/nkk0+Wy+X9+/c/+Pjp4eFysTico+XJEBEUhDFEiGAnfE3T3L17t2may8vLZ8+eHR4ub9y44RKv/v3xYthccKgI/knn8HB5uFzevXv38HD5/vs/bl+LxeGfAvmnv71eVdV//5/a++t/+0+hxydBRFAQxuARwfff//Enn3xy//79ezqtjrSfKkSIYPe2Xyav/7nbsH17pR3Vy99isd0foe1vF8HPdeA9wQ8+frqeEi6Xh8vlo0ePPnewfPv69evXr7+97N5WVdW9nYmrqysRQUEYjF8Eu7/VmeDh4bK9IbV80rz//o9dIojcElREbv3nZoa4ur1dLY5xEVRngvr+dhF8onN4uPz0008fP378+PHj5bL54OOnH3z8VE1qa2vx6NGjJzY+fuv69bfeeuP6Wx8/efLkyZOfvHH9jTeub97NhYigIIxhyHL48vLy7t27zzafLXhEsJ+qbRTLVMZW3vRpoUcE9f3tIviZzuHh8tGjR9p8drls82wOF4eHy/v377c6+BnKr9+6fv2tX//kjetv/fqzzz77yRvX3/rJW9fbN79+6/o6nfZ9v8H4982xff5v/OQz7QB4jKXMFhFBQRiDRwTffffd5XLZSkZ3N639b3db7fDwMHQ53E7g7NO340VVBc0E9f3tIvhIBy6H1yLYNE3TPHr0aGux2NpatDqI8I9/8xd/8Tf/2P730Y++2f+9/l+/z6MffbP65o/at9U3f2S+BWWq/xBa5prz83MRQUEYjF8Ee704XLafhDx79uz993+8fNK0K8p333039NNhqILd+rfqbhZu314pn58cLyoogub+VhFc6bQi2M5hHz9+vHyyEcHDRbNYNE2zONw6PFxuLRYrlF++ee3am79c/fLNa994771vVN94b73ll29e0+a2/aZrb/5yc6T6ttug7N79W2iZa0QEBWEMESLYLoG7+4DdPbUYEezk73jh+GBE++BkW5G/9ihtSe3+YORfdDoRbBVw+URb7z979uzRo0eHy+XW1uJfUH7x5rVrb/6i/f+1a6+/t9nyizevVa+/hx3x3utVpfzT5u17r1fX3vyFUuamZG1LWJkigoIwBr8Idp8Fq0vg9kPhdzdYRXBW3jn4wW91WsnrFHC53IjgYtEstj799NPF4VYrgr9F+fl3r1377s/bP6rXf9hv6d5v/unn371Wdbte++4P9bc//+Hrm91/+8PXK1hCSJk/Xwf1/PlzEUFBGIxfBG/cuLG1tTD+q/7RMpm0hfPOwQ8e6mgiuGwWy63u4+/Hjx9/8skn9+7daz8jfojys+9cu/adn+FbDv/bZt3avv/Zd66p721v8U1hZbaICArCGAp3kXmg037+235lun2tRXCx1Sy27t+/v7XYakXwwYz83V9Vf/V34bt/+eWXIoKCMJjCRfBEp/3Q41vf+tbWYtG+WhFcf1l6s97f2lqcTM27/7WfGf6X//F/Io4UERSEMRQugv/so5U8+PIeyIc///nPIoKCMJjCRfA3rwAigoIwhsJFUF7ykpe83K+SRVAQBMGLKYL/63//g7zkJS95vTovRASTiu4XX3zBpJAZkfhzrBrCKhgSyssIAnMUEZwBiT/HqiGsgiGhvIwg84vgs2fPmBQyIxJ/jlVDWAVDQnkZQWCOIoIzIPHnWDWEVTAklJcRJAcRDPghEVhIby+TA2b8g39/aiaYiuDkzThdO0yVWmhGufVYlflF8OnTp9p72JoB7WsWorrtO45lc+b8jYDCNn4mVU/ePp52CIln5KmnTtnaM6GhJ4+uOAB41qYWwT/96U+ePQLa1ywkNxEpLX4mVU/ePp52yFAEPT2zCBGEZw0Rwa++enlxeZXi9fLl1//5x/+nlX92q65vPWj/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" alt="" /></p>
<p>The problem with this, is that I don&#8217;t want to display 17 rows to my SharePoint users.  I only need to show them the 3 employees and merge the name, degree, etc fields.  To do this I need to write a SQL function for each of my related tables that will combined the related row data into a single column.</p>
<p><img src="data:image/png;base64,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" alt="" /></p>
<p>The way I go about doing this is that I create a function for each related table that I need to concatenate into one column and replace that select column in my sql view to use that function.  For example the default sql view is</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> dbo<span class="sy0">.</span>Person<span class="sy0">.</span>id<span class="sy0">,</span> dbo<span class="sy0">.</span>Person<span class="sy0">.</span>first_name<span class="sy0">,</span> dbo<span class="sy0">.</span>Person<span class="sy0">.</span>last_name<span class="sy0">,</span> dbo<span class="sy0">.</span>Education<span class="sy0">.</span>name<span class="sy0">,</span> dbo<span class="sy0">.</span>Education<span class="sy0">.</span>degree<span class="sy0">,</span> dbo<span class="sy0">.</span>Jobs<span class="sy0">.</span>start_date<span class="sy0">,</span> dbo<span class="sy0">.</span>Jobs<span class="sy0">.</span>title</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">FROM</span> dbo<span class="sy0">.</span>Person </div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INNER</span> <span class="kw1">JOIN</span> dbo<span class="sy0">.</span>Education <span class="kw1">ON</span> dbo<span class="sy0">.</span>Person<span class="sy0">.</span>id <span class="sy0">=</span> dbo<span class="sy0">.</span>Education<span class="sy0">.</span>person </div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">INNER</span> <span class="kw1">JOIN</span> dbo<span class="sy0">.</span>Jobs <span class="kw1">ON</span> dbo<span class="sy0">.</span>Person<span class="sy0">.</span>id <span class="sy0">=</span> dbo<span class="sy0">.</span>Jobs<span class="sy0">.</span>person</div>
</li>
</ol>
</div>
</div>
<p>So what I want to do is replace all of the dbo.Education.* with a function call that will concatenate all of the Education data for a single person and a function call that will concatenate all of the dbo.Jobs.* data for a single person.</p>
<p>To create a single string for the Education data create the following scalar function:</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">CREATE</span> <span class="kw1">FUNCTION</span> <span class="br0">&#91;</span>dbo<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>fnGetEducation<span class="br0">&#93;</span> <span class="br0">&#40;</span>@person INT<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">RETURNS VARCHAR<span class="br0">&#40;</span>8000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">AS</span></div>
</li>
<li class="li1">
<div class="de1">BEGIN</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">DECLARE @list VARCHAR<span class="br0">&#40;</span>8000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> @list <span class="sy0">=</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> name <span class="sy0">+</span> <span class="st0">&#8216;, &#8216;</span> <span class="sy0">+</span> degree <span class="sy0">+</span> <span class="st0">&#8216;; &#8216;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">FROM</span> Education</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">WHERE</span> person <span class="sy0">=</span> @person</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">AND</span> name <span class="kw1">IS</span> <span class="kw1">NOT</span> <span class="kw1">NULL</span> <span class="co1">&#8211; only care about the name</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">ORDER</span> <span class="kw1">BY</span> name</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">FOR</span> XML PATH<span class="br0">&#40;</span><span class="st0">&#8221;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">RETURN</span> <span class="kw1">LEFT</span><span class="br0">&#40;</span>@list<span class="sy0">,</span><span class="br0">&#40;</span>LEN<span class="br0">&#40;</span>@list<span class="br0">&#41;</span> <span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">END</div>
</li>
</ol>
</div>
</div>
<p>To create a single string for the Jobs data create the following scalar function:</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">CREATE</span> <span class="kw1">FUNCTION</span> <span class="br0">&#91;</span>dbo<span class="br0">&#93;</span><span class="sy0">.</span><span class="br0">&#91;</span>fnGetJobs<span class="br0">&#93;</span> <span class="br0">&#40;</span>@person INT<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">RETURNS VARCHAR<span class="br0">&#40;</span>8000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">AS</span></div>
</li>
<li class="li1">
<div class="de1">BEGIN</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">DECLARE @list VARCHAR<span class="br0">&#40;</span>8000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> @list <span class="sy0">=</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">SELECT</span> &nbsp;title <span class="sy0">+</span> <span class="st0">&#8216;, &#8216;</span> <span class="sy0">+</span> CONVERT<span class="br0">&#40;</span>nvarchar<span class="br0">&#40;</span><span class="nu0">30</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="br0">&#91;</span>start_date<span class="br0">&#93;</span><span class="sy0">,</span> <span class="nu0">126</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&#8216; &#8211; &#8216;</span> <span class="sy0">+</span> CONVERT<span class="br0">&#40;</span>nvarchar<span class="br0">&#40;</span><span class="nu0">30</span><span class="br0">&#41;</span><span class="sy0">,</span> end_date<span class="sy0">,</span> <span class="nu0">126</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&#8216;; &#8216;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">FROM</span> &nbsp; &nbsp;Jobs</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">WHERE</span> person <span class="sy0">=</span> @person</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">AND</span> title <span class="kw1">IS</span> <span class="kw1">NOT</span> <span class="kw1">NULL</span> &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">ORDER</span> <span class="kw1">BY</span> title</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">FOR</span> XML PATH<span class="br0">&#40;</span><span class="st0">&#8221;</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">RETURN</span> <span class="kw1">LEFT</span><span class="br0">&#40;</span>@list<span class="sy0">,</span><span class="br0">&#40;</span>LEN<span class="br0">&#40;</span>@list<span class="br0">&#41;</span> <span class="sy0">-</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">END</div>
</li>
</ol>
</div>
</div>
<p>Once you&#8217;ve done that ALTER the view by replacing</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">dbo<span class="sy0">.</span>Education<span class="sy0">.</span>name<span class="sy0">,</span> dbo<span class="sy0">.</span>Education<span class="sy0">.</span>degree</div>
</li>
</ol>
</div>
</div>
<p>with</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#40;</span><span class="kw1">SELECT</span> dbo<span class="sy0">.</span>fnGetEducation<span class="br0">&#40;</span>dbo<span class="sy0">.</span>Person<span class="sy0">.</span>id<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">AS</span> <span class="br0">&#91;</span>Education<span class="br0">&#93;</span></div>
</li>
</ol>
</div>
</div>
<p>and</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">dbo<span class="sy0">.</span>Jobs<span class="sy0">.</span>start_date<span class="sy0">,</span> dbo<span class="sy0">.</span>Jobs<span class="sy0">.</span>title<span class="sy0">,</span> dbo<span class="sy0">.</span>Jobs<span class="sy0">.</span>end_date</div>
</li>
</ol>
</div>
</div>
<p>with</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#40;</span><span class="kw1">SELECT</span> dbo<span class="sy0">.</span>fnGetJobs<span class="br0">&#40;</span>dbo<span class="sy0">.</span>Person<span class="sy0">.</span>id<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">AS</span> Jobs</div>
</li>
</ol>
</div>
</div>
<p>Now if you execute your view query you&#8217;ll get</p>
<p><img src="data:image/png;base64,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" alt="" /></p>
<p>Now you have a view that SharePoint can build external lists from.  In Part II I will describe how to do this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/creating-an-external-list-from-related-tables-in-sharepoint-2010-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gadgets Cause Computer To Freeze</title>
		<link>http://www.strickspage.com/blog/gadgets-cause-computer-to-freeze/</link>
		<comments>http://www.strickspage.com/blog/gadgets-cause-computer-to-freeze/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 16:59:59 +0000</pubDate>
		<dc:creator>Brian Strickland</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://www.strickspage.com/blog/?p=539</guid>
		<description><![CDATA[I had a friend running Windows Vista and whenever she tried to close the gadgets, her computer would freeze. The fix to this was pretty simple: 1) Go to &#8220;%localappdata%\Microsoft\Windows Sidebar&#8221; 2) Copy &#8220;Settings.ini&#8221; to somewhere else 3) Delete &#8220;Settings.ini&#8221; 4) Log off and log back on.]]></description>
			<content:encoded><![CDATA[<p>I had a friend running Windows Vista and whenever she tried to close the gadgets, her computer would freeze.  The fix to this was pretty simple:</p>
<p>1) Go to &#8220;%localappdata%\Microsoft\Windows Sidebar&#8221;<br />
2) Copy &#8220;Settings.ini&#8221; to somewhere else<br />
3) Delete &#8220;Settings.ini&#8221;<br />
4) Log off and log back on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strickspage.com/blog/gadgets-cause-computer-to-freeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

