Use SharePoint Callouts to Create an In-page Tour

SharePoint 2013’s Callouts are used frequently throughout its UI to display contextual information. They also happen to be a great tool for creating in-page tours to guide users through learning about key features on a page. The first time I encountered one of these “tours” was after a Facebook redesign several years ago. Of course, […]

Bookmarklet to Remove Zero-width Spaces (​) from SharePoint Pages

When editing pages in SharePoint, the rich text editor inserts zero-width spaces to assist with text selection. Unfortunately it does not always remove these when a page is saved. These characters appear as ​ in Chrome’s dev tools, for example. These “leftovers” can cause spacing issues for content authors, so we created a bookmarklet to […]

“Cannot Read Property ‘STS’ of Undefined” When Using SP.UI.ModalDialog in SharePoint 2013

I’m using SharePoint’s built-in modal dialog for a single page application I’ve been developing. When I refresh the page to test changes I’ll randomly get an error saying that “Cannot read property ‘STS’ of undefined.” I’m using the Script-on-demand functions that should make things work: SP.SOD.executeFunc(‘sp.ui.dialog.js’, ‘SP.UI.ModalDialog’, myFunction); Looking at the stack trace, I can […]

Retooling for a Mobile-first Apollo Education Group 2013 CSR Report

Screenshot of csrreport.apollo.edu home page.

My employer, Apollo Education Group, published our 2013 Corporate Social Responsibility Annual Report in February of this year. The project, like our 2012 report, was a fantastic team effort and fun project for me personally. From a web development perspective, my team added a lot of tools and techniques to our repertoire during this project, […]

Book Release: Black Magic Solutions for White Hat SharePoint

Book cover for Black Magic Solutions for White Hat SharePoint

I contributed a chapter to the book Black Magic Solutions for White Hat SharePoint which is now available on Amazon. The book was organized by Mark Miller and includes chapters from several SharePoint community members. Mark’s goal was to break away from the traditional publishing model and self-publish an ebook in just a few months. You […]

Introducing SPTools: A GUI for Performing Batch Tasks on SharePoint Lists

About a year ago I started writing JavaScript functions to perform batch tasks on SharePoint lists using SPServices. I did this because SharePoint didn’t offer the functionality I needed out of the box, and I’m limited to SharePoint Designer for all development at my workplace. After writing several of these functions for one-off projects (mostly site maintenance and cleanup tasks dealing with hundreds of items at a time), I realized that there might be a benefit to creating an easy-to-use toolset for the most common tasks I was performing. (more…)

Create a Crossword Puzzle in SharePoint with jQuery and SPServices

As part of a website redesign communication campaign, I was tasked with developing a web-based crossword puzzle for our intranet site (MOSS 2007). After some brainstorming I came up with a solution that seems to be effective and relatively easy to set up using a custom list to store the answers, some jQuery to enhance the interactivity of the crossword, and SPServices to submit the answers to the list. Check out a demo page of the crossword (it won’t actually submit because it’s just a standalone HTML page and it isn’t on a SharePoint server). (more…)

A CSS Naked Day WordPress Plugin

CSS Naked Day is tomorrow, April 9th. Being an advocate of web standards, I think this is a very cool (albeit not well-known) event. You can read more about it at http://naked.threepixeldrift.com/. I wanted to participate this year, but the only WordPress plugin for CSS Naked Day I could find was several years out-of-date (and therefore […]

SimpleMaxChars Plugin for jQuery

My SimpleMaxChars jQuery plugin adds a message displaying the number of characters remaining in an <input> or <textarea>. I needed a fairly basic solution quickly and most of the existing plugins that offer similar functionality were too big, too small, buggy, or didn’t meet my specific needs. If this looks like it will work for you, feel free to use it! (more…)

Deleting Documents with SPServices

A while back I was writing a function using SPServices that would delete a document from a SharePoint library when a user clicked a button. I set up the SPServices function the same way I’d done for other lists, but it wasn’t working. Turns out for documents (as opposed to list items) you must include the FileRef field when selecting what to delete. It took me a while to figure this out because the ID is the only field needed to delete list items.

Here’s an example function that will delete a file from a SharePoint library using jQuery 1.7.1 and SPServices 0.7.1a. You’ll need to call the function by passing in the ID, the FileRef, and the name of the library. Notice the batchCmd variable includes both the ID and FileRef fields:

(more…)