git interactive rebase for svn without remotes

I’ve recently switched from using Subversion directly to using git svn to allow me to use a git workflow, but interact with a subversion repository. It works great, except when I needed to interactive rebase… When moving this workflow into my customer’s environment, they require I specify a JIRA ticket on each commit to the repo. I had forgot to do that for the first few commits, which looked like this:

Editing the SharePoint 2013 My Sites Web Part Pages

Editing pages in SharePoint 2013 My Sites is easier than one would think…

The last two weeks have been interesting. I’ve been trying to deploy an app part built as part of a SharePoint 2013 app I developed recently. The app part re-creates the “Suggestions” functionality that you see when visiting the “Followed Sites” and “Followed People” pages in your My Site. Those web parts were not easily reused in other parts of My Sites. The purpose of creating this app part was to be able to add suggestions directly to the Newsfeed page to make it a more useful information radiator. Unfortunately, editing the Newsfeed page (or any page) in the “My Site Host” was not nearly as intuitive as I had hoped.

Using the Quicktate RESTful API

Quicktate is a service for which I’ve been consulting for since 2009. We have recently released a new RESTful API to help make integrating with the service a breeze. That said, while our new RESTful API documentation uses Swagger to generate our service documentation, many of the common RESTful semantics we rely on are completely missing from that documentation. Until we figure out an easier way to convey that information via Swagger, here’s some basic information on how to get around the API. Authentication ————– All requests currently are performed using HTTP Basic authentication. While we are still developing our OAuth provider and intend to use that as our primary mechanism for authenticating users, we currently are accepting your username and password via a standard HTTP Basic Authorization request. As a raw HTTP header, you are looking at the following for authenticating as demo@quicktate.com with password Test1234%:

SqlFileStream Access is Denied

I started playing around with SQL filestreams yesterday. We have a need to store large binary objects both quickly and efficiently from SharePoint in our SQL database for regulatory purposes. I found a great article on Code Project on how to actually store binary data in a filestream column. However, as I ran the code, I encountered a Win32Exception with the message “Access is denied.”.

PHP preg_match Maximum Length

Last weekend and this weekend I spent a good deal of time trying to track down a PHP error I was having in my customer’s production environment. This wasn’t an exception being thrown by PHP, but rather, I couldn’t readily identify if it was a PHP error or not, because different parts of our infrastructure were throwing different errors during the request. The problem was first noticed by an early adopter of the new RESTful API we released a month ago. He kept receiving an HTTP error code 400 with the following message:

Chris Weldon - Microsoft MVP

Microsoft MVP Logo 2012 was a stressful, but rewarding year. Those who know me know I love to speak at conferences and user groups. Just how much do I love to speak? Check out my SpeakerRate profile. Last year I had 20 talks logged at SpeakerRate, 28 talks in total. Most of those talks were local user groups and local techfests, but I finally managed to hit the national spotlight with one talk at Agile 2012. I know this pales in comparison to some technical speakers, but it’s not about the quantity - it’s about the quality. I put a lot of time preparing my presentations, as I want my audience to not just be encouraged, but to be motivated to take what they’ve learned in my sessions and implement them tomorrow.

SharePoint 2013 Community Tagging Architecture and Bug

I’ve spent yesterday evening and today really sinking my teeth into the internals of SharePoint 2013’s social features, trying to identify how items are cataloged and surfaced. This led to some very interesting revelations as to where I can find information relating to each of SharePoint’s moving parts. As I continued to dig, I managed to identify a significant problem with surfacing hashtags, aka #tags, in community sites. This post serves as a place for hopefully the search engines to surface this problem for other users, and I will catalog my findings and hopefully eventual resolution with Microsoft.

SharePoint 2013 Tagging - Social Tags, Hashtags, and Keywords

Social Tags, Hashtags, and Keywords share a lot of similarities, but are also distinctly different in SharePoint 2013. This post helps to demistify those differences.

SharePoint 2013 is now publicly available and enterprises are taking an earnest look at many of its features, specifically the social features. I won’t lie, I’m a fairly decent microblogger, and at Improving Enterprises we actively use Yammer to communicate company-wide. That feature is increasingly useful to have meaningful conversations when it comes to promoting achievements, asking questions that require a larger audience to answer, and to share transient things like pictures and videos. However, when it comes to sharing documents and collaborating on a project, SharePoint wins over Yammer every time. That’s why we have Office 365 within our company. So, to hear that many of Yammer’s features are now native to SharePoint, I became very interested in digging in - as did my customer.

SqlCacheDependency in HTTP Module Supporting SharePoint

A customer of mine had a poorly-managed caching solution that made it difficult to purge without taking the website down. This blog post highlights how the SqlCacheDependency is a mechanism for helping to solve this problem.

A customer of mine had some code that caches all of the rows from a SQL table in order to ensure the highest possible thruput with low overhead. Unfortunately, the code was caching the data on the first request, and not letting go of the cached data. Therefore, the only way to clear the cache or load new records was to perform an iisreset, taking the website offline. For this production SharePoint instance which serves over 40k employees, this is not an acceptable solution during the day. So, we decided to look into an alternative solution: SqlCacheDependency.

Pagination