Feb 13
Save Site as Template is Missing in SharePoint Online

​As much as I do love Office 365 and SharePoint Online, when the simple things that you took for granted in the on premise versions go missing in SharePoint Online, it's enough to make you go bonkers.

Case in point:  Saving Sites as Templates

Go ahead and try to find the link where you think it should be in Site Settings in SharePoint Online.  Try turning site collection features on to no avail. 

Figuratively bang head against wall 2 times and then try this workaround.

  1. Open the root site in SharePoint Designer 2013 (because alas, that is the last available version of this awesome application there will ever be).
  2. Click on Site Options from the ribbon and Modify the SaveSiteAsTemplateEnabled to true
  3. Now the link will appear in Site Settings....oh wait, just won't...<bang head against wall 1 more time> have to manually navigate to the site you want to save as a template and then change the URL to go to the Save As a Template page. 
    For example:
  4. The Solution Gallery should appear in Site Settings for you to manage these templates normally.


Aug 24
Remove Created/Modified Info from List Form

​Scenario:  I built an auction site where users can bid on items in a list to purchase.  One of the requirements was to remove the Created/Modified information from the footer of the List Form so that users won't know whom they are bidding against and vice versa.

So, in a nutshell - remove the highlighted section below from the Bid Form:


  1. With your form open in Internet Explorer, click f12 to go to developer mode to find that the id(s) of the section(s) we are trying to hide are named onetidinfoblock1 and onetidinfoblock2.
  2. Open Notepad to create a new JavaScript file using the text below and save the file to your Source Library in SharePoint where you should also have a copy of the jquery.min.js file which is referenced in this script.
    <script type="text/javascript" src="/SourceLibrary/jquery.min.js"></script>
    <script language="javascript" type="text/javascript">
    $(document).ready(function () {
  3. Go back to your list form and place into edit mode by clicking on the Gear > Edit Form.
  4. Click the link to Add a Web Part and select the Content Editor web part from the Media and Content category, then click the Add button to add it to the page.
  5. Edit the new Content Editor web part and paste in the relative URL into the Content Link field.  Expand the Layout menu and check the Hidden checkbox, then click OK to save the changes to the web part and click Save to save your changes to the page.
  6. Alternately, for faster rendering (as sometimes, the above method will still briefly show you the section you're trying to hide and then refresh to hide it.  You could use SharePoint Designer to add the JavaScript inline on the List Form page by clicking on the Form and editing using Advanced Mode
  7. Find the ContentPlaceHolderId="PlaceHolderMain" line (around line 22) and paste the script in the lines below.
  8. Your custom form will now render without showing the Created and Modified information.
May 28
2013 Workflow Task Links Redirect to Edit Form

Note:  The 2010 workflow engine opens to an edit form natively, so this post only applies to those of you that need to use the 2013 workflow for your approval process.

If your end-users are like mine, they don't appreciate having to click "Edit Item" in the ribbon in order to approve a task which they clicked on from their email notification.  I'm not a fan of it either, so here's a clever work-around to keep everyone happy.

  1. Open SharePoint Designer 2013 and navigate to your Tasks list where workflow is creating your assigned workflow tasks.
  2. Click the New... menu button in the Forms section
  3. Give your new form a name, select the radio button by Display item form, check the box next to Set as default form for the selected type, and select the Workflow Task (SharePoint 2013) content type (assuming that is the content type you're using for your workflow tasks) and click the OK button.
  4. Open the new form in Code view by clicking on the form name, then click the Advanced Mode button in the ribbon to open up the form for editing.
  5. Paste the following javascript AFTER the <asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> line (approx line 14):
    <script type="text/javascript">
    var origUrl = window.location.toString();
    var editUrl = origUrl.replace("CustomDisplayForm","EditForm");
    window.location = editUrl;
  6. Save the changes to your form and then test by navigating to your list and clicking on the link to your should be redirected to the Edit form via your new custom display form script.  This also means that when the end user clicks the link to the task from their email notification, the link will take them directly to the edit form page to approve/reject.


Aug 26
People Search Result URLs Break after SP1

Update:  Resolved with September 2014 CU KB2883088

Here is the workaround:

Use Case Description: The search results with %5C (the “\” character) will become double encoded (represented as “%255C″). This causes broken links for e.g. when accessing Search Center and performing people search with "user1". At the peopleresults.aspx page, click the username in the search result

Actual Results: The personal site of user1 cannot be accessed. You can see the personal site for user1 is something like below

Workaround Instructions: Apply below workaround on current search center site. If you have additional search center sites, please update all of them.

1. On your Search Center site collection go to Site Settings and then Master Page Gallery

2. On Master Page Gallery click on Display Templates and then click on Search.  Now find File named Item_Person.html and then checkout the file. Make a backup of the file and open the file in your favorite text editor and locate highlighted Line in below Screenshot.


3. Now replace above highlighted line replace with following text.

var encodedPath = $urlHtmlEncode(decodeURI(ctx.CurrentItem.Path));

4. Now find File named Item_Person_CompactHorizontal.html and then checkout the file. Make a backup of the file and open the file in your favorite text editor and then locate highlighted Line in below Screenshot.


5. Now replace above highlighted line replace with following text.

              var pathEncoded = $urlHtmlEncode(decodeURI(ctx.CurrentItem.Path));

6. Now find File named Item_Person_HoverPanel.html and then checkout the file. Make a backup of the file and open the file in your favorite text editor and then locate highlighted Line in below Screenshot.


Now replace above highlighted line so that it looks like following.

<a id="_#= visitId =#_" class="ms-calloutLink ms-uppercase" href="_#= $urlHtmlEncode(decodeURI(ctx.CurrentItem.Path)) =#_" title="_#= $htmlEncode(Srch.Res.hp_PeopleItem_ViewProfile) =#_">

7. Now check-in the above files and make sure they are published.

Mar 24
Where's the Site Feed/Newsfeed/MicroFeed Web Part?

​So you've just completed a database attach upgrade and want to enable some of the fun new SharePoint 2013 social features on your old, blah site like the Newsfeed.  This appears by default on the home pages of new 2013 Team sites, but you want to add it to your existing/migrated sites.  You've already configured your MySite Host and User Profile Service correctly.  You've activated the SharePoint Server Publishing Infrastructure site collection feature as well as the Wiki Page Home Page site feature on your upgraded site, but when you try to add a Site Feed Web Part to your page, you can't find it in any of the Web Part Categories.  Now what?

Let's start "Working on it..."

  1. Because the MicroFeed is a new feature of SharePoint 2013, it won't exist on your upgraded site pages from SharePoint's previous versions.  So, you need to activate both the Following Content and Site Feed features on your site using Gear > Site Settings > Manage Site Features
  2. Now the MicroFeed app will appear in your site's Site Contents, but you still won't be able to find the Web Part to add to your page.  Also, you can't simply add the MicroFeed App Part to your page either unless you want to totally confuse your users by displaying a bunch of jibberish.  So, let's navigate to your root web and go to Gear > Site Settings > Web parts to open your Web Part Gallery
  3. If this is a migrated database, you'll be missing the SiteFeedWebPart.dwp in your list.  Add it by going to the Files tab > New Document
  4. Scroll down the list until you find the SiteFeedWebPart.dwp and check the box to select it.
  5. Then scroll back to the top of the page and click the Populate Gallery button.
  6. You'll be returned to the Web Part Gallery, navigate to the newly added SiteFeedWebPart and click the Edit button to open the Web Part Properties window.  Add the Web Part to the Social Collaboration group and optionally change the Title to a more friendly display name like Site Feed and click the Save button.
  7. Now when you go back to your site to Insert a Web Part on your page, the Site Feed Web Part appears in the Social Collaboration category.  Select it and click the Add button
  8. The Site Feed is now added to your page.


Mar 20
Mixing Office Client Versions causes New Document from Template Errors


  1. User is in a SharePoint 2013 document library within Internet Explorer and goes to the Files tab > New Document drop-down to select a document template from the available list of content types.
  2. After clicking one of the Excel templates, the user is brought to an error page similar to this one with the URL starting with ms-excel:nft|u|http
    For Word Files the URL will start with ms-word:nft|u|http


  1. Checked IE settings and F12 Compatibility/Browser modes & Add-ons.
  2. Verified user can open documents already saved to the library using both Office Web Apps and Office 2010 client.
  3. Found that in addition to Office 2010 installed on the client PC, there is an installation of Microsoft Project 2013 as well.
  4. Binged it and found a Technet Blog post that addresses this issue.  The steps below are taken from that blog posting - referenced here in case that link ever changes.


Remove the Microsoft SharePoint Foundation Support option from the Office 2013 installation options.

  1. Start > Control Panel > Uninstall a Program > Find the Microsoft Project 2013 program in the list > Highlight it and click the Change button.
  2. Select the Add or Remove Features option, then click the Continue button.
  3. Expand Office Tools to find the Microsoft SharePoint Foundation Support option > Click the drop-down and select the Not Available option, then click the Continue button.
  4. Reboot your PC.
  5. After logging back in, return to the Uninstall a Program window, this time find the Microsoft Office Professional Plus 2010 program in the list > Highlight it and click the Change button.
  6. Select the Repair option, then click the Continue button.
  7. Reboot your PC again and you should now be able to create a new document from one of the templates in the SharePoint document library.

Resource: Technet Blogs

Feb 05
Manage NewsFeed Posts

A request came in to allow the IT Staff to manage NewsFeed postings including the ability to delete postings that were deemed inappropriate.  You would think that the SharePoint Admin/Setup account would have these permissions automatically, but you would be wrong.  Here's how to add permissions for users to manage the NewsFeed postings.

  1. Login to Central Administration as the SharePoint Admin/Setup Account
  2. Click on Manage Service Applications in the Application Management section
  3. Click to highlight the User Profile Service Application and then click the Adminstrators button in the ribbon
  4. Type your username into the box and click the Add button
  5. Make sure your user is highlighted and scroll down to click the Manage Social Data permission and click the OK button to save your changes.
    Again, your SharePoint Admin/Setup account is not even listed in here by feel free to add it using this procedure as well.
  6. Go back to your NewsFeed and your user should now have a Delete option in the Open Menu (...) for all the existing postings.

MS TechNet

Jan 30
Adding a Custom Action to the Ribbon using SharePoint Designer


Training Department wanted users to be able to register for classes listed on a Calendar in SharePoint.

Knowing that the users would need to have "edit" rights in order to add their name to the item, we needed a way to steer them away from editing fields they shouldn't change (i.e. Start Time, Location, etc.) and only give them access to add their name to the Attendees field.


​Added an additional Forms page along with a Custom Action, called "Register" to the Display Form Ribbon as well as the open menu drop-down which directed users to a Custom Form which only displays the Attendees field.

Here's How

  1. Open SharePoint Designer 2013 to the site that contains your calendar, click the Lists and Libraries link in the left Navigation menu, and click on the name of your calendar list.  In this case, our calendar is titled Schedule and Register.
  2. The first step is to create the new custom form that will show just our Attendees field in edit mode.  In the Forms section, click the New... button.
  3. Give the new custom form a name, select Edit item form and check the Create link in List Item menu and Ribbon box along with a name for the link.  Doing this will put a link to this custom form in the Open Menu drop-down for the item.  Click OK to complete this step.
  4. The new edit form called Register now appears in the list of Forms.
  5. If you wish to see a preview of this new form, go back to your calendar and open an existing event which should take you to the DispForm.aspx page.  Go to the URL and change DispForm.aspx to Register.aspx.
  6. Taking a look at how the Register.aspx form appears in our browser, we can see we still have a bit of work to do.  By default, creating a new custom edit form places all fields on the form.  For our purposes, we only want users to see and edit the Attendee field on this form.
  7. Back to SharePoint Designer, this time click on the Register.aspx link in the Forms section to bring up an easily editable, graphical representation of the form...Oh, wait, that's right...some genius decided that Design View wasn't needed anymore in SharePoint Designer 2013.  If you don't know HTML, you're up a creek without a paddle because all you're going to see here is code. 

    As a rule, I don't like deleting anything, so I'm going to comment-out all the rows above my Attendee field by adding the HTML comment tags  <!-- and --> in the code view below and then click the Save button to save my changes.
  8. Back to your browser, click f5 to refresh your page and Viola!  Now when we view the Register.aspx page, we only see the Attendees field on our custom form.
  9. Now, we need a way for our users to easily navigate to this page to register.  We already have the List Item Menu entry shown here...
  10. But most of our users will be selecting the class from a calandar view like this, where they will click the title to open and view the class details.
  11. Currently our DispForm.aspx page doesn't have a way to easily get to the new Register.aspx page.  This is where our Custom Action comes in.
  12. Back to our list in SharePoint Designer, go to the LIST SETTINGS tab, click on the Custom Action drop-down and select Display Form Ribbon.
  13. Give your Custom Action a name, then make sure to select the Register.aspx entry in the Navigate to form drop-down.  You'll also want to give your ribbon action a Button image.  I selected one from the 15 hive.  /_layouts/images/icon_survey.gif.  Click OK to finish.
  14. Now our DispForm.aspx page has a nice Register button in the top ribbon which brings our users to the custom Register.aspx page to register for the class.
Jan 22
Opening .txt Files in NotePad

​After migrating files to a new 2013 site collection, users complained that they were unable to open and thus edit .txt files in Notepad.  The files opened in browser as a webpage instead. 

Troubleshooting led me to the following.  None of which resolved the issue.  Items with an asterisk (*) are current settings.

  • *Central Administration > Manage Web Applications > General Settings > Browser File Handling = Permissive
  • Site Settings > Site Collection Features > Open Documents in Client Applications by Default > Activate
  • *Control Panel > Programs > Default Programs > Associate a file type or protocol with a specific program > .txt = Notepad

So, I tried going in backwards.

  1. Open Notepad
  2. File > Open
  3. Paste the URL to a known .txt file in the Open File Path area
  4. I was prompted for my credentials which I entered as:
  5. The URL opened to SharePoint where I selected one of the .txt files and then clicked the Open button.
  6. The File opened in Notepad.
  7. I then closed both Notepad and IE, navigated back to the SharePoint library and clicked the name of a different .txt file.  This time I was prompted for a choice in the ​Open Document pop-up to select Read Only or Edit.
  8. I selected Edit and clicked the OK button.
  9. .txt Files now open in Notepad
Jan 03
Using Calendar Overlays

The Calendar Overlay feature is a function of the Calendar List which allows users to view the data of several different calendars all in one easy-to-read, color-coded Calendar display.  

  1. Click on a calendar link on your left navigation, go to the CALENDAR tab in the ribbon and click Calendars Overlay to open the Calendar Overlay Settings.
  2. In Calendar Overlay Settings, click the New Calendar button to add a calendar to the list of additional calendars, teh
  3. Enter a Name for your calendar in the Calendar Name field, select a Color, by default, your current Web URL will appear, click the Resolve button to populate the List drop-down with available Calendars from this site, then click the OK button..
  4. Follow the above steps to add additional calendar overlays.  Note that SharePoint allows a maximum of 10 calendars per view.
  5. Based on your calendar overlay additions and visibility settings, you now have a view all of the data from the calendar overlay(s) in a single calendar view.

Adapted from:

1 - 10Next