I don’t have very fond memories of using .Net resource files (.resx) to handle the translation of static web page elements such as form labels.
The Visual Studio resx editor was slow and using it to change resources that were more than a single line of text was a pain. I still have nightmares where I’m trying to edit complete email templates on a single field of a resx file…
The biggest problem with resource files, however, is that they are included in the project. This creates a problem for both the developers and the content managers, since the content managers are not able to change resources themselves, and the developers need to be changing resources files when they could be doing something productive.
The following will show a way to handle resource items in a MVC website project, where the resources can be stored wherever they are more easily handled by content managers: a SharePoint list, a database table, an excel file, or something completely different.
Manually creating Umbraco packages can be tiresome.
If you’re continuously building upon the same package, doing it manually is wasting time that can be more useful developing new features.
This problem presented itself to me when improving Approve It. In order to create the Umbraco package I need several things:
- The main assembly
- The new dashboard section html file
- The Package Actions Contrib assembly and its respective actions that enable me to bundle some translations in the package
I decided to go with Grunt and the Grunt Umbraco Package task. A grunt file is a script that typically automates the process of executing some tasks. These scripts can be executed on top of NPM, a package manager for javscript that provides a command line tool to run its packages. To streamline even more the package creation, I installed a Visual Studio extension called NPM Scripts Task Runner, that detects the grunt file and provides a simples UI to handle its tasks.