It's long overdue, but I've published a major update to our Envision Shakespeare Company reference project. The previous update was last November, and a lot has changed since then. The full package is available for download at www.envisionit.com/shakespeare.
The idea of the project is the same. It still provides for a single scripted process that will create a complete web site, with adaptive mobile design, master page and page layouts, term-store driven navigation and friendly URLs, cross-site publishing and catalogs, and lots of content.
Here are some of the highlights of what we've changed since the last update:
- Upgraded Twitter Bootstrap to 3.0
- Previously the site columns, content types, lists, and branding were all deployed through WSP solution packages
- Microsoft is recommending against this approach
- We have rebuilt the whole process to be based around a PowerShell deployment model
- Site columns, content types, and term store are imported/exported as XML
- Lists and content are imported/exported as SharePoint CMP files
- Catalogue page layouts rebuilt to leverage HandleBars and jQuery rather than Content Search Web Parts for better design, maintainability, and reliability
- Fully scripted catalogue connection process including proper configuration of the term store
Any one of the above items is a long post in itself, but the catalogue publishing architecture is probably the most important, so it will be my focus for an upcoming detailed article.
We also have some very interesting updates still in progress. Our approach to date has been to target on premises SharePoint 2013, but we knew we always wanted to support SharePoint Online as well. Everything we've built can be made to work in the cloud, but it does require some re-work. Our ultimate goal is to build the same deployment process to work against the client side object model, so the same scripts and processes can run against either on premise or the cloud.
We've started some of this already, and here's the highlights. These are not in the package yet, but they will be coming shortly. If you're impatient and want an early look, then reach out to me.
- Import / export of the term store. We have a .NET application as part of the package that does this, but I always wanted to keep it pure PowerShell. Rather than build our own, we've found what looks like a great one by Paul Matthews at https://cann0nf0dder.wordpress.com/2014/11/12/exporting-taxonomy-from-sharepoint-using-powershell/
- We've created a fully client-side implementation of our top nav, left nav, and breadcrumb controls to work in Office 365. We're just finishing up a client project (case study should be along shortly), and then we'll be integrating it back into Shakespeare
- Also looking at https://github.com/OfficeDev/PnP/tree/master/Solutions/PowerShell.Commands to see what cross-over there is with what we've done, and how we can leverage that
- We've created client side implementations of our Image Rotator and Video Player products, that we'll be open sourcing as part of this project