Recently I gave a talk at SharePoint Saturday UK, following some work my team and I have done on a large Office 365 project. The project involves a reasonable amount of customisation, and we found that many of the techniques we were used to using on classic SharePoint projects cannot simply be applied. Personally I feel like I’ve learnt a lot over the last few months – at my current employer (Content and Code) we are on our 3rd or 4th “Office 365 project with SharePoint customisations”, and we were lucky to also have some time to prepare techniques/scripts etc. before the first one started.
I can’t share all this work, but if you’re starting a similar project you might find some useful info in the ground we have covered and decisions we made. I also point to some useful resources which might be helpful.
Office 365 – developer decisions, tips and tricks
The presentation is embedded below (along with a link to it on SlideShare if you don’t see it).
- Decision – how we deal with test environments in the cloud (e.g. do you need a separate Office 365 tenancy for test?)
- Decision – do developers still need powerful desktops/laptops to run virtual machines?
- Decision – should you use (server-side) code in the sandbox?
- And should you worry about the “sandbox is deprecated” message?
- What are the alternatives to server-side code?
- Using the magic “PowerShell + CSOM” combination to write PowerShell scripts for Office 365
- Dealing with Managed Metadata fields
- Provisioning taxonomy (Term Sets) with CSOM, to ensure consistent IDs
- Our approach - 100% declarative provisioning of Managed Metadata fields
- The new way of working with Managed Properties – search schema XML
- Using the SearchConfigurationPortability object in CSOM
- Automated deployments to Office 365 – using PS/CSOM to:
- Recreate site collections
- Import taxonomy term sets and terms
- Import search schema
- Upload sandbox WSPs to the site’s Solution Gallery
- Activate Features, apply custom WebTemplate to site
- Wrapping the above in TFS build for Continuous Integration (nightly builds of latest packages to Office 365)
I’ll expand on some of these topics in future articles. Similarly I’m expecting to further develop this talk and incorporate new content.