Content Query or Content Search in SharePoint – Which is Best?

October 18, 2014 Comments off

One of the most common requirements in any SharePoint environment is the aggregation and summarization of content across lists, libraries, sites and site collections. Administrators could not easily achieve these requirements without custom code until the introduction of the Content Query Web Part (CQWP) in SharePoint 2007/2010. The CQWP gave administrators a useful out-of-the-box method for collecting data from various lists into a consolidated view. Even better, it could aggregate data from different sites – something the built-in List View Web Parts could never do. But, the CQWP certainly has its limitations – the number of sites it can query is limited, modifying the display requires expert XSL transformation skills, and the behind-the-scenes heavy lifting required to execute its queries can place a significant load on the infrastructure, especially when used on heavily trafficked pages.

Recognizing these limitations, Microsoft introduced the Content Search Web Part (CSWP, sometimes referred to as “Content by Search”) as part of the on-premise release of SharePoint 2013 and eventually in Office 365 tenants. By this point, most customers should at least be familiar with the CSWP and how it functions. The real question now is which one should you use – Content Query or Content Search? The answer, of course, is it depends. The following is a collection of basic guidelines to help you make an informed decision. For more information on how to use and extend each one, refer to the Additional Information section at the end of this post for related articles, presentations and blog posts.

– See more at: http://www.itunity.com/blog/content-query-content-search-sharepoint-2013-office-365-602#sthash.1Is1v2Nz.UVQGGuhp.dpuf

Eric Shupps Eric Alan Shupps eshupps @eshupps SharePoint Cowboy BinaryWave SmartTrack
Take the trouble out of troubleshooting.
Improve service levels and avoid downtime with
SmartTrack Operational Analytics for SharePoint

 

Articles

Ten Steps to Optimize SharePoint Performance by Eric Alan Shupps

Webcasts

Eric Shupps – Secrets of SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for Optimal Performance
Creating End User SharePoint Solutions for Performance and Scalability by Eric A. Shupps
SharePoint 2010 Performance Enhancements for Administrators with Eric Shupps Microsoft
SharePoint Server 2010 for the ASP.NET Developer

Eric Shupps on Following Best Practices and Avoiding Common Errors with Microsoft Office SharePoint Server 2007 Development
SharePoint Performance and Capacity Planning Essentials from Eric Alan Shupps
Eric Shupps on Troubleshooting Common Performance Problems in SharePoint 2010

Videos

Channel 9 Interview with Eric Shupps SharePoint
TechTalk – Different Views on Social Computing

Eric Alan Shupps talks SharePoint Post-Deployment Planning and Management

Podcasts

SharePoint Pod Show – Design for Performance eith Eric Shupps
SharePoint Pod Show – Test Driven Development with Eric Shupps
Run As Radio – Eric Shupps Improves SharePoint Performance

Social

Eric Shupps – ConferenceHound
Eric Shupps on Talk TechNet
Eric Alan Shupps on Channel 9
Planet SharePoint Eric Shupps profile
Eric Shupps Lanyrd
Eric Shupps MVP Profile
Eric Alan Shupps About.me
The SharePoint Cowboy Tumblr
Eric Shupps on Speakerfile
Eric Shupps – Facebook
Eric Shupps LinkedIn Profile
Eric Shupps Google+
Twitter – @eshupps

Solving SharePint 2013 Search Configuration Errors

May 23, 2014 Comments off
Configuring Search in SharePoint 2013 can be a tricky process that is best accomplished via PowerShell scripts. For starters, those messy database names with GUID’s in them that get created from UI provisioning are just hideous, but the real issue is that a proper topology (meaning search components running on more than a single machine) can only be deployed via PowerShell cmdlets. Despite our best efforts to script the entire process and avoid the kind of small mistakes that lead to endless hours of frustration, it’s inevitable that some small setting or configuration step will crop up that creates a giant headache.Take, for example, the new “SPSearchDBAdmin” role. This role, which didn’t exist in 2010, is added to each search database when it is created in SQL server. If you are following best practices and assigning service accounts for search operations (one for administration, one for crawling, and neither should be the SharePoint Farm or Admin accounts), the account you assign as the Search admin will be added to the SQL logins and given the “public” role. That’s all well and good for least privileged purposes but that role alone is insufficient for the Search application to function. Unfortunately, there’s no warning about this when the Search service application is created – provisioning will succeed but nothing really works. In order to kick Search into gear, you first need to assign the “SPSearchDBAdmin” role to the Search admin account in SQL server.
Also bear in mind that the Search admin account requires read/write permissions to the folder in which the index files reside. As this account should *not* be a local administrator it’s very likely that it won’t have access to the folders that hold the primary and replica index files. Be sure to assign the appropriate permissions on each server in the topology which contains an index partition (the default location is “C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Applications” which, ideally, should be changed as part of the provisioning process). Possible error messages which indicate your search admin account may not have the correct SQL or folder permissions include: “Content Plugin can not be initialized – list of CSS addresses is not set.”

“Unable to retrieve topology component health states. This may be because the admin component is not up and running”

“Topology activation failed. No system manager locations set, search application might not be ready yet”

“Could not access the Search database. A generic error occurred while trying to access the database to obtain the schema version info.”

There are a lot of blogs, forum posts, and articles with all sorts of advice on how to deal with these errors, most of which prescribe repetitive un-provisioning and re-provisioning of service applications. Although those solutions may apply to your environment at some point, before going down that road first ensure that the Search admin account has the proper database and file permissions, as no amount of provisioning will overcome basic security limitations.

(Note: For a good walkthrough on Search provisioning via powershell, refer to this post from Ryan Bushnell and the Search cmdlet reference on TechNet)

Eric Shupps Eric Alan Shupps eshupps @eshupps SharePoint Cowboy BinaryWave SmartTrack
Take the trouble out of troubleshooting.
Improve service levels and avoid downtime with
SmartTrack Operational Analytics for SharePoint

 

Articles

Ten Steps to Optimize SharePoint Performance by Eric Alan Shupps

Webcasts

Eric Shupps – Secrets of SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for Optimal Performance
Creating End User SharePoint Solutions for Performance and Scalability by Eric A. Shupps
SharePoint 2010 Performance Enhancements for Administrators with Eric Shupps Microsoft
SharePoint Server 2010 for the ASP.NET Developer

Eric Shupps on Following Best Practices and Avoiding Common Errors with Microsoft Office SharePoint Server 2007 Development
SharePoint Performance and Capacity Planning Essentials from Eric Alan Shupps
Eric Shupps on Troubleshooting Common Performance Problems in SharePoint 2010

Videos

Channel 9 Interview with Eric Shupps SharePoint
TechTalk – Different Views on Social Computing

Eric Alan Shupps talks SharePoint Post-Deployment Planning and Management

Podcasts

SharePoint Pod Show – Design for Performance eith Eric Shupps
SharePoint Pod Show – Test Driven Development with Eric Shupps
Run As Radio – Eric Shupps Improves SharePoint Performance

Social

Eric Shupps – ConferenceHound
Eric Shupps on Talk TechNet
Eric Alan Shupps on Channel 9
Planet SharePoint Eric Shupps profile
Eric Shupps Lanyrd
Eric Shupps MVP Profile
Eric Alan Shupps About.me
The SharePoint Cowboy Tumblr
Eric Shupps on Speakerfile
Eric Shupps – Facebook
Eric Shupps LinkedIn Profile
Eric Shupps Google+
Twitter – @eshupps

SmartTrack Promotional Video

June 20, 2013 Comments off

Converting Word Documents to HTML in Powershell with DefaultWebOptions

June 14, 2013 Comments off

Eric Shupps BinaryWave eshupps

In working on a SharePoint-related project I found myself needing to convert a large number of Word documents to clean HTML while maintaining the integrity of the embedded images.  So I turned to PowerShell to automate the process but found it wasn’t as easy as I had hoped.  After digging through some rather unhelpful MSDN documentation (is there any other kind?) I finally figured out how to force it to do what I wanted.

If you’ve ever used the “Save As Web Page” option in Word, then you know that the HTML it creates is a complete mess, full of Word styles and formatting options, and nothing you would ever actually use on a real web page.  Thankfully, there is a “Web Page, Filtered” option that strips most of the nonsense out of the resulting markup.  But for some reason it still insists on exporting down-sampled GIF images instead of full-fidelity…

View original post 308 more words

Categories: Uncategorized

Hiding Toolbars in the SharePoint 2010 Chart Web Part

November 3, 2012 Comments off

SharePoint Server 2010 ships with a nifty Chart web part that displays visual data from a number of sources – SharePoint lists, BDC, Excel services, etc. It’s a handy control and one that was sorely missing from the 2007 version. It provides a number of chart options, including pies, lines, bars, cones, scatters, etc. in both 2D and 3D. Neat…but (and there’s always a ‘but’)…it has one very annoying characteristic that drives site administrators crazy. When you drop it onto the page, it displays a toolbar with links for “Data & Appearance” and “Advanced Properties” to everyone with more than basic read permissions.

We certainly don’t want everyone to see that – too much temptation to click on those links and blow up our pretty little graphs. Well, ok, should be easy enough to turn that off, right? Wrong.

Somebody, somewhere, forget to include the ubiquitous hide toolbar switch that’s on most other out of the box web parts. While trying to figure out a workaround for this nice little undocumented feature, I came across a lot of links to this blog post by Nick Grattan in which he suggests editing the page in SharePoint Designer and changing the web part properties manually in the markup. That’s all well and good but anyone who has ever heard me speak at a conference knows that I am not exactly the world’s biggest fan of using SPD to edit pages (that may be understating it a bit, sort of like saying the Pope is a little bit Catholic or Texas gets a bit warm in the summertime). So what to do…

 

Read more from Eric Shupps

 

Articles

Ten Steps to  Optimize SharePoint Performance

Webcasts

Secrets of  SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for  Optimal Performance
Creating End User  SharePoint Solutions for Performance and Scalability 
SharePoint 2010  Performance Enhancements for Administrators Microsoft
SharePoint Server 2010 for the ASP.NET Developer

Following Best  Practices and Avoiding Common Errors with Microsoft Office SharePoint Server  2007 Development
SharePoint  Performance and Capacity Planning Essentials
Troubleshooting  Common Performance Problems in SharePoint 2010

Videos

Channel 9  Interview with Eric Shupps SharePoint
TechTalk – Different Views on Social Computing

SharePoint  Post-Deployment Planning and Management

Podcasts

SharePoint Pod  Show – Design for Performance
SharePoint Pod  Show – Test Driven Development
Run As Radio –  Eric Shupps Improves SharePoint Performance

Social

ConferenceHound
Talk  TechNet
Channel  9
Planet  SharePoint
Lanyrd
MVP  Profile
About.me
Tumblr
Speakerfile
Facebook
LinkedIn
Google+
Twitter

Using Multiple Displays and Projectors with Windows 8 and Lenovo W520

October 29, 2012 Comments off

When Lenovo started shipping hybrid graphics in their W500-series  workstations, it was a great improvement for road warriors who need both  full-power graphics when connected to a power source and long battery life on  the go. This is achieved by the presence of two video cards – an integrated  Intel chip side-by-side with an nVidia Quadro GPU. The nVidia drivers ship with  software that automatically switch between graphics modes based on the current  power profile.

This configuration works great until the machine is connected to an external  monitor or projector via the VGA port. For some reason, the nVidia software is  unable to automatically balance the output between both video cards when the  display is duplicated. Many users have resorted to disabling one or the other  video cards in the BIOS, which works fine but requires that the change be made  manually each time to computer is rebooted (assuming that the user wants the low  power mode at some point – if the machine is always plugged in then it’s really  not an issue).

There is, however, a way to get display duplication working with the  auto-switching Optimus mode. All the configuration options are there in the  nVidia control panel but the configuration isn’t very intuitive. Here’s how to  make it work (this holds true for both Windows 7 and Windows 8, although the  sub-menu text in the control panel is a bit different between driver versions)…

Read more from Eric Shupps

Articles

Ten Steps to  Optimize SharePoint Performance

 

Webcasts

Secrets of  SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for  Optimal Performance

Creating End User  SharePoint Solutions for Performance and Scalability 

SharePoint 2010  Performance Enhancements for Administrators

Microsoft  SharePoint Server 2010 for the ASP.NET Developer

Following Best  Practices and Avoiding Common Errors with Microsoft Office SharePoint Server  2007 Development

SharePoint  Performance and Capacity Planning Essentials

Troubleshooting  Common Performance Problems in SharePoint 2010

 

Videos

Channel 9  Interview with Eric Shupps

SharePoint  TechTalk – Different Views on Social Computing

SharePoint  Post-Deployment Planning and Management

 

Podcasts

SharePoint Pod  Show – Design for Performance

SharePoint Pod  Show – Test Driven Development

Run As Radio –  Eric Shupps Improves SharePoint Performance

 

Social

ConferenceHound

Talk  TechNet

Channel  9

Planet  SharePoint

Lanyrd

MVP  Profile

About.me

Tumblr

Speakerfile

Facebook

LinkedIn

Google+

Twitter

The SharePoint 2013 Chrome Control

October 15, 2012 Comments off

In the new SharePoint 2013 App model, there are essentially two ways to host  apps – within SharePoint itself or from an external web site (also known as  “provider hosted” or “autohosted”). One of the disadvantages of external apps is  that they don’t look or feel like SharePoint. All the familiar navigation menus  and shortcuts are missing, resulting in a stark contrast between the default  SharePoint visual experience and whichever app is currently being used unless  the app developer went the extra mile (or ten) to style their app.

While this isn’t really a bad thing – the app is fully functional and can  communicate with SharePoint – it doesn’t quite lend itself to a cohesive user  experience. To bridge this gap, Microsoft allows developers to import a very  basic version of the SharePoint 2013 chrome into their apps without having to  manually create matching HTML controls. The functionality for this can be found  in the SP.UI.Controls.js file located in the new /_layouts/15 directory. To use  the chrome control, first add a reference to SP.UI.Controls.js (make sure you’ve  already loaded the requisite JQuery files and other dependencies), then add an  empty <div> to your page markup at or near the top of the page..

Read more from Eric Shupps


Articles

Ten Steps to  Optimize SharePoint Performance


Webcasts

Secrets of  SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for  Optimal Performance
Creating End User  SharePoint Solutions for Performance and Scalability 
SharePoint 2010  Performance Enhancements for Administrators
Microsoft  SharePoint Server 2010 for the ASP.NET Developer
Following Best  Practices and Avoiding Common Errors with Microsoft Office SharePoint Server  2007 Development
SharePoint  Performance and Capacity Planning Essentials
Troubleshooting  Common Performance Problems in SharePoint 2010

Videos
Channel 9  Interview with Eric Shupps
SharePoint  TechTalk – Different Views on Social Computing
SharePoint  Post-Deployment Planning and Management

 

Podcasts
SharePoint Pod  Show – Design for Performance
SharePoint Pod  Show – Test Driven Development
Run As Radio –  Eric Shupps Improves SharePoint Performance

Social

ConferenceHound
Talk  TechNet
Channel  9
Planet  SharePoint
Lanyrd
MVP  Profile
About.me
Tumblr
Speakerfile
Facebook
LinkedIn
Google+
Twitter

 

Using PowerShell to Set List View Parameters in SharePoint Web Parts

October 11, 2012 Comments off

While working on some modifications to the SharePoint 2010 blog site template  I ran across an interesting problem. I was trying to duplicate the functionality  of a particular web part; in this case, the Posts web part which outputs a  formatted display of list items on the Category.aspx page of a blog site. The  default web part was listed in the contents page (reachable using the  “?contents=1” query string parameter) as a basic XsltListViewWebPart, which  meant that I should be able to drop the Posts web part from Lists and Libraries  in the web part gallery, set the view, and get the desired results. If only it  were that simple.

No matter which view I picked, all the web part showed was a standard list  view with rows and columns, not the nicely formatted view with the calendar page  image, title link and summary information that I was after. Since it was a stock  list view web part I knew it was using a view to fetch the data and then  transforming it in XSL but there didn’t seem to be any way to force it into  using the correct view. Assuming that the view itself might be hidden from the  drop-down selector, I turned to PowerShell to see if I could find out what was  going on. I began by iterating through the web parts on the page to find the one  I wanted and writing out the view ID…

Read more from Eric Shupps

 

Articles

Ten Steps to  Optimize SharePoint Performance


Webcasts

Secrets of  SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for  Optimal Performance

Creating End User  SharePoint Solutions for Performance and Scalability 

SharePoint 2010  Performance Enhancements for Administrators

Microsoft  SharePoint Server 2010 for the ASP.NET Developer

Following Best  Practices and Avoiding Common Errors with Microsoft Office SharePoint Server  2007 Development

SharePoint  Performance and Capacity Planning Essentials

Troubleshooting  Common Performance Problems in SharePoint 2010

 

Videos

Channel 9  Interview with Eric Shupps

SharePoint  TechTalk – Different Views on Social Computing

SharePoint  Post-Deployment Planning and Management

 

Podcasts

 

SharePoint Pod  Show – Design for Performance

SharePoint Pod  Show – Test Driven Development

Run As Radio –  Eric Shupps Improves SharePoint Performance


Social

 

ConferenceHound

Talk  TechNet

Channel  9

Planet  SharePoint

Lanyrd

MVP  Profile

About.me

Tumblr

Speakerfile

Facebook

LinkedIn

Google+

Twitter

Configuring SharePoint 2013 High Trust Apps

October 4, 2012 Comments off

The SharePoint 2013  Application Model supports app development for both cloud and on-premise  environments; however, there are distinct differences between the two  implementations. In the cloud, apps rely upon an external authorization process  to validate that an application hosted outside of SharePoint – in a vendor’s  data center, for example – is allowed to communicate with the SharePoint site  where the app has been deployed. Within the enterprise, it is unlikely that an  authorization server will be present or even necessary; rather, apps developed  and deployed internally are assumed to have “high trust”. In order to facilitate  a high trust relationship in the absence of a pre-configured authorizing entity,  a specific set of configuration tasks must be performed for each app that will  be deployed…

Read more from Eric Shupps

Articles

Eric Shupps eshupps SharePoint Cowboy – Ten Steps to  Optimize SharePoint Performance

Webcasts

Eric Shupps eshupps SharePoint Cowboy – Secrets of  SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for  Optimal Performance Eric Shupps eshupps SharePoint Cowboy – Creating End User  SharePoint Solutions for Performance and Scalability Eric Shupps eshupps SharePoint Cowboy – SharePoint 2010  Performance Enhancements for Administrators Eric Shupps eshupps SharePoint Cowboy – Microsoft  SharePoint Server 2010 for the ASP.NET Developer Eric Shupps eshupps SharePoint Cowboy – Following Best  Practices and Avoiding Common Errors with Microsoft Office SharePoint Server  2007 Development Eric Shupps eshupps SharePoint Cowboy – SharePoint  Performance and Capacity Planning Essentials Eric Shupps eshupps SharePoint Cowboy – Troubleshooting  Common Performance Problems in SharePoint 2010

Videos

Eric Shupps eshupps SharePoint Cowboy – Channel 9  Interview with Eric Shupps Eric Shupps eshupps SharePoint Cowboy – SharePoint  TechTalk – Different Views on Social Computing Eric Shupps eshupps SharePoint Cowboy – SharePoint  Post-Deployment Planning and Management

Podcasts

Eric Shupps eshupps SharePoint Cowboy – SharePoint Pod  Show – Design for Performance Eric Shupps eshupps SharePoint Cowboy – SharePoint Pod  Show – Test Driven Development Eric Shupps eshupps SharePoint Cowboy – Run As Radio –  Eric Shupps Improves SharePoint Performance

Eric  Shupps eshupps SharePoint Cowboy on ConferenceHound
Eric Shupps eshupps SharePoint Cowboy – Talk  TechNet
Eric Shupps eshupps SharePoint Cowboy on Channel  9
Eric Shupps eshupps SharePoint Cowboy on Planet  SharePoint
Eric Shupps eshupps SharePoint Cowboy on  Lanyrd
Eric Shupps eshupps SharePoint Cowboy MVP  Profile
Eric Shupps eshupps SharePoint Cowboy  About.me
Eric Shupps eshupps SharePoint Cowboy  Tumblr
Eric Shupps eshupps SharePoint Cowboy  Speakerfile
Eric Shupps eshupps SharePoint Cowboy  Facebook
Eric Shupps eshupps SharePoint Cowboy  LinkedIn
Eric Shupps eshupps SharePoint Cowboy  Google+
Eric Shupps eshupps SharePoint Cowboy Twitter

SharePoint MVP for Another Year

October 1, 2012 Comments off

Well, it’s that time of year again, and Microsoft has seen fit to keep me in the MVP program for another go around.  This will be my sixth year as an MVP.  When I first came into the program there were only a few dozen SharePoint MVP’s – now there are hundreds all over the world.  The yearly MVP summit used to be an opportunity to catch up with old friends you didn’t see very often but with the growth of the group (which is still quite small compared with groups like SQL or ASP.NET) it’s now become a way to meet new people you might not have even heard of before.  

For those of us who have been around a while, the quarterly renewal cycles can often be bittersweet – sometimes we have to say goodbye to friends who have moved on or focused their community efforts in other directions.  Despite what some people on the outside who have no knowledge of the inner workings of the program may think, it still takes a lot of work to attain and retain MVP status.  You don’t have to be the brightest technical guru or constantly on the speaking circuit to become an MVP (although both of those certainly help) but you do have to put in the hours contributing to the community in whatever fashion suits you.  Not everyone has the capability or flexibility to continue contributing at a high level – life and circumstances change and sometimes there’s just not enough hours in the day.  It’s sad to see good people leave the program but always exciting to meet the new kids on the block.

So congratulations to all the new and returning SharePoint MVP’s.  With a new product release on the horizon it’s going to be a busy year ahead.  Be sure to join us all in Las Vegas on November 12th – 15th for SharePoint Conference 2012 for lots of learning and plenty of partying!

Articles

Eric Shupps eshupps SharePoint Cowboy – Ten Steps to Optimize SharePoint Performance

Webcasts

Eric Shupps eshupps SharePoint Cowboy – Secrets of SharePoint Part 5: Configuring Microsoft Office SharePoint Server 2007 for Optimal Performance
Eric Shupps eshupps SharePoint Cowboy – Creating End User SharePoint Solutions for Performance and Scalability
Eric Shupps eshupps SharePoint Cowboy – SharePoint 2010 Performance Enhancements for Administrators
Eric Shupps eshupps SharePoint Cowboy – Microsoft SharePoint Server 2010 for the ASP.NET Developer
Eric Shupps eshupps SharePoint Cowboy – Following Best Practices and Avoiding Common Errors with Microsoft Office SharePoint Server 2007 Development
Eric Shupps eshupps SharePoint Cowboy – SharePoint Performance and Capacity Planning Essentials
Eric Shupps eshupps SharePoint Cowboy – Troubleshooting Common Performance Problems in SharePoint 2010

Videos

Eric Shupps eshupps SharePoint Cowboy – Channel 9 Interview with Eric Shupps
Eric Shupps eshupps SharePoint Cowboy – SharePoint TechTalk – Different Views on Social Computing
Eric Shupps eshupps SharePoint Cowboy – SharePoint Post-Deployment Planning and Management

Podcasts

Eric Shupps eshupps SharePoint Cowboy – SharePoint Pod Show – Design for Performance
Eric Shupps eshupps SharePoint Cowboy – SharePoint Pod Show – Test Driven Development
Eric Shupps eshupps SharePoint Cowboy – Run As Radio – Eric Shupps Improves SharePoint Performance

Eric Shupps eshupps SharePoint Cowboy on ConferenceHound
Eric Shupps eshupps SharePoint Cowboy – Talk TechNet
Eric Shupps eshupps SharePoint Cowboy on Channel 9
Eric Shupps eshupps SharePoint Cowboy on Planet SharePoint
Eric Shupps eshupps SharePoint Cowboy on Lanyrd
Eric Shupps eshupps SharePoint Cowboy MVP Profile
Eric Shupps eshupps SharePoint Cowboy About.me
Eric Shupps eshupps SharePoint Cowboy Tumblr
Eric Shupps eshupps SharePoint Cowboy Speakerfile
Eric Shupps eshupps SharePoint Cowboy Facebook
Eric Shupps eshupps SharePoint Cowboy LinkedIn
Eric Shupps eshupps SharePoint Cowboy Google+
Eric Shupps eshupps SharePoint Cowboy Twitter