diff --git a/Notification/packages.config b/Notification/packages.config
index 6004e3e8..298c42d8 100644
--- a/Notification/packages.config
+++ b/Notification/packages.config
@@ -24,6 +24,7 @@
+
diff --git a/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.controller.js b/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.controller.js
new file mode 100644
index 00000000..7d75e25b
--- /dev/null
+++ b/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.controller.js
@@ -0,0 +1,22 @@
+function modelsBuilderController($scope, umbRequestHelper, $log, $http, modelsBuilderResource) {
+
+ $scope.generate = function() {
+ $scope.generating = true;
+ umbRequestHelper.resourcePromise(
+ $http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
+ 'Failed to generate.')
+ .then(function (result) {
+ $scope.generating = false;
+ });
+ };
+
+ function init() {
+ modelsBuilderResource.getDashboard().then(function(result) {
+ $scope.dashboard = result;
+ $scope.ready = true;
+ });
+ }
+
+ init();
+}
+angular.module("umbraco").controller("Umbraco.Dashboard.ModelsBuilderController", modelsBuilderController);
\ No newline at end of file
diff --git a/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.htm b/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.htm
new file mode 100644
index 00000000..7d1716cb
--- /dev/null
+++ b/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.htm
@@ -0,0 +1,31 @@
+
+
+
Models Builder
+
+
+ Loading...
+
+
+
+
+
+
+
Models are out-of-date.
+
+
+
+
+
Generating models will restart the application.
+
+
+
+
+
+
+
+
+
diff --git a/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.resource.js b/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.resource.js
new file mode 100644
index 00000000..58ca77cb
--- /dev/null
+++ b/OurUmbraco.Site/App_Plugins/ModelsBuilder/modelsbuilder.resource.js
@@ -0,0 +1,23 @@
+function modelsBuilderResource($q, $http, umbRequestHelper) {
+
+ return {
+ getModelsOutOfDateStatus: function () {
+ return umbRequestHelper.resourcePromise(
+ $http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetModelsOutOfDateStatus")),
+ "Failed to get models out-of-date status");
+ },
+
+ buildModels: function () {
+ return umbRequestHelper.resourcePromise(
+ $http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
+ "Failed to build models");
+ },
+
+ getDashboard: function () {
+ return umbRequestHelper.resourcePromise(
+ $http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
+ "Failed to get dashboard");
+ }
+ };
+}
+angular.module("umbraco.resources").factory("modelsBuilderResource", modelsBuilderResource);
diff --git a/OurUmbraco.Site/App_Plugins/ModelsBuilder/package.manifest b/OurUmbraco.Site/App_Plugins/ModelsBuilder/package.manifest
new file mode 100644
index 00000000..d8352351
--- /dev/null
+++ b/OurUmbraco.Site/App_Plugins/ModelsBuilder/package.manifest
@@ -0,0 +1,7 @@
+{
+ //array of files we want to inject into the application on app_start
+ javascript: [
+ '~/App_Plugins/ModelsBuilder/modelsbuilder.controller.js',
+ '~/App_Plugins/ModelsBuilder/modelsbuilder.resource.js'
+ ]
+}
\ No newline at end of file
diff --git a/OurUmbraco.Site/OurUmbraco.Site.csproj b/OurUmbraco.Site/OurUmbraco.Site.csproj
index 0eb6027b..137f3e2d 100644
--- a/OurUmbraco.Site/OurUmbraco.Site.csproj
+++ b/OurUmbraco.Site/OurUmbraco.Site.csproj
@@ -136,6 +136,14 @@
..\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll
True
+
+ ..\packages\Microsoft.CodeAnalysis.Common.1.0.0\lib\net45\Microsoft.CodeAnalysis.dll
+ True
+
+
+ ..\packages\Microsoft.CodeAnalysis.CSharp.1.0.0\lib\net45\Microsoft.CodeAnalysis.CSharp.dll
+ True
+
..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll
@@ -193,6 +201,10 @@
..\packages\UmbracoCms.Core.7.4.0-RC1\lib\SQLCE4Umbraco.dll
True
+
+ ..\packages\System.Collections.Immutable.1.1.36\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll
+ True
+
..\packages\UmbracoCms.Core.7.4.0-RC1\lib\System.Data.SqlServerCe.dll
@@ -216,6 +228,10 @@
True
+
+ ..\packages\System.Reflection.Metadata.1.0.21\lib\portable-net45+win8\System.Reflection.Metadata.dll
+ True
+
@@ -286,6 +302,10 @@
..\packages\UmbracoCms.Core.7.4.0-RC1\lib\umbraco.MacroEngines.dll
True
+
+ ..\packages\Umbraco.ModelsBuilder.3.0.0-RC1\lib\Umbraco.ModelsBuilder.dll
+ True
+
..\packages\UmbracoCms.Core.7.4.0-RC1\lib\umbraco.providers.dll
True
@@ -330,6 +350,9 @@
+
+
+
@@ -643,6 +666,7 @@
+
@@ -4565,7 +4589,6 @@
-
@@ -4574,6 +4597,10 @@
+
+
+
+
10.0
$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
diff --git a/OurUmbraco.Site/config/Dashboard.config b/OurUmbraco.Site/config/Dashboard.config
index 2441de12..40ecaf6d 100644
--- a/OurUmbraco.Site/config/Dashboard.config
+++ b/OurUmbraco.Site/config/Dashboard.config
@@ -106,4 +106,14 @@
+
+
+ developer
+
+
+
+ /App_Plugins/ModelsBuilder/modelsbuilder.htm
+
+
+
\ No newline at end of file
diff --git a/OurUmbraco.Site/packages.config b/OurUmbraco.Site/packages.config
index 389aca01..2de40636 100644
--- a/OurUmbraco.Site/packages.config
+++ b/OurUmbraco.Site/packages.config
@@ -32,6 +32,9 @@
+
+
+
@@ -47,6 +50,9 @@
+
+
+