13 Aug 2007
Link to this post
16 Oct 2012
in reply to
You’re always welcome to dismiss my feedback :) Suggestions are opinioned ideas, each one of us works differently and has their own set of ideas what constitutes smart & best practices…
A solution somewhere between the current ‘website template’ and a full-fledged project would be a welcome addition. Like I said yesterday, we’ve got different perspectives on things where I see customers using one regular website project to keep things ‘simple’ and front-end developers wanting Thunder to give them a flexible template project.
The css limitations.
Like I said before, most progressive developers use some form of pre-processing or bundling these days when it comes to .css. Perhaps you’re a .LESS fan, others might use SASS and others might just write .css and minify it on save through a VisualStudio extension. (I think it’s fair to say that with VisualStudio 2012, Microsoft’s Web Essentials extension will become a defacto standard extension across the board no?)
But regardless of whether you use WebWorkbench, Chirpy or Web Essentials all of them struggle with the website template project. Either because they don’t understand ‘nested’ files or they don’t recognize a template folder as a regular folder.
But beyond that, one of Microsoft’s greatest addition, NuGet, totally isn’t supported. The only way to get some NuGet integration is to clutter my main project to include script packages.
Imagine refactoring a theme/template
Imagine version 1 using .css and jQuery 1.7.1 and jQueryUI, if I wanted to test/trial/enhance version 2 to be build on Twitter Bootstrap with .less, jQuery 1.7.2 and KendoUI instead, currently I would have to completely mess up my main Sitefinity project.
registered in the main project.
In order for bundling of the .JS to work and not affecting v1 of the design, I’d have to create the folder structure App_Data/Sitefinity/WebsiteTemplates/TemplateName/JS in the regular project and have the .js combined there while the template (inside the template project) references the file as if it would be there inside that project).
So my solution would always need to have 2 projects, one of which is the main Sitefinity project, which I have to break open and cross-reference to get things going. Twitter Bootstrap would cause a number of issues, again a NuGet package, but also the fact that its .LESS.
Now imagine I want to transfer this new v2 design to another user/computer. Instead of just being able to hand over the project, instead they need to include parts of the main project as well (nuget package configuration, minified scripts). In which case their original solution/project will get cluttered.
If we had some kind of option, that all this would be inside an isolated project, which I can simply zip up or check-out, life would be so much easier. Not to mention the ability to export/save this as a NuGet package would be even sweeter no?
If Sitefinity would publish their own Marketplace feed, people could instantly download & update right from VisualStudio instead of having to browse to the marketplace, download a zip, extract it and manually copy/paste the bits into places.
Ok, long and boring use case description but I hope I made my point that beyond average single-site users theming & designing can become a bit cumbersome with the current tools available J