44 votes

Optimus

UI layer on top of Asp.net Web Optimization framework for Umbraco, makes it possible to create script and style bundles from within the Umbraco backoffice.

For an intro to bundling and minification check out http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

In short: bundling and minification improves request load time by reducing the number of requests to the server and reducing the size of requested assets (such as CSS and JavaScript.)

Also possible to install providers for dynamic stylesheet and script support (less, sass, coffeescript, typescript).

For more details please check http://www.nibble.be/?p=238 and http://www.nibble.be/?p=237

For Umbraco 7.3 and higher please use the latest version, for older Umbraco versions use 1.3.2

Requirements

ASP.NET 4.5 Framework
Umbraco v6
Internet Explorer v9 + installed on web server (required by Less, CoffeeScript & TypeScript providers). You can use the V8 engine add on to avoid this dependancy.
TypeScript provider doesn't work correctly when used in IISExpress on Windows 8 (use full IIS instead).

Upgrading v1.2.1 to v1.3.0

Step 1: Uninstall any v1.2.1 Optimus Provider or AddOn (not the Core package) you have installed

Step 2: Install the v1.3.0 Optimus.Core package

Step 3: Install the v1.3.0 version of any Optimus Providers or AddOns you need

Upgrading v1.0 or v1.1 to v1.2.1 or v1.3.0

If you are using only the Core package then you can just install the latest version over the top of your current version, follow the below to ensure you don't loose your bundle definitions:

Step 1: Rename /App_Plugins/Optimus/config/bundles.config to temp.config

Step 2: Install v1.2.1 core package

Step 3: Delete bundles.config and rename temp.config back to bundles.config

Step 4: Restart your application pool

If you have providers installed, then all the providers have to be removed before upgrading the Core package and then the new versions of the providers can be installed. (v1.2.1 has provider uninstall support so that this process will be much easier for future versions)

(if you upgrading v1.2.0 to v1.2.1, then this isn't required, just install new versions over the top of the current version)

For each provider installed follow the below then upgrade the Core package as above.

Step 1: Remove the section element and all child elements with name that matches your provider from within /configuration/configSections/sectonGroup[@name="bundleTransformer"] of Web.Config

Step 2: Remove the http handlers for the provider you are removing from /system.webserver/handlers and /system.web/HttpHandlers

Step 3: Remove the provider from the bundleTransformer section, either in css or js sections depending on the type of provider

Step 4: Delete the BundleTransformer.[ProviderName].dll from the bin folder, e.g. BundleTransformer.Less.dll

Changelog

v1.4.0

Support for Umbraco v7.3 (this version will only work on v7.3 and upwards, for older Umbraco versions please use v1.3.2)

v1.3.2

Fix BundleTable cache clearing when saving a bundle update

v1.3.1

Fix incorrect assembly binding for JavaScriptEngineSwitcher.Core
Add package action to add BundleModule as HttpModule in web.config

v1.3.0

Update BundleTransformer to v1.9
Update Microsoft.AspNet.Web.Optimization to v1.1.3
Update WebGrease to v1.6
Fix 404 tree errors
Fix Umbraco > v7.2 controller authorisation errors

v1.2.1

Uninstall actions now work for all providers - this will help with upgrading to future releases

v1.2.0 Core

v7 compat

v1.1.0 Core

Update to ASP.NET Web Optimization Framework v1.1.1
Update Bundle Transformer: Core v1.8.7
Package action fixed for dependentAssemblys
New setting: compileDynamicStyleSheetsToCss
New setting: compileDynamicJavaScriptToJs
New setting: ignoreCompilationDebug

v1.1.0 Less

Update to Bundle Transformer: LESS 1.8.7  (supports LESS (http://lesscss.org) version 1.4.2

v1.1.0 Sass

Update to Bundle Transformer: Sass and SCSS 1.8.7 (supports Sass (http://sass-lang.com) version 3.2.12)

v1.1.0 CoffeeScript

Update to Bundle Transformer: CoffeeScript 1.8.7 (supports CoffeeScript (http://coffeescript.org) version 1.6.3)

v1.1.0 TypeScript

Update to Bundle Transformer: TypeScript 1.8.7 (supports TypeScript (http://www.typescriptlang.org) version 0.9.1.1)

v1.1.0 V8 JavaScript Engine (for Less, CoffeeScript or TypeScript)

This addon should be installed after installing the Less, CoffeeScript or TypeScript providers, once installed the V8 JavaScript Engine will be used instead of the default MSIE engine.
If installed before the provider you can manually change the JS engine (e.g for less, update the name attribute to V8JsEngine in the /configuration/bundleTransformer/less/jsEngine element

Note: 'msvcp100.dll' and 'msvcr100.dll' from the Microsoft Visual C++ 2010 are required to be installed on the server. If your server doesn't have them, you will need to install the Microsoft Visual C++ 2010 Redistributable Package. (x86 - http://www.microsoft.com/en-us/download/details.aspx?id=5555, x64 - http://www.microsoft.com/en-us/download/details.aspx?id=14632)

Screenshots

Archived files

Source code

Project owner

Tim Geyssens

Tim Geyssens

Tim has 14656 karma points

Project Compatibility

This project is compatible with the following versions as reported by community members who have downloaded this package:
Untested or doesn't work on Umbraco Cloud
7.7.x (untested)
7.6.x (untested)
7.5.x (100%)
7.4.x (100%)
7.3.x (69%)
7.2.x (80%)
7.1.x (88%)
7.0.x (100%)
6.1.x (83%)
6.0.x (100%)

You must login before you can report on package compatibility.

Project Information

  • Project owner: Tim Geyssens
  • Contributors: Warren Buckley , Jeavon Leopold
  • Created: 05/07/2013
  • Current version 1.4.0
  • .net Version 4.0,4.5
  • License MIT
  • Downloads: 17221

External resources