This year of SharePoint Saturday’s started with the one in Munich last weekend. This time there was also a preconference session on Friday. The sessions on Friday and Saturday were held at the brand-new building of Microsoft Germany.
This year they organized two preconference sessions. A developer one about Office Dev PnP and an IT Pro about SharePoint 2016. I went to the SharePoint 2016 session where they talked about all the aspects of SharePoint 20116. They started with the architecture and the differences between SharePoint 2013 and 2016. They also explained where the issues were and how to solve them. After the architecture session we went into the authentication options within SharePoint and the hybrid identity. Here we looked at the identity options within Office 365 and the options to get your on-premises users into the cloud. Also, the dependencies where discussed like ADFS on-premises and your local internet line is down. After the lunch break we had a session about PowerShell and the Office Dev PnP PowerShell module that is available for on-premises and Office 365. We ended the day with setting up Hybrid. Thomas did a complete hybrid setup in just 1 hour with some preparations that he did on forehand. The most important part of the hybrid setup of Office 365 is that your identities are available in Office 365. When you have, that part done and your SharePoint farm can talk to the internet you can run a simple wizard from the SharePoint Online admin portal to setup the hybrid farm. This wizard will setup:
- File sync and share (Hybrid OneDrive)
- Business to Business Extranet (Partner facing extranet sites). This is a scenario
- SharePoint Hybrid Auditing (Preview)
- Sites Features
- Extensible Hybrid App Launcher
- SharePoint Hybrid Taxonomy (Preview)
To get hybrid search working you need a PowerShell Script to configure this and a cloud Search application in your farm.
When setting up hybrid search and you already have setup Apps or Workflow manager then you need to set the trust again for these 2 applications because they will break.
- Simple and powerful file sharing
- Security, privacy and compliance
- Mobile and intelligent intranet
- Open and connected platform
They discussed the challenges about each topic in a fun and entertaining way. Vesa was telling about each focus point and Erik asked some sharp questions about them to get a great keynote. Some of those questions where “Why can’t I find my ribbon buttons anymore?” or “Why can’t I easily access my files in on-premises”.
The main take away is that Microsoft is changing and sometimes we need to wait a lot, but in the same time Microsoft is pushing out updates a lot faster and that makes it hard for both Microsoft and our customers. Therefore, they want our feedback. We can do that on al kind of platforms and Microsoft is using that to prioritize their workload.
Feedback can be given thru:
- GitHub for the SharePoint framework
But do not forget to give positive feedback as well.
Git, Gulp, Grunt, Node and Code: making sense of the modern development toolchain
Bill Ayers (@spdoctor)
Bill explained the new tools in our toolbox for developing in SharePoint with all the fancy new tools for us SharePoint developers. These tools are already very common for the web developers, but new to the SharePoint developers. A few of these tools are:
- Grunt and Gulp
- Visual Studio Code
He showed these tools and how to use them with SharePoint. He also mentioned that there is no perfect development environment and that you should not chaise this unicorn.
Pushing the boundaries: A deep-dive into real-world SharePoint Add-in development
Eric Shupps (@eshupps)
He started with the different options that we have for developing within SharePoint
- Full trust
- SharePoint Framework
There is also the sandbox solutions, but the main goal should be to get off them as soon as possible. Full trust is only available for on-premises environments and can be used, but only if the scenario is valid for this. Try to avoid this even in on-premises environments. The SharePoint hosted add-in is available for solution that does not have managed code, only client site code. The redeployment of this kind of solution is a nightmare because it needs to remove everything and reinstall it. This means that all the content in the deployed instance is gone.
The Provider hosted add-in is the better version because you can have managed code that runs off the SharePoint environment and updating that code can be done without redeploying the add-in within SharePoint. The big drawdown of provider hosted add-ins is that the authentication is based on certificates and they expire. There is no system in place that will warn you for an expired client secret.
Putting it in Azure makes is possible to do true SSO with Azure AD SSO and can be multi-tenant, this is a bit tricky to configure but it works great when done. It does not inherit the context of the user. This solution is great when it is an enterprise wide solution, but when you only need it on a few site collections, it is better to use the provider hosted add-in.
The SharePoint framework just became GA and is a great tool for Single Page Solutions, it does not have compiled code and no complex tool part as you could do before.
API’s can be used with CSOM, JSOM and REST. CSOM is the best performing of the three. Microsoft does not invest a lot in JSOM. The one you should put your focus on is REST, the only issue with this one is the performance and Throttling is a hazard, if you do too much request you get throttled and when you continue it is possible that your tenant is shutoff. There is a solution for this and a sample can be found in the Office Dev PnP samples called PnP.Core.Throttling. This can also be used on-premises
This presentation can be found on SlideShare
Securing Office 365 and Microsoft Azure like a rock star
Jussi Roine (@jussiroine)
Jussi started with an overview of all the products that are available in Office 365 and in Azure with the focus on the four core products
- Skype for Business
- Office 2016
- SharePoint Online
To protect all these servers, Microsoft has a few protection products, some are free and some are paid. He went over the products and explained what they did per product, see his slides for the different products.
His advice was to enable at least all the free protection products like Azure Security Center and even consider some paid ones like ATA (Advance Threat Analytics) to protect the on-premises as well.
See the Azure best practices and practices document: https://docs.microsoft.com/en-us/azure/security/security-best-practices-and-patterns
This presentation can be found on Docs
Power charging Microsoft Teams with Bots, Connectors and Tabs
Wictor Wilén (@wictor)
Wictor first started with a short introduction to Teams for the people who did not yet get a change to look at it. Within Avanade they now use Teams more than Skype for Business because of the persistent chat and voice/video capabilities. Microsoft Teams depends on Office 365 Groups like most new products in Office 365.
As a developer, you get a few options to develop against Teams
Connecters are the same as we already have with Office 365 Groups, but can be used in Teams as well. There are over 100 connectors available already. A connector will send a notification to the channel that it was configured for, the text that is in the connector can be written in Markdown for more control about the design and links.
Tabs will in the end surface a webpage or app directly into a channel. This can be used for reports, data visualization or integration of an application. Microsoft Teams already has some build in tabs like a SharePoint Site, Planner or VSTO backlog. To develop for this you need to enable it in Office 365. The tab framework has a specified structure and Wictor created a Yeoman generator for this (yo teams-tab) The solution that is build can have multiple tabs within it and are in essential webpages like an add-in in SharePoint
Bots are based on the Microsoft Bot framework. You can add a bot to a channel or in a 1:1 chat. When adding it to a channel, you need to add the bot as a team member.
SharePoint Toolbelt 2017: Tools for SharePoint Developers and ITPros
Rodrigo Pinto (@scoutmanpt)
Rodrigo started with the 10 commandments for a developer
- Thy shall leave your development\scripting in better shape that you found it
- Thy shall automate your processes
- Thy shall use your toolbox in a proper way Don’t expect the toolbox to do your work… it’s a toolbox, not a minion
- Thy shall not reinvent the wheel
- Thy shall automate your processes
- Thy shall be consistent impose rules in each thing you do, and stick with it
- Thys shall be social Share your solutions
- Thy shall make your solution self-sustained
- Thy shall be intuitive
- Thy shall be careful! use defensive coding, leave the code better that you found it; assume the worst-case scenario on deployment
Then he went thru a list of tools like AutoSPInstaller, SharePoint DCS, Office Dev PnP PowerShell, SPCAF, SPDocKit CAML Designer 2013
Panel Discussion: Groups, Teams, Conversations, Skype, Yammer – Say What?
This was an interactive session with Ewin, Wictor, Symon, Maarten with questions from the audience.
The main question was about the adoption of all these new products and services, how to handle it. It is changing too fast for most companies that they are overwhelmed and do not know how to handle it. It is a big change going to a service like Office 365 and you need a different mindset about product adoption. Therefore, it is important that you have a team of people from different departments that are looking at the new services that are coming and actively work with it to see if it has value in the company and how to implement it before it is available for the masses. Let those users be in the first release group. Make sure that this group of people are from a variety of departments in your company. Microsoft learned from enabling services by default like they did with PowerApps and Flow. With Teams it was disabled by default.
I had a great time being here in Munich and meeting the community again and seeing the effort that was done by the organizers of this event. Hope to see some of you again at other SharePoint Saturdays this year.