Multiple Entry Points
From a developer’s perspective, all content management systems require some level of customization, whether it’s adding new features for back-end users, custom pages that are too complex for a content management system, or the ability the import and export data from other systems. Sitefinity allows multiple ways to insert your own features. You can:
- Create complete MVC pages that act independently, not touching Sitefinity at all.
- Create custom widgets that allow a back-end user to drag and drop functionality on a Sitefinity page. These widgets are MVC-aware, which means they you can program different behavior based on the URL / routing.
- Create Sitefinity custom objects. Sitefinity automatically generates an editor screen for back-end use, and you can generate templates that display the object on the screen.
- Access Sitefinity pages, templates, media, etc. using their API.
Sitefinity uses the open source package Project Feather as their platform to create MVC widgets. You have a question on how the breadcrumb trail is generated? Look at the source, and if you don’t like it, you can copy it to your local project and make changes. And Project Feather is run by .NET MVC, AngularJS, and Bootstrap, so it’s an easy transition from these popular frameworks to Project Feather.
Full Control over HTML
Sitefinity templates are based on .NET Razor files that reside in the /MVC/Views folder. So, if you need to add a new script to your template, you just go into that template, add the <script> tag, and it gets propagated through all the pages that use that template. Need to add custom ARIA tags to your header? You just add them. And if you use the pure MVC format, nothing gets added to your HTML that you don’t want. No viewstate, no extraneous scripts, no unneeded libraries.
.NET Access and IDE Support
A Sitefinity project is just a .NET project with some NuGet packages added on. This means that you can create additional .NET projects inside your solution and reference those projects inside your Sitefinity project. You can use all the Visual Studio tools out of the box, like Gulp, Grunt, and NPM. Upgrading Sitefinity is just a matter of updating your NuGet packages and recompiling.
Finally, we’re building a support group of local developers and users. We’re happy to share code, so if you need custom solutions like integration with WebTools or an accessible slideshow, we’d be happy to help.