Join the #CodeGeneration Movement

Building on Microsoft’s recent announcement to invest $75 million in community programs to increase access to computer science education for all youth worldwide, Microsoft Canada is launching the #codegeneration movement – to inspire Canadian youth (13 -18 year olds) to learn more about coding. #codegeneration will run from now until Computer Science Education Week (December 7-13). 

Join the Movement!

Help us spread the word and teach Canadian youth to create with technology. Anyone can code, it’s simple and easy.

  • Coding Challenges: For the next five weeks, Microsoft will be issuing coding challenges at Students who complete these weekly challenges will have the chance to win points towards prizes while learning the basics of coding; and parents and teachers can find resources to help them lead students in these challenges themselves.
  • “Hour of Code” Sessions: As a founding corporate supporter of, Microsoft is offering free Preparation Webinars with live chat for questions and answers on November 24 and December 1.  Ready to hold your own Hour of Code with your students – download your toolkit today and lead them through a Minecraft tutorial.  Or schedule a field trip to a local Microsoft Retail Stores during Computer Science Education Week to give young developers the opportunity to learn coding. For more info, please visit the In-Store event section at a store near you.

Spread the word!

Microsoft Ignite Conference: Day 4 Round-Up

Last day of the MS Ignite conference for me. Let’s take it to the bridge:

Another metaphor? You betcha:

– Cloud vs on-premise
– Microsoft as Service Provider vs Shrink Wrapper
– Unified experiences vs Diversified devices
– People-driven Intranets vs Intranet-driven people
– Windows OS as a true personal & biz life and productivity platform vs Windows OS as a 900 pound gorilla

My top picks for Day 4 in the SharePoint/Office 365 realm (with a little .NET 5 in there to maintain my Dev street cred):

My last-day sessions:

JEA: A PowerShell Toolkit to Secure a Post-Snowden World

When asked what to do about corporate hacking, Ex NSA Director Michael Hayden replied, “Man up and defend yourselves.” Edward Snowden then rocked the world by disclosing privileged NSA information. JitJea stands for “Just In Time, Just Enough Admin.” It’s a Windows PowerShell toolkit that admins use to perform functions without giving them admin privileges.

MVP Panel: SharePoint On-Premises, Online and Everything in Between
Imagine five great minds coming together to talk about Microsoft SharePoint across the board, be it within Microsoft Office 365, in Microsoft Azure, on-premises and certainly hybrid. Via a panel Q&A format, these MVP experts expose how online and hybrid improvements increase both deployment scenarios and value. This session is designed to help ITIs and ITDMs find the right cloud formula to deploy based on practical business and technical considerations. This is a must-not-miss session for any IT pro!

How to Decide When to Use SharePoint and Yammer and Office 365 Groups and Outlook and Skype
Your users may struggle with these questions: Should I share a message via Skype for Business instead of Yammer, Office 365 Groups, or Exchange? Should I collaborate on data using an Excel sheet or a SharePoint list? Should I share a file in Outlook, in a meeting, from OneDrive for Business, on Yammer, in a Group, or in a SharePoint site? This session is the ‘How To’ user’s guide What happens when your users can’t decide what technology or feature to use? They use what they know, or what’s easy; even if better options exist. In this session, Richard and Kanwal help you maximize the value of your Office 365 investment by providing the guidance you need to help your users make better, more effective decisions on how they get work done.

Experts Unplugged: Office 365 Security

OneNote for OneLife: From Notes to Productivity and Platform
OneNote is awesome. Really. Knowledge, learning and info on the bleeding edge benefits from structure – but not too much structure. We all need a place to inscribe understanding, without having to go overboard on the word-processing end of things.  I’m always thrilled to hang out with the OneNote crew as I sometimes wonder if they know they have the future of Education and Wikis in their hands.

Microsoft OneNote gives you one place for your notes and other content with you, anywhere now that OneNote is across all platforms and devices. Write by hand, type, record, snap a picture, clip from the web, or use a growing number of other partner apps and devices and OneNote saves it. Organized or not, you can easily find your notes in any form (text, writing, picture, or audio) with OneNote search. This session demonstrates end-user productivity scenarios at work to give you a clear understanding of how OneNote can help drive adoption of Office 365 with cross-platform, real-time collaboration, and extensibility with OneNote API. You’ll walk away wanting to use, evangelize, and build on OneNote personally or for your organization.

Workaround for Office 365 SharePoint Site Mailbox App mailbox name rewrite issue

Site Mailbox is an App available in SharePoint Online  that helps by providing a central place to file email and documents that can only be accessed and edited by those with the appropriate site permissions.

When creating a Site Mailbox in SharePoint Online, a client and I ran into a funny anomaly. We know that there is a limitation in that once you’ve created a site mailbox, you can’t change its email address. Since the email address for a site mailbox is the display name of the site, when you name the site, you normally choose a name that will also work well as the email address. That’s all fine.

The expectation we had in my client’s scenario was to use with the 3 digit project number + Project Title.  An example of the desired address we wanted would be:

..the bolded text being the SharePoint Site Title “193 My Project Name” with its spaces removed by the system.

The important part for the client was the project number. Problem is, if one makes a site title with just a number, or leading with a number, Office 365 inexplicitly strips it out, and replaces it with seemingly random characters:

SharePoint Site Title Used: “193” Generated Site Mailbox Address as created by SharePoint Online:

As explained, if we just go with their current Site Title, the leading digits (and space + dash + space) get removed- no good. There is no way to change the Site Mailbox address after creation (ref: It’s not an option in either the GUI or via PowerShell.

My Workaround

In my scenario, the Client already had an internal established notation to prefix projects with the letter “p”. Therefore it would acceptable to prefix the project number with a letter.

1. For each existing or new SharePoint site you intend to add a new Site Mailbox App, temporarily alter the site name (Site Settings > Title & Description) to begin with a single letter. In this case, we altered all their existing Project sites in the format (note the “p” prefixed on the site title):

Site Title: “p193 My Project Name

2. Deploy the Site Mailbox App. The email address generated will come out as in the style

3. Once Site Mailbox App is fully deployed, change the Title of the site in Site Settings back to “197 My Project Name” (without the “p”), therefore avoiding inconsistencies elsewhere including in document tags, metadata & last but not least, leaving people wondering why there’s a wacky letter at the start of your site title. J 4. That’s it, you’ve somewhat hacked your way around this strange little behaviour of how email addresses are generated when creating a Site Mailbox. Conclusion As for why the SharePoint Online system really does not seem to like email addresses that start with numbers, I have no info at this time. Certainly an address of would meet general email RFC specs. Why the address comes out as SMO + alphabet soup + is a mystery and seemingly undocumented. I suspect it would be part of a secret sauce that only a select few MS Engineers may know – or it’s a simple pattern that’s obvious from the output email addresses. If anyone knows the reasoning behind the email address rewriting in play with site mailboxe, please do share in the comments!


Why SharePoint 2013? Some great reasons to upgrade from SharePoint 2010

We (Sean, Colin & I) we’re recently asked to offer some good reasons for one to consider upgrading from SharePoint 2010 to SharePoint 2013. Here’s some of the goodness:

Office Apps Submission Process

Here is an up-to-date overview of the Microsoft Office Apps Submission process:

App Submission

Pre-requisites (all covered at:

The Support Tab at contains links to key content to stay up on: Help with developing apps for Office – Forum

Help with developing apps for SharePoint – Forum

Help with publishing apps for the Office Store – Forum – great channel for app submissions

Microsoft Help – support channel

Apps for Office and SharePoint blog – hot off the press info

1.   Create an App – see
2.   Setup a Seller Account – covered on at: Publish apps for Office and SharePoint a.    Create a Seller Account

A few key thing to call out about the process:

i.   When choosing to setup your account as Company or Individual, keep in mind Seller Dashboard does not support changing this after the account is setup. If you have a company, company tax/payout account you should setup as a Company. If you’re truly an individual with personal tax/payout info, setup as an individual.

ii.   If you setup as a Company you will submit a company reference. It’s a good practice to follow up with the reference you submit to let them know to expect an email from Microsoft or Symantec asking them to follow a link to verify that you are associated with the company. This is the step that most often holds up account setup, if the company reference does not see or respond to the email (sometimes due to it arriving in a junk folder)

iii.   To submit Paid apps, your account must have valid tax and payout info on file

iv.   Add apps as drafts even while account is pending approval

You can add apps, metadata, etc to prepare your app submission, including localized metadata for additional languages. As soon as your account is approved, you will be able to submit your app

b.    Verify your paid Office 365 subscription so you can publish apps to the Office Store Requires a valid paid Office 365 subscription. Many get this as a benefit from their paid MSDN subscription. Currently, the MSDN subscription that comes with BizSpark does not qualify as a valid paid subscription

If they do not have access to a valid paid subscription (they can buy the O365 Dev Subscription for $99/year to satisfy this requirement to link Paid 365 subscription to Seller Account)

3.   Add Apps to Seller Account – covered on at: How To: Add apps in the Microsoft

Seller Dashboard

Includes key info on:

a.    How To: Create an effective Office Store listing for your app for Office and SharePoint

b.   On Jun 4 – info on adding additional languages will be updated in the adding apps topic.   Validation Policies – It’s a good idea to call out the best practice for developers to be familiar with these policies and FAQ in conjunction with App Development, to understand requirements before submitting and  avoid common errors when submitting

c.    Validation Checklist

4.   What to expect upon app submission

a.    Upon submitting the app, the Provider (developer) is not able to make changes to the submission in Seller Dashboard. They must wait until validation completes

b.   Validation timing is dependent on the amount of apps in the queue, complexity of app, and in some occasions internal Microsoft delays. That said, the majority of the apps are receiving validation completion in ~3 business days.

c.     Upon Validation’s conclusion, email is sent to the developer alerting the Provider of the outcome – following one of these paths:

i.   APPROVED – approved apps enter the publishing process and typically become available in the store within 24 hours of approval

ii.   APP REQUIRES CHANGES – (currently communicated as REJECTED). Call to action is for the developer to log into their Seller Account and review their app report. App reports call out which policies the app failed and often include additional notes from the validation tester on what to fix. It may also include some notes calling out other observations from the validation tester. These are not clear violations of policy, but additional things to consider while updating the app. Once Provider updates the app – they resubmit it to validation again.

5.   App Lifecycle Notes

  • The apps that are most successful in the store are apps that solve a customer need, are easiest to use, and in the case of paid apps, are priced to match the perceived value. Iterations to your app functionality on the web service side (where applicable) and via the submission metadata can help to fine tune your app.

Seller Dashboard provide metrics about your app’s performance in the Store

  • We attempt to keep our validation policy updates on a ~quarterly release cycle. All submission (including resubmissions) are validated against the most current policies
  • Ensuring your app (if trial or paid) is using the licensing model correctly is a way for Providers to provide a custom experience for expired trials that matches the provider’s business objectives. See  Licensing your apps for SharePoint & Creating and verifying licensing in a paid app for Office

Visual Studio 2012 or 2010 for SharePoint 2010 Development?

A recurring question that has come up is regarding which version & flavour of Visual Studio can and should be used for SharePoint- we are at a point where SP 2013 is coming on strong but many, many clients are going to be locked into SP 2010 for a while yet. Obviously an investment in software like Visual Studio should be made with the best balance of future-proofing and low cost possible. This post seeks to offer some advice on that.

The quick answer is:
-you can develop for SP 2010 using VS 2012, there project templates etc. that are geared for both version in VS 2012.
-you can develop for SP 2013 using VS 2010, however there’s going to be loose ends. Upgrading your existing VS 2010 solutions to VS 2012 is however not that hard.

The next question you will likely have is, which flavour of Visual Studio to get – Ultimate with MSDN, Premium with MSDN, Test Professional, Professional with MSDN, or Professional.

Version compare here: I would see Visual Studio Professional 2012 being a good fit for most common scenarios, but whether you use Pro or move up to Premium would depend on if you need the following Premium features:

–          PowerPoint Storyboarding
–          Team Foundation Service

In general, the big upsell when going up the feature matrix ladder is when you are working on hardcore software development in big teams, using Agile development processes, complex unit testing etc.

The hard requirement of having Visual Studio installed on a non-production SharePoint server install is pretty much standard, until you go to a SharePoint 2013 development model which is based on more open standards and Apps. Depending on your licensing provisions available (e.g. you’re in Government or Education), you may have SharePoint CAL’s covered to create such an environment – or, and for a variety of other reasons, you might want to consider an MSDN subscription. An MSDN subscription also would enable the aforementioned Team Foundation Service hosted source code option.

A fleshed-out dev environment is a must, custom code should never see the light of day on a production server until tested, there is always potential for irreparable damage to production systems when it comes to custom dev. Here are four great options for setting up a SharePoint development environment in the cloud.

SharePoint dev is sometimes maddeningly complex as the already complex front-end side of SP is just the tip of iceberg. The plumbing underneath is massive. Although there is quite a bit of flexibility with how you approach it, you definitely need to get your shop tooled up in a specific pattern, and Visual Studio is just one component. Evaluating whether or not it even makes practical sense to do such work in-house or to contract out is a big jigsaw puzzle too.  Fortunately there is a good degree

Live Webcast | Reimagine SharePoint Development: A better way to customize SharePoint


Event ID: 1032553224
Language: English
Product: Microsoft Office 365 and Microsoft SharePoint Server 2013
Audience: Developer Generalist and IT Decision Maker

Join Senior Product Marketing Manager, Keenan Newton, and special guest Partner Director of Apps Program Management, Robert Lefferts, as we kick off our new site centered around migrating SharePoint solutions to apps. We will discuss the history of SharePoint customizations and where the SharePoint development platform is going. We will also highlight the benefits of the cloud app model and answer any questions that you may have.

The webcast will be broadcasted on Channel 9.

This will be the first live webcast in a series of webcasts focused on migrating SharePoint solutions to apps. These webcasts along with this site will help SharePoint developers take meaningful steps in planning for the app model.

Register for Event

Starts: Monday, May 20, 2013 9:00 AM Time zone: (GMT-08:00) Pacific Time (US & Canada) Duration: 1 hour

Sample Browser App for Windows

I love me some All-in-one-Code Framework. Concise, useful, organized examples of code from Microsoft’ers that help you paddle fast enough to keep up with ye olde wave of acronyms. They  are responsive and community-oriented; if you request an example and there is a need for it, they will probably publish it for you.  I have posted previously about the effort here , which was focused on the Codeplex project and desktop application.

They now have a Windows App for exploring the latest updates:




itgroove’s First SharePoint 2013 App – Home and Back Button

Our first SharePoint 2013 App is now for sale in the Microsoft Office store at The SharePoint search center get’s a lot of end user eyeball time, you may be surprised how much of a difference in user experience can be had by adding this little App. Go ahead and give the trial version a whiz, and help get your users stay oriented in your site navigation.

The Home & Back Buttons App fills in the gap in navigation that is present in areas of SharePoint, in particular on the Search Center pages. The lack of navigation options on the standard SharePoint pages means that users are sometimes confused about how to return to the homepage of the portal, or how to return to the previous page they were on.

This App is a Client Web Part which can be added to any SharePoint page with a Web Part Zone. When you add it, two image buttons appear on the page. You can configure the following styling and functionality options of the buttons via the Web Part Properties:

– Home & Back Button Image URL’s
Leave as they are to use default home & back button icon images, or specify a relative or full URL path to your own custom images

– Home & Back Button Text
Specify the text to be displayed inside the buttons, can optionally be blank to just have image-based buttons

– Show/Hide Button Images
Turn the display of the images in the buttons on or off

– Button Style
Apply one of 11 color schemes to the buttons:
Blue (default)
Blue Stripe
Red Stripe
Purple Stripe
Green Stripe
White Stripe

– Home Button URL
By default, the home button automatically points to the homepage of your current SharePoint site. You can optionally override this and make the Home button point to any URL of your choice.

Inside Apps for Office and SharePoint – Jumpstart 2012

We recently attended the excellent Jumpstart for Apps for SharePoint & Office at Microsoft in Bellevue. The event was designed to (and accomplished it’s goals) to be a bit of a boot camp for the huge push towards the App model Microsoft has adopted. Here’s the presentations with my take on things.

Jumpstart Introduction

An overview of the two day event agenda and primer on the Apps model. Some key take aways:
– Biggest shift in strategy since Office ’97 intro of VBA
– Goal is to overcome trust issues with stability of apps
– Embedability is key goal e.g. LinkedIn widget embedded in an Outlook App Pane

0-60 on Apps for Office Dev

– Apps for Office Tech Intro
– Doc Centric apps (Word, Excel, PowerPoint, Project)
– Outlook / Outlook Web Access Apps
– App defined as an Iframe inside Office
– Deployment Locations : Marketplace | SharePoint | Network Share

Setup Environment
○ Office 365 dev tenant (napa)
○ VS with Office Tools

Code App
○ Office.js for clientside UI

○ Register
○ Host
○ Marketplace

○ No ActiveX or Silverlight (?!)
○ Same origin policy

App Types
○ Content
○ Task Pane
○ Mailbox

Task Pane Apps
– Appear in Outlook/OWA Only
– Contextual
– Use Mailbox APIs
– Manifest installed to Exchange
– Outlook processes rules
– Activation Rule Types
– Regexps can be used to parse mails e.g. UPS tracking #
– Max of 10 rules per manifest

Exchange Entities
– Exchange detects specific entities

Persisting Data
– Per-App Property Bag | Per-App & Per-Item Property Bag
– 32KB limit

Building Apps for SharePoint

Duration User Limit
Free Perpetual Unlimited
Trial 30d, 60d, 120d, unlimited N per user / unlimited
Paid Perpetual N per user / unlimited
Subscription Monthly or Yearly N per user / unlimited

This is an embedded Microsoft Office presentation, powered by Office Web Apps.

Apps for Office UX

This is an embedded Microsoft Office presentation, powered by Office Web Apps.

SharePoint APIs and App Security

2010 Model > _vti_bin/client.svc focus

Web http://weburl/_api/web
Search http://weburl/_api/Search
Taxonomy http://weburl/_api/Taxonomy
BCS http://weburl/_api/BCS

SharePoint Connect = Booyah

Auth chain = 4 outcomes:
• Use Anonymous Context
• Set App Only Context
• Set App and User Context
• Set User Context

Authorization Logical Model
Apps have identity separate from Users
e.g. Printing app is distinct from user using the Printing app

Access is based on grants
Grants are available to AccessCheck
Grants have scopes & rights
E.g. Printing App has READ right on Picture Library”

AccessCheck makes a description using
Identities (User, Application)
Resource Attributes (ACLs)

> User Only
> App & User
> App Only

This is an embedded Microsoft Office presentation, powered by Office Web Apps.

Patterns in Apps for Office

– Class of apps focus
– Standards
– Lifecycle
– Web dev’s should be able to dev for Office

“Agave” “app for office”

– Office
– SharePoint

– CSS3
– JS
– oAuth
– oData

UI Shapes
– Embedded Content
– Task Pane
– Contextual Pane

Pattern Examples
1. Master/Detail Lookup – Provide reference info from trusted authoritative sources
2. Language Assistance – Assist with use of languages during authoring or consumption experiences
3. Contextual Content & Services – Automatically provide relevant info
4. Visualization – Provide rich visual way to analyze manipulate & interact with data in Office docs
5. Data Import & Enhancement – Getting data & data massage
6. Reference & Research – Provide reference info from trusted authoritative sources
7. Authoring & Publishing – Provide document authoring assistance and/or enable Office content to be easily published to a service
8. Service-powered Content Transformation – Use Office or a service to transform content & publish enhanced version of the original
9. Real Time & Social Data – Access and import real-time data. Search analyze and import social data into Office.
10. Forms & Templates – Form integration and assistance in filling in structured data

Patterns in Apps for SharePoint

As the app developer, you have to know the architecture of your app. After you determine how your app will be distributed in remote and SharePoint platforms, you can decide among the available alternatives for building your app UX. You might ask yourself the following questions:

What can I use if I am creating a cloud-hosted app?
What can I use if I am creating a SharePoint-hosted app? For more information, see Hosting options for apps for SharePoint.
How can I connect my UX to the host web? For more information, see Host webs, app webs, and SharePoint components in SharePoint 2013.

slideshow missing. 🙁 Check this link for similar content

Windows Azure and Apps for Office and SharePoint

– 99.95% monthly SLA if you have two instances of an Azure Service
– Pay as you go
– Azure is IIS on steroids. Partitioned IIS instances.
– You get 10 websites, each site can be scaled up 3 instances

Publish to TFS:

• New Identity service = Azure AD

This is an embedded Microsoft Office presentation, powered by Office Web Apps.