In this PnP Web Cast we concentrated on SharePoint Client Side Object Model (CSOM) versioning and how you can take the different SharePoint target versions into account in your customization. With the release of SharePoint 2016, we have now 3 different CSOM versions and handling this could be a challenge within your customizations. Each of these versions have small differences and you should use correct version dependent on your target environments. This will however cause some challenges on how to manage your builds and Visual Studio project configuration, so that you can still use one code base regardless of the target environment.
With small adjustments in your Visual Studio solution with preprocessor directives, you can however actually use the exact same code cross all of the environments. This will give you opportunities on building for example automated daily builds for all of the target environments from same Visual Studio solution.
Office Dev PnP initiative have been taken advantage of this design in the Office Dev PnP Core Component, so that we can easily automate daily integration testing cross SharePoint Online, SharePoint 2016 and SharePoint 2013.
Presentation covers following topics:
- Which CSOM version I should be using for which SharePoint environment?
- How the versioning and distribution works for the different environment?
- How to make my app/add-in to work across different environments?
- Recommendations around CSOM usage in Visual Studio and why you should not necessarily use available CSOM SDKs directly in enterprise development scenarios
Demo section concentrates on showing following topics:
- Demonstration of dynamic and automated switching of CSOM references in Visual Studio based on your target environment
- What changes are required to Visual Studio project to enable dynamic switching
- Recommendations around CSOM assembly installation and usage in your development environment
Presentation used in this web cast is available from http://docs.com/OfficeDevPnP.
Video at Channel 9.
See following resources around the covered topics
- Using correct Client Side Object Model (CSOM) version for SharePoint customizations – blog post at dev.office.com
- MS Build reference – Details around the VS project file modification options
- PnP Core Component GitHub repository – Was used as an example in the demo
Here’s also links to specific CSOM distributables available for you, depending on your target environment
- SharePoint Online CSOM Nuget package – always the latest CSOM version for SharePoint Online
- SharePoint Online Client Components SDK
- SharePoint Server 2016 Client Components SDK
- SharePoint Server 2013 Client Components SDK
What is Office 365 Developer Patterns and Practices (PnP) web cast series?
Office 365 Developer Patterns and Practices (PnP) web cast series cover different patterns, practices and topics around development with Office 365 and SharePoint. Majority of the topics are valid for the Office 365 and SharePoint on-premises. Our objective is to release new around 30-45 minute long web cast each Monday with few slides and live demo on the covered topic. All web casts are published at the PnP Channel 9 video blog with additional references on the existing materials.
PnP is community driven open source project where Microsoft and external community members are sharing their learning’s around implementation practices for Office 365 and SharePoint on-premises (add-in model). Active development and contributions happen our GitHub project under dev branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications. Latest activities and future plans are covered in our monthly community calls which are open for anyone from the community. Download invite from http://aka.ms/OfficeDevPnPCall.
This is work done by the community for the community without any actual full time people. It’s been great to find both internal and external people who are willing to assist and share their learning’s for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the Core team and we are looking to extend the Core team with more community members.
If you have any questions, comments or feedback around PnP program or this blog post, please use the PnP Yammer group at http://aka.ms/OfficeDevPnPYammer.
“Sharing is caring”
Vesa Juvonen, Senior Program Manager, Office 365, Microsoft – 18th of April 2016