Room numbers, titles, and PowerPoints of my 3 sessions.
1:30-2:30 (Room 5182) The Evolution of SharePoint Event Receivers from On-Prem to the Cloud
2:40-3:40 (Room 7023) Visual Studio 2013 for ALM and .NET Development
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.
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 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!
PowerPoint Presentations below:
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.
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
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.
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.
*Updated on December 10, 2014 with info directly from Microsoft!
“Right now we are working with a bunch of SharePoint MVP’s who are providing all of the common branding scenarios they have. The intention is that we will provided supported hooks to achieve these. And not just across SharePoint but suite wide. We have a list of 30 the engineering team are researching right now based on code they’ve been provided by MVP’s. [...] There are no promises right now on when engineering will have the hooks. But it’s a step in the right direction.” – Jeremy Thake
There’s been some interesting chatter going on lately about what the options are for branding Office 365. Recently Microsoft has updated their guidance against using custom master pages, custom site templates or sandboxed solutions! (Newly updated guidance as of December 9, 2014 here.) It
seems as if is confirmed that something new will be coming in the future but for now we are stuck in limbo. Companies aren’t going to sit around and wait for the next option to be revealed, they are in need of solutions and guidance immediately. I have done a good amount of research over the past couple weeks and I have found the following options to be available right now:
- Don’t custom brand – This is not what you want to hear but for now it is the best option. Wait for future enhancements or use all out of the box options (master pages, themes, etc.).
- Use the theming engine – “Designers can use the theming engine to create custom themes, which are called composed looks in SharePoint 2013 and SharePoint Online. At a minimum, themes define colors. A complete theme defines colors, fonts, a background image, and the associated master page, and a .preview file that defines how the .master page is previewed. Developers can write remote provisioning code to apply themes using the remote provisioning pattern.” – Source
- Brand like you always have before – Design manager, custom master pages, Apps for deployment, etc. HERE’S THE PROBLEM: Microsoft is continually rolling out updates, including to the 2 default master pages. This means if you change them or roll out your own, you will need to compare yours to theirs on a frequent (weekly?) basis. Then you will need to update your master page with changes made to the default ones so that your users can take advantage of all the new features.
What do you think? Are there other options or variants I am missing? Please let me know so I can update immediately.
JSOM to the rescue! After a bit of searching around the Internet, I found a couple of great references: here and here. They were so close but I needed to do a little tweaking to get it just right. I just wanted ONE single file that does everything for me. When a simple, single file solution didn’t exist, I created one (mostly from the previous references) and posted it to my GitHub account here! *Note I could not find a way to get CSS with HTC references working (example here). Please let me know if you can and how.
Step 3: Create a new page. Call it anything you wish, as you will delete this after one use. I called mine “RegisterScript”.
Step 6: Uncomment the lines you commented out earlier and in a different tab reupload to the Site Assets library.
Step 7: Refresh the RegisterScript page again. You should see a success pop up!
Step 8: DO NOT REFRESH THE PAGE. Click ok. Close that tab. Do not save anything. From the other tab you have open, click the link for Site Contents. Navigate to the document library where your new page is and DELETE IT. If it is successful, you only need to run this one time.
I hope this is easy, simple, and helps. Please leave comments or feedback so that it can help others.
#2 SPServices - This jQuery plugin is a must have for SharePoint developers. It works for SharePoint 2007, 2010, 2013, and Office 365. Data access is so much easier with this plugin! And now there is a Visual Studio Intellisense file for SPServices!
SPServices is a jQuery library which abstracts SharePoint’s Web Services and makes them easier to use. It also includes functions which use the various Web Service operations to provide more useful (and cool) capabilities. It works entirely client side and requires no server install.
#3 jqPlot – Whether you need to replace the missing Chart Web Part or you want an easy to use charting jQuery plugin, this is the library for you.
#4 DataTables – And finally, this jQuery plugin (notice a trend?) is awesome for showing data in a table with tons of great features. Really enhances the functionality of the .NET tables or stands alone as a beautiful addition.
Visual Studio 2013 for ALM and .NET Development
Saturday 10/11 @ 2:25pm
Visual Studio 2013 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, and .Net Development. From project planning, to mobile testing, to inline enhancements via CodeLens and Peek, this session will show developers and team leads why Visual Studio 2013 is worth upgrading to immediately!