Category Archives: SharePoint

SharePoint Conference NA – The photos and my takeaways

SharePoint returning to Vegas, would it work like the days of old? There is certainly something special about the SharePoint community and this conference had that tight knit community feel to it.

Vegas amazes me at the amount of people it seems to just be able to soak up without really skipping a beat, making it the perfect place for hosting a conference. There’s no transport required to venues and endless dining and entertainment options.

We had a really busy time on the OnePlace Solutions booth, a big thank you to everyone who stopped by to see what our latest products are capable of and keeping us busy. We had more quality conversations than we were expecting, and it’s great to hear peoples passion for SharePoint and Office 365 coming through in those conversations.

While there was a lot being announced at the conference, I was happiest to see metadata in SharePoint finally getting some love. I had thought that SharePoint had lost it’s way a little on the metadata front in recent years. Especially in the shift to modern UI for document libraries and lists. I believe it is the metadata that made SharePoint so valuable for building solutions on top of. So I was super excited to see the modern document library webpart receive a big overhaul in it’s support of metadata.

Lists also got a refresh and I think the ability to generate a list (and columns of the right type) by directly importing a spreadsheet is genius. I think is a fairly common work pattern for users to start playing with tabular data in Excel and at some point it becomes valuable to share – providing such a simple way of moving from Excel to SharePoint should drive adoption of SharePoint lists as the central shared location for this data and then provide a wealth options on what can be done with that data once it’s in SharePoint.

I was technically impressed (and surprised) by the augmented reality of SharePoint Spaces and the work that had been done to bring this to the masses. I think it appeals more to the content management space than the document management, file management, collaboration and business workflow process areas I typically work in.

Below is a quick video of my reaction after the keynote.

 

 

Advertisements

SharePoint Conference North America – The Sessions that Interest Me

cameron-dwyer-sharepoint-conference-north-america-mvp-march-2018I’ll be attending the SharePoint Conference North America conference, being held in Las Vegas next week. OnePlace Solutions are a proud sponsor and if you are attending I’ll be spending most of my time at the OnePlace Solutions booth in the expo hall so please come and say hi. I was looking through the sessions today and a few caught my eye. I’ve definitely got a leaning towards developer sessions and these are the ones I’ll be trying to get to.

cameron-dwyer-sharepoint-conference-north-america

6 Tips to Perfecting Your SharePoint Game With Structured Content Management

By Mike Miller

https://sharepointna.com/#!/session/6%20Tips%20to%20Perfecting%20Your%20SharePoint%20Game%20With%20Structured%20Content%20Management

Why I’m interested in what Mike has to say:

While self organising and friction free organising of people into groups to work on cross divisional projects has become the hot trend of the last few years I believe the mainstay of core business solutions built on SharePoint benefit from a properly planned and designed information architecture. Take a company that is centred around running projects, if each project was to self organise and manage the SharePoint content differently it makes reporting and visibility across projects very difficult. If this function is core to your business those projects soon add up and before long you have 100’s or even 1000’s of projects that are all structured and run a little bit differently meaning not only is it hard to get visibility and reporting across projects but also for users who have to know the differences between projects and can’t just switch between projects and work with them in the same way. I see this leading to user adoption issues, frustration and decline in productivity.

 

Angular Elements

By Rob Wormald

https://sharepointna.com/#!/session/Angular%20Elements

Why I’m interested in what Rob has to say:

I develop commercial applications (Office Add-ins) using Angular so I have particular interest in the introduction of Angular Elements. My understanding of Angular Elements is that you will be able to develop a component of functionality (UI + Code) that can be packaged up and reused in any JavaScript project regardless of the framework you are using (or no framework at all). This has great promise since you get the benefit of developing using a strong JavaScript framework like angular, but that component is then portable for any JavaScript developer to use without having a dependency on angular. Pretty cool but I’ll have my ears open to how far off this technology is from being supported in mainstream browsers and if there are shims or polyfills that can make it a reality in the short term.

 

Customizing end-to-end modern experiences in SharePoint Online

By Vesa Juvonen

https://sharepointna.com/#!/session/Customizing%20end-to-end%20modern%20experiences%20in%20SharePoint%20Online

Why I’m interested in Vesa’s talk:

Vesa and the PnP community he leads really is the spearhead of the latest SharePoint developer news. Vesa is also a great speaker who tells the honest story and relates well to the developer and the real world scenarios that they are often trying to solve.

 

Develop and deploy Outlook Actionable Messages for optimal user productivity

Julie Turner

Why I’m interested in Julie’s session:

Actionable messages are a great new extension point to Outlook that can really bring user productivity benefit. With the announcement of support for the Adaptive Cards standard at Build recently this could be a great session to get across the opportunities this brings to the developer.

 

Extending Microsoft Teams

Scot Hillier

https://sharepointna.com/#!/session/Extending%20Microsoft%20Teams

Why I’m interested in Scot’s session:

It’s almost impossible to keep up with the rate of change with Microsoft Teams at the moment. There were lots of announcements at Build including the SharePoint Framework webparts able to be surfaced in a tab in Teams. This session should have plenty of new material and Scot has been a leader in the SharePoint community for a long time.

 

Mastering Azure Functions

Bob German

https://sharepointna.com/#!/session/Mastering%20Azure%20Functions

Why I’m interested in Bob’s talk:

I find myself using Azure Functions more and more for automation and non critical tasks. I’m thinking it might be time to hear from an expert about where Azure Functions are up to and whether using them for prime time commercial product and services is a reality.

 

Microsoft Cloud Show

Andrew Connell & Chris Johnson

Why I’m interested:

I’m a regular listener of the Microsoft Cloud Show podcast – it’s my go to place for the latest news in the SharePoint and Office 365 world. These guys don’t take it too seriously and have a good laugh along the way. Both have a long history with SharePoint and and share their opinions and thoughts openly rather than just regurgitating the news as it’s published.

 

 

SharePoint Server 2019: A First Look

Bill Baer & Hani Loza

https://sharepointna.com/#!/session/SharePoint%20Server%202019:%20A%20First%20Look

Why I’m interested in this session:

While Office 365 and SharePoint online make sense for a lot of businesses, so does SharePoint on-premises and in a hybrid setup. I’m not expecting any huge surprises like wow here’s some new features that we haven’t seen in SharePoint online. What I’m interested in what’s missing when comparing SharePoint Server 2019 to SharePoint Online and what hybrid scenarios/ services/ connectors are being supported to stretch SharePoint 2019 into the cloud.

 

Zero to Hero with Microsoft Graph – real-world lessons from 1B+ api calls

Chris Johnson

https://sharepointna.com/#!/session/Zero%20to%20Hero%20with%20Microsoft%20Graph%20-%20real-world%20lessons%20from%201B+%20api%20calls

Why I’m interested in this session:

Chris has been on the cutting edge of a lot of the new developer extensibility points and APIs in the work he does at Hyperfish.  It is one thing listening to a Microsoft employee discuss a new developer toolset, or API, it’s another to listen to someone who is using the things commercially and needs to provide a rock solid offering on top of it. It’s a similar path to what we have been through at OnePlace Solutions and I’m interested to hear of his experiences and the learning he has taken away from it.

Microsoft Graph API, Throttling & SharePoint Lists/Libraries – HTTP 429 Error Code

When developing against the Microsoft Graph you may find yourself experiencing  HTTP 429 Error Codes now that resource throttling is being implemented in different areas of the Graph.

I came up against a strange and somewhat misleading one this week which is worth being aware of if you are using the Graph to access SharePoint lists and libraries using the /sites/ area of the Graph.

I had a service running which started reporting HTTP 429 error codes. I read through all the latest published documentation to try a figure out how the throttling has been implemented and what the limitations are to see what part of the code could be triggering the throttling. As you’ll find the documentation is very non-committal and mostly serves to justify why there are no specific limits and rather algorithms that dynamically determine the throttling based on a large number of dynamic criteria. All of this sounds really fancy and advanced but is not very helpful when trying to identify what could be causing the throttling issue, or what limit your code is hitting.

Here’s the Microsoft documentation links which are well worth the read:

Microsoft Graph throttling guidance

Updated guidance around SharePoint web service identification and throttling

Avoid getting throttled or blocked in SharePoint Online

(Azure) Throttling pattern

Most of the above advice is summarised in this section I took from one of those official documents on handling throttling with the Graph API (Feb 2018)

Best practices to handle throttling

The following are best practices for handling throttling:

  • Reduce the number of operations per request.
  • Reduce the frequency of calls.
  • Avoid immediate retries, because all requests accrue against your usage limits.

When you implement error handling, use the HTTP error code 429 to detect throttling. The failed response includes the Retry-After field in the response header. Backing off requests using the Retry-After delay is the fastest way to recover from throttling because Microsoft Graph continues to log resource usage while a client is being throttled.

  1. Wait the number of seconds specified in the Retry-After field.

  2. Retry the request.

  3. If the request fails again with a 429 error code, you are still being throttled. Continue to use the recommended Retry-After delay and retry the request until it succeeds

This advise all makes sense so that if your code is making a lot of calls (think migrating SharePoint items or doing bulk updates) that the Graph may tell you to slow down. When I was investigating my scenario however, it just didn’t make sense that the code was generating enough traffic to worry the Graph (Office 365 service). The telemetry was telling me the code had made around 2,500 Graph calls spread over a period of 24 hours and this was also spread across more than 100 users from a number of different Office 365 tenants.

Diving deeper into the telemetry a pattern quickly emerged, the 429 errors were being returned in response to a Graph call to get a list item based on a column value. Something along these lines:

https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items?filter=Fields/Title eq 'testitem'

This call didn’t fail all the time, if fact it only seemed to get the 429 error in less than 10% of the cases.

Having spend many hours over the past few years ‘working with’ SharePoint thresholds and query limitations on large lists and libraries, my mind started to move towards thinking that maybe the 429 error was a bit misleading and was actually failing due to the Graph API hitting SharePoint threshold limitations.

Off to prove my theory, I’ve got a library with just under 5000 items (which is the SharePoint list threshold)

MS-Graph-API-Throttling-00-Large-SharePoit-Library-Threshold-Cameron-Dwyer.png

Using the Graph API Explorer I can make a call that queries this SharePoint library for a specific item matching on the Title column value being equal to “upload.log” (a file which I know exists in the SharePoint library).

MS-Graph-API-Throttling-00a-Get-SharePoint-Item-By-Field-Value-Cameron-Dwyer.png

As expected  the item is found and a Success code 200 is returned along with the JSON payload in the response body shown above. Time to prove the theory, what if I now add 2 more files to the same document library and repeat the process?

After uploading 2 more files, the library settings now indicate that we have exceeded the list view threshold.

MS-Graph-API-Throttling-05-Large-SharePoint-Library-Exceed-Threshold-Cameron-Dwyer.png

Now executing the same query in the Graph API explorer gives us the 429 error code. Inspecting the response body we can see the additional error code of “activityLimitReached” and message of “The application or user has been throttled”

MS-Graph-API-Throttling-06-Activity-Limit-Reached-Cameron-Dwyer.png

Why was this error misleading? Neither the error code or message specifically indicate the issue being related to SharePoint thresholds. The documentation and best practice articles (linked to at the start of this article) regarding this 429 response are written on the premise that the volume and frequency of calls is responsible for the error and hence the guidance to handle the error should be to incrementally back-off and keep trying until you get success. This guidance is totally misguided in the case of hitting the underlying SharePoint threshold limitation as the call will always fail and has nothing to do with the volume or frequency of calls you are making. It will fail if it’s the only call you make all day and no matter how many times you retry, it will always fail.

 

Photos from the European SharePoint Conference 2017 (Dublin)

Newcastle Coders Group talk on Transitioning to Modern Office Add-in Development November 2017

imageI had a great time on my first visit to the Newcastle Coders Group this week. It was nice to meet some passionate developers and hear what people are up to outside of my usual Microsoft sphere.

Thanks for having me talk about modern Office add-in development. Here’s the slide deck from the evenings talk.

https://camerondwyer.files.wordpress.com/2017/11/transition-to-modern-office-addin-development-ncg-talk-nov-2017.pptx

coders-user-group-newcastle-cameron-dwyer-office-add-in-dev

Sydney SharePoint User Group – The Transition to Modern Office Add-in Development

sharepoint-user-group-community-sydney-cameron-dwyerI had the pleasure this week of speaking at the Sydney SharePoint User Group on the topic of transitioning to the modern Office Add-in development model.

We discussed:

  • The existing COM/VSTO Office Add-in development model
  • The reasons and drivers for needing a new development model
  • What the modern Office Add-in development is and how it works
  • Benefits of the modern model
  • What this transition means for Office developers
  • A look at the typical modern add-in technology stack and discussing some of the options
  • The wider Office Developer Vision (Extending Office through add-ins + accessing Office 365 data via Graph)

Thanks to those who attended and as promised here’s a link to the slide deck from the nights presentation.

Transitioning to Modern Office Add-in Development (slide deck)

sharepoint-user-group-sydney-cameron-dwyer-office-add-in-dev

I’m talking modern Office add-in development at this months Sydney SharePoint User Group

cameron-dwyer-circleThe Transition to Modern Office Add-in Development

Microsoft SharePoint is developed by the same team responsible for the Microsoft Office desktop applications. There has always been a strong connection between these products. Up until recently, developers who wanted to integrate Word, Excel, PowerPoint with SharePoint would use the COM add-in model. But now Microsoft has a new Modern Office Add-in development model.

In this month’s session, Cameron Dwyer – CTO at OnePlace Solutions – will discuss the high level architecture of this modern add-in model, the new technologies and choices involved, transitioning developer skillsets, advantages / disadvantages of the modern model. We will mix in a bit of Azure, Angular, TypeScript, Office 365 APIs, Office UI Fabric, Authentication, and maybe some Applications Insights and DevOps.

OnePlace Solutions is a local success story. Based in Sydney, they have developed products using Microsoft Office COM add-ins.  They are one of the first companies globally to have launched add-ins based on the new model for the desktop, iPhone and Android platforms.

For more details on attending this free event in Sydney on 17 October

https://www.meetup.com/en-AU/Sydney-SharePoint-User-Group/events/242349531/

Microsoft Ignite 2017 in Orlando – My top picks and tips

Microsoft’s premier technology conference Microsoft Ignite 2017 is quickly approaching and it’s set to be the largest Ignite conference yet (rumoured to be around 24,000 attendees).

OnePlace Solutions – Products that rock this world

I’m excited to be attending again with some of the awesome OnePlace Solutions team. OnePlace Solutions is again a sponsor and exhibitor at the conference so please come by and pay us a visit on the expo floor (booth 1724). We will be running live demos of our desktop product suite (a major release went out for this last week so you will be seeing brand new software) including OnePlaceMail, OnePlaceDocs, and OnePlaceLive.

In addition I’m super proud of the work we did earlier this year to launch OnePlaceMail for iPhone/iPad, and just last week we were a launch partner when Microsoft announced add-in availability for Outlook on Android.

opm-outlook-android-addin-officdev-512-475-cameron-dwyer

Fun & Giveaways – that are out of this world

Who doesn’t like building LEGO and winning prizes? Come and play our Lego game for your chance to win the LEGO® NASA Apollo Saturn V

microsoft-ignite-orlando-saturn-rocket-lego-cameron-dwyer

 

What’s at the Conference for Office Developers?

oneplace-solutions-logoHeaps, and heaps, and heaps. Trying to build a schedule in MyIgnite website is overwhelming with the shear number of sessions available BUT IT IS ALSO A MUST – don’t try to figure it out on the day, it will take a couple of hours to really look through the options and choose the right sessions for yourself. The conference centre is huge, so if you end up in the wrong session you could have a 30 minute walk to get to another session, not a situation you want to find yourself in. Here’s my picks for Office developers:

 

Microsoft Office 365 platform overview

Tristan Davis, Rob Howard

Learn about the latest that Office 365 has to offer developers and power users, from Microsoft Teams extensibility and the Microsoft Graph to Office add-ins and Office UI Fabric. We cover the full range of solution-building tools, from Microsoft PowerApps and Microsoft Flow to Visual Studio and Visual Studio Code. Get a demo-packed overview of the platform, and a guide to Office sessions you should see through the rest of the conference.

https://myignite.microsoft.com/sessions/55142?source=sessions

 

Make your app a native part of Office with Office Add-ins

Humberto Lezama

Microsoft Office Add-ins allow you to make your solution a native part of Office on every platform across desktop, web, and mobile applications. Learn how to build an Office Add-in, the new features we’ve recently launched and our future roadmap. This session covers how to enable native Office experiences using standard web developers tools, how your Add-in can run anywhere, and all the great distribution channels for publishing your app.

https://myignite.microsoft.com/sessions/54720?source=sessions

 

Building the modern SharePoint experience: Best practices from Microsoft for developing with SPFx

Chakkaradeep Chinnakonda Chandran, Waldek Mastykarz

With the SharePoint Framework, you can incorporate modern developer techniques to create fast, responsive components. Building on lessons from developing out-of-the-box components, in this session, we go under the hood to explore details of modern SharePoint client-side development tools to not only manage your developer environment but also give you an edge in building optimized and performant web parts and extensions. We also show how you can streamline deployment with SharePoint CDN facilities to strike the optimal mix of flexibility and performance for your projects.

https://myignite.microsoft.com/sessions/53866?source=sessions

 

Migrate your apps from legacy APIs to Microsoft Graph

Dan Kershaw, Jeff Sakowicz

Microsoft Graph is the single REST API endpoint for accessing your data in the Microsoft Cloud including from Azure Active Directory, Office 365, Intune, and more. In this session, learn about how Microsoft Graph can now enable you to create apps that were simply not possible before. Find out what is new with Microsoft Graph in addressing previous parity gaps with legacy endpoints, learn about the scenarios that you can build using Graph, and see how you can quickly migrate to using Graph.

https://myignite.microsoft.com/sessions/55419?source=sessions

 

Office development: Authentication demystified

Vittorio Bertocci

Tokens and Scopes and Protocols, Oh My! Come to this session to discover how easy it is to use the MSAL SDK to connect your applications and Office Add-ins to the Microsoft Graph, without any need to become a protocol expert. No matter what platform or dev stack you are targeting, you’ll be surprised by how little code it takes to authenticate users and take advantage of Microsoft’s rich cloud API. We cover a lot of great MSAL-focused tech, including MSAL.NET for UWP, Desktop and Xamarin, MSAL.NET for Agave plug-ins and MSAL JS. We also touch on MSAL for iOS and Android. It goes without saying – but we’ll say it anyway – that we also talk about Microsoft Graph!

https://myignite.microsoft.com/sessions/55110?source=sessions

 

Stay Updated and Hear the News as it Breaks

Follow @MS_Ignite on Twitter and use/follow the hashtag #MSIgnite to share your thoughts

Follow the 10 MVP “Community Reports”

Keep your eyes and ears open – news will be breaking all around you!

 

Enjoy Yourself and Have Fun

Take the opportunity to enjoy Universal for a private party (that doesn’t happen every day!)

See if any of the events from the Ultimate Events Party List take your fancy

Tweet your step count. I think I’m a chance of cracking 20,000 steps a day

 

I’ll be tweeting (@CameronDwyer) throughout the conference.

Hope to see you there.

 

microsoft-ignite-orlando-lego-astronauts-cameron-dwyer

Vote for our app in the Office 365 Hack Productivity competition!

image

 

Microsoft is currently running a Hack Productivity competition for creating apps that leverage Office 365 Add-ins and/or APIs to deliver an app that increases user productivity.

I’ve been working with the awesome dev team at OnePlace Solutions to cook up a modern Outlook Add-in that will run on any device and allow a user to quickly and easily save email and/or attachments from Outlook to SharePoint/Office 365 Groups.

We think it’s an awesome productivity app as it makes use of the “dead-time” you get during the day when you haven’t got time to do any heavy work but have your phone or tablet handy. This allows you to do those tasks like filing emails into your Project Management System in SharePoint while catching the train to work, or saving that updated document you’ve been sent into your Legal Matter Management System in SharePoint while waiting for your doctor’s appointment.

We are using all the cool technologies to make the magic happen. Running as a super fast Angular 2 Outlook Add-in and looking very slick thanks to the Office UI Fabric! We are utilizing the Microsoft Graph, SharePoint and Exchange services of Office 365 and hosting the app 100% on Microsoft’s Azure Cloud.

We didn’t just cobble together an app for the Hackathon, we built this app to be ready for the prime time and it will become a commercial product offering in the very near future. We have released the app into the Office Store as a preview where you can take a look at what we’ve built and try it out for yourself.

Please take a look and vote for our submission to the Hackathon

Get the OnePlaceMail for SharePoint Online preview app from the Office Store today.

 

OnePlaceMail for SharePoint Online – screenshot 1OnePlaceMail for SharePoint Online – screenshot 2OnePlaceMail for SharePoint Online – screenshot 3

 

Learn more about the app by visiting the OnePlace Solutions website

http://www.oneplacesolutions.com/oneplacemail-for-office365-sharepoint-online.html

image

European SharePoint Conference (Vienna, November 14-17)

eurpoean-sharepoint-conferece-cameron-dwyerI’m excited to have to opportunity to attend the European SharePoint Conference this week (November 14-17) in Vienna. Since the amalgamation of the Microsoft SharePoint Conference into the Microsoft Ignite Conference the last 2 years, I’m really looking forward to a dedicated SharePoint conference again. The SharePoint community has always been such a bright, vocal and welcoming community and this is the first time I’ve travelled to Europe for the event.

Over the last 3 years we’ve seen Microsoft focus heavily on marketing Office 365 and the different services it offers. SharePoint had been relegated to the background and we heard little about it, even though it was the central to many of the Office 365 services. With Jeff Teper back on the team I get a sense that SharePoint is now back in the spotlight and the rate of innovation and change in SharePoint is at a level that we haven’t seen for years.

It’s an exciting new world for SharePoint and I’m keen to talk to those attending the conference to see how the cloud and Office 365 is being adopted through Europe.

Personally I have spent a lot of time recently on non-Microsoft technologies as we look to create the products of the future that will be running under non-Microsoft web technology stacks and across all devices.

While we will be showing our industry leading OnePlace Solutions product suite (OnePlaceMail, OnePlaceDocs, OnePlaceLive) at the conference we will also be demonstrating some of the cutting edge work we are doing such as the cross device OnePlaceConnect Outlook add-in that I’d imagine is the first commercial product in the Office 365 space written in Angular 2 and utilizing the ahead-of-time compiler for a blazingly fast user experience.

I’m really looking forward to having some great conversations and meeting new people as well as some of our existing customers and partners.

we-love-sharepoint - CopyOnePlace Solutions is a Gold Sponsor of the event and I’ll be on the booth during the breaks throughout the conference, so if you are attending and have the opportunity then please come up to the OnePlace Solutions booth and say hi. We will also be giving away some swag and prizes so come and grab some of those as well!

%d bloggers like this: