Quick Tip:Toggle SharePoint 2013/O365 SharePoint Sites Full Screen Mode with JavaScript

This is just a quick little snippet you can add to a SharePoint 2013/O365 SharePoint Site to automatically turn on Full Screen Mode when you load a page within the site and how to turn it back off when you exit that page.

Continue reading “Quick Tip:Toggle SharePoint 2013/O365 SharePoint Sites Full Screen Mode with JavaScript”


Handlebars + JSLink

First, I want to apologize for such a long silence. Project work and life in general has kept me very busy over the last year, so it has been difficult to find a time to write new content.

This article describes a specific scenario I experienced as part of my standard project work. It hasn’t been extended or tested for other scenarios (yet!). Handle with care.

Since the release of SharePoint 2013, I have been doing a lot of customizations utilizing JSLink on lists and list views. One of the things that I really do not like about JSLink is all of the string concatenation that tends to happen when building the output for your JSLink customization. It is not a huge challenge when you are working with a small template or limited output, but when you start working with complex HTML strings, it can be a bit unwieldy.
Continue reading “Handlebars + JSLink”

JS Link: Avoid Polluting the Global Namespace

Over the past few months I have been doing a lot of research around JavaScript frameworks and techniques as I am learning how to create SharePoint 2013/O365 Apps for clients. A recent project had a need to override the default view of a few columns. JS Link proved to be the easiest way to accomplish the changes, but every example that I found had all of the JavaScript functions placed squarely in the global namespace. One of the things that I find seems to be common among all of the books and articles I have read over the past three months clearly states that we should do our due diligence to keep the global namespace in JavaScript as clean as possible.

Continue reading “JS Link: Avoid Polluting the Global Namespace”

Set Limits on XSLT Recursive Functions

Recently, I had worked to help a client create an intranet portal and suddenly the portal started taking between 8 and 10 seconds to display the home page. All other pages in the solution were snappy and displayed very quickly. Returning to the development environment, the problem could not be reproduced and all pages continued to be displayed quickly. At first, it appeared the farm’s SQL server might be the issue so the developer dashboard was turned on to see where the bottleneck was occurring. After turning on the developer dashboard, it became very clear where the problem existed — a Content Query Web Part was taking on average about 8 seconds to render content.
Continue reading “Set Limits on XSLT Recursive Functions”

Add To Favorites in SharePoint

In a recent project, a co-worker described a scenario where users navigate to a site and review a handful of up to 30 or 40 reports/documents stored in the site. Each user visits the site on a periodic basis to review these various reports. My co-worker proposed allowing users to place links to the reports they need to review each period in a links library and then filter the default view to show links created by the current user. The client wanted to make it as easy as possible to add the report by including it as an option on the edit control block. In most cases, this would call for a farm solution that deploys a new ECB custom action. However, farm solutions are off limits — and this is a SharePoint 2007 environment so SPD custom actions are not available either.

Continue reading “Add To Favorites in SharePoint”