How to allow users to apply branding to new site collection (when self-service site creation is enabled) without having any code, solutions or features running server-side?
The requested functionality has traditionally been done via farm scoped solution packages and web templates, but now the probability of moving to O365 is likely to increase long-term costs of server-side functionality - and thus I am wondering about moving logic away from SharePoint.
What would be the best way to create a "template-style" functionality without deploying any code or declarative solutions server-side when self-service site creation is enabled?
Some possibilities might be
- Using PowerShell to add a link globally to the suitebar of all site collections for applying branding from an external solution (MVC via CSOM for example)
- Moving whole site collection creation to an external solution (technically, the external application could create site collections on-premises using the admin web services, and in O365 via CSOM and Tenant)
- Creating a simple slightly customized template on-premises which applies simple branding and puts most logic (and long-term maintenance) to an external solution. However, this would naturally not currently be compatible with O365
Would it be possible to put above-mentioned approaches in order of preference (or shoot them down)? What other alternatives would work and why?
Related question: Easy and maintainable way to create templates for sites?