FEDSPUG and NOVA Code Camp 2015

04/16 FEDSPUG: JavaScript Libraries for SharePoint Developers (slides)
04/18 NOVA Code Camp: JavaScript Libraries for Office 365 Developers (slides)

Whether you are developing for Office 365 or SharePoint on-premises, these days you are going to need some “go-to” JavaScript libraries to enhance your solutions. No matter what project I am on, over the past few years there are a number of fantastic JavaScript libraries I have learned to use and integrate with great success. They work with Apps, content editor web parts, .NET solutions, and anywhere else you can utilize JavaScript (Even CSS!). Some of my favorites covered in this session are jQuery, SPServices, jqPlot, and DataTables.

In this session I will show how to get up and running developing with JavaScript for SharePoint in multiple ways. Then I will demo each of my “go-to” libraries as well as a few others. I will discuss real world application of these libraries based on previous clients where I have used them. I will wrap up with a nice combined demo that works great in both Office 365 and SharePoint on-premises.

Visual Studio 2015 CodeLens Announcements!

In the last couple of weeks we have seen a plethora of awesome announcements and updates regarding Visual Studio 2015! The biggest one has to do with the new product versions. The “merging” of Premium and Ultimate into the new Enterprise level brings a ton of great features, including CodeLens, to a larger group of developers!

Visual Studio 2015 Product Offerings

Source: http://blogs.msdn.com/b/visualstudio/archive/2015/03/31/announcing-the-visual-studio-2015-product-line.aspx

That alone was a major announcement, but wait, there’s more. Due to the overwhelming response on User Voice for Visual Studio to make CodeLens available for Visual Studio Professional users, they have done that as well!

User Voice: Visual Studio – CodeLens

Source: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4150271-make-codelens-available-outside-of-ultimate

This is absolutely amazing and I could not be more excited for all developers. I have been giving a presentation about Visual Studio for ALM and development and this was the number 1 question I have ever been asked. Check out the update below.

Visual Studio 2015 IDE Code Lens

Source: https://www.visualstudio.com/products/compare-visual-studio-2015-products-vs

I encourage everyone to keep checking out the Visual Studio 2015 updates as well as vote for your favorite suggestions on User Voice for Visual Studio.

– Tim Ferro

SharePoint Fest DC Session Info

SharePoint Fest DC
http://www.sharepointfest.com/DC/agenda

Visual Studio 2013 for ALM and SharePoint
Thursday 4/9, 9:55am – Breakout 8 (slides)

Visual Studio 2013/2015 is a monumental leap forward for Microsoft development. There are so many useful enhancements and features that each could be their own session. This session will give an overview of the new features then focus on those related to Application Lifecycle Management, Mobile, Team Foundation Server 2013, .NET Framework, and SharePoint. From project planning, to deployment automation, to inline enhancements from CodeLens, this session will show developers, team lead, and project managers why Visual Studio 2013/2015 is worth upgrading to immediately!

Rarely do you find a session that attracts both developers and Project Managers, but this is it! Developers come and see all the new enhancements for Visual Studio 2013 and bring your Project Managers to show them how it will increase productivity. Project Managers come see the enhancements for project management and application lifecycle management and bring your developers to show them how to update burn down charts!

The Evolution of SharePoint Event Receivers from On-Prem to the Cloud
Friday 4/10, 11:20am – Breakout 8 (slides)

Event Receivers are a fundamental part of every version of SharePoint. They have evolved from server side only, to now include App and Remote events in the cloud. Knowing how to use them and what features are available for which version of SharePoint is crucial for all SharePoint developers.

Drawing on my extensive experience over the past seven years, this session will give every developer a solid foundation for using Event Receivers in SharePoint (both on-prem and in the cloud) built on best practices and real world usage. This session will provide an overview of Event Receivers in SharePoint with specific focus on List Item Event Receivers. You will learn from real world examples, tips, tricks, and hear about how event receivers have been utilized at different clients. I discuss the pros and cons of using Event Receivers as well as compare them to SharePoint Workflows. I will key on the differences between the versions of SharePoint related to Event Receiver functionality and discuss new Event Receivers in SharePoint 2013, including some that work in the cloud. Finally I will show a demo of how to quickly get up and running using Visual Studio and some common use examples.

Tim Ferro

Standing on the Shoulders of Giants… Microsoft MVP Award

Congratulations! We are pleased to present you with the 2015 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Visual Studio ALM technical communities during the past year.

“If I have seen further it is by standing on the shoulders of giants.” – Isaac Newton

Being honored with the Microsoft® MVP Award would not have happened without the help and support of my family, friends, and colleagues. Thank you to my wife and kids. Thank you to my family. Thank you to all my current and former colleagues. Thank you to the MVP, Visual Studio, .NET, and SharePoint communities. Thank you to my teachers in college, high school, and grade school. You all deserve part of this award.

Thank You!

Tim Ferro

SPS Philly 2015

Come see my 2 sessions at SPS Philly 2015! (Agenda)
March 7, 2015, 8:30 – 5:00
Microsoft Building, Malvern, PA

10am-11:15am (Berwyn) Visual Studio for ALM and SharePoint
2pm-3:15pm (Wynnewood) JavaScript Libraries for SharePoint Developers

Office 365 List Column Name Issue Breaks JavaScript

BLUF: I have found an issue in the Office 365 (SharePoint Online) list column name naming convention that produces unexpected results, especially in JavaScript and is incompatible with SPServices!

Update 1! During a quick Twitter chat with @sympmarc (who is amazing), he said this occurs when you create a column from the list’s main page by clicking “edit this list”, which uses Quick Edit mode, rather than creating the column from the list settings page. See below:

If you use Quick Edit mode to add columns it will just assign them a random string of characters as the Field name.

Update 2! Use this simple code to get the internal column name via SPServices. Thanks @sympmarc.

I was putting together a demo using Office 365, jQuery, jqPlot, and SPServices when I encountered an issue that actually broke my SPServices code. After some investigation I found this issue was with Office 365 and can cause any number of issues with not just SPServices but many other scripts or Apps or code. When you create a list in Office 365 and you then create a new column for that list you expect it to look like the following example:

The first time I created this demo, one of my list names wasn’t the same when I tried to access it. The column name is “Total” but showed as “fe6y”. It looked like this:

I thought this was odd but since the demo worked, I let it go and continued on. I mentioned this at the demo and no one seemed to know why. Then I needed to transfer this demo to my developer Office 365 tenant. When recreating it, I ran into this exact same issue on the exact same column and exact same list (weird). Worse though it was a name that broke my SPService’s JavaScript. So I created a second column and it worked perfectly. Check out the two columns below:

Click to enlarge

I will update after I ask around Twitter and log a bug with Office 365 support. Have you ever seen this? Do you know why it is happening?

If you use Quick Edit mode to add columns it will just assign them a random string of characters as the Field name. Always create columns from the List Settings page!

Tim Ferro

CapArea .NET SharePoint SIG & SUG DC 2015

JavaScript Libraries for SharePoint Developers

Whether you are developing for Office 365 or SharePoint on-premises, these days you are going to need some “go-to” JavaScript libraries to enhance your solutions. No matter what project I am on, over the past few years there are a number of fantastic JavaScript libraries I have learned to use and integrate with great success. They work with Apps, content editor web parts, .NET solutions, and anywhere else you can utilize JavaScript (Even CSS!). Some of my favorites covered in this session are jQuerySPServices,jqPlot, and DataTables.

In this session I will show how to get up and running developing with JavaScript for SharePoint in multiple ways. Then I will demo each of my “go-to” libraries as well as a few others. I will discuss real world application of these libraries based on previous clients where I have used them. I will wrap up with a nice combined demo that works great in both Office 365 and SharePoint on-premises.

PowerPoint Presentations below:

SPS Virginia Beach 2015

Click for PowerPoint slides

Click for PowerPoint slides

The Evolution of SharePoint Event Receivers from On-Prem to the Cloud
Saturday 1/10 @ 3:30pm in room H162
SPSVB 2015 Site
Here’s the PowerPoint presentation
Here’s the code on GitHub

Event Receivers are a fundamental part of SharePoint. Knowing how to use them and what features are available for which version of SharePoint is crucial for all SharePoint developers. Drawing on my extensive experience over the past six years, this session will give every developer a solid foundation for using Event Receivers in SharePoint 2007, 2010, and 2013 built on best practices and real world usage.

This session will provide an overview of Event Receivers in SharePoint with specific focus on List Item Event Receivers. You will learn from real world examples, tips, tricks, and hear about how event receivers have been utilized at different clients. I then discuss pros and cons of using Event Receivers as well as compare them to SharePoint Workflows. Secondly I will key on the differences between the versions of SharePoint related to Event Receiver functionality. Finally I will show a demo of how to quickly get up and running using Visual Studio and some common use examples.

Missing Web Parts & Disabling Scripting in SharePoint Online (Office 365)

BLUF: An update to SharePoint Online (Office 365) was rolled out that disabled all scripting capabilities by default. As a part of this, a number of web parts were removed from use in SharePoint Online.

Office 365 Forum Post: [SOLVED] Content Editor Webpart Removed from SharePoint Online

Office 365 Support Article: Turn scripting capabilities on and off

Around the beginning of December 2014 I set up 2 identical demos using my developer O365 tenant and my company’s O365 tenant. Then a week later I log back in and the corporate one works fine but my personal developer site is missing the option to add a Content Editor Web Part (CEWP) to any page. Furthermore the existing page I created with a CEWP on it already, no longer works (meaning the JavaScript isn’t working). I then verified the web part was in the gallery but I could not add it back anywhere. The image above shows the options for web parts in both tenants. I immediately posted to the Office 365 Forums: [SOLVED] Content Editor Webpart Removed from SharePoint Online. After some back and forth it was determined that scripting had been disabled in my O365 tenant and that I needed to re-enable it if I wanted those web parts back.

Important thing to note #1: This was rolled out and DISABLED BY DEFAULT without any notification.

The default scripting capabilities are:

  • For personal sites, custom scripting is disabled by default.
  • For self-service created sites, custom scripting is disabled by default.

This explained not only why my JavaScript wasn’t working but also where my missing web parts went!

Important thing to note #2: There are a bunch of web parts that get removed when you disable scripting, not just the 2 shown above.

Important thing to not #3: There are a bunch of features that get disabled as well.

Full article and list here: Turn scripting capabilities on and off (in Office 365).

Please comment with any other SharePoint Online roll outs that have affected you.

Tim Ferro