diff --git a/src/Umbraco.Web.UI.Client/lib/umbraco/LegacyUmbClientMgr.js b/src/Umbraco.Web.UI.Client/lib/umbraco/LegacyUmbClientMgr.js
index 912c624ce4..5db8fc074e 100644
--- a/src/Umbraco.Web.UI.Client/lib/umbraco/LegacyUmbClientMgr.js
+++ b/src/Umbraco.Web.UI.Client/lib/umbraco/LegacyUmbClientMgr.js
@@ -364,6 +364,12 @@ Umbraco.Sys.registerNamespace("Umbraco.Application");
getRootScope().$emit("app.closeDialogs", undefined);
}
},
+ /* This is used for the package installer to call in order to reload all app assets so we don't have to reload the window */
+ _packageInstalled: function() {
+ var injector = getRootInjector();
+ var packageHelper = injector.get("packageHelper");
+ packageHelper.packageInstalled();
+ },
_debug: function(strMsg) {
if (this._isDebug) {
Sys.Debug.trace("UmbClientMgr: " + strMsg);
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/umbsections.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/umbsections.directive.js
index 349bf0a496..b6b59991b5 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/umbsections.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/umbsections.directive.js
@@ -65,6 +65,11 @@ function sectionsDirective($timeout, $window, navigationService, treeService, se
scope.currentSection = args.value;
}
});
+
+ eventsService.on("app.reInitialize", function (e, args) {
+ //re-load the sections if we're re-initializing (i.e. package installed)
+ loadSections();
+ });
//on page resize
window.onresize = calculateHeight;
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/assets.service.js b/src/Umbraco.Web.UI.Client/src/common/services/assets.service.js
index ef534fd7b1..dbf1d3fc14 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/assets.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/assets.service.js
@@ -41,7 +41,7 @@
*
*/
angular.module('umbraco.services')
-.factory('assetsService', function ($q, $log, angularHelper, umbRequestHelper, $rootScope) {
+.factory('assetsService', function ($q, $log, angularHelper, umbRequestHelper, $rootScope, $http) {
var initAssetsLoaded = false;
@@ -71,6 +71,23 @@ angular.module('umbraco.services')
return deferred.promise;
},
+ /** Internal method. This is used after installing a package to reload the application assets so we don't have to reload the whole window */
+ _reloadApplicationAssets: function() {
+
+ umbRequestHelper.resourcePromise(
+ $http.get(umbRequestHelper.getApiUrl("manifestAssetList", "", "")),
+ 'Failed to get manifest list').then(function(data) {
+
+ //ok so we have the list of assets, now we'll use yepnope to go get them. Anything that is already loaded should remain loaded
+ // and this should just load anything that is newly installed.
+
+ yepnope({
+ load: data
+ });
+
+ });
+ },
+
/**
* @ngdoc method
* @name umbraco.services.assetsService#loadCss
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/events.service.js b/src/Umbraco.Web.UI.Client/src/common/services/events.service.js
index 560b743a29..d050b62961 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/events.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/events.service.js
@@ -65,7 +65,7 @@ function eventsService($q, $rootScope) {
return $rootScope.$on(name, callback);
},
- /** pass in the result of subscribe to this method, or just call the method returned from subscribe to unsubscribe */
+ /** pass in the result of 'on' to this method, or just call the method returned from 'on' to unsubscribe */
unsubscribe: function(handle) {
if (angular.isFunction(handle)) {
handle();
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/util.service.js b/src/Umbraco.Web.UI.Client/src/common/services/util.service.js
index 5abc1116d6..8f47a2270d 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/util.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/util.service.js
@@ -1,5 +1,21 @@
/*Contains multiple services for various helper tasks */
+function packageHelper(assetsService, treeService, eventsService) {
+
+ return {
+
+ /** Called when a package is installed, this resets a bunch of data and ensures the new package assets are loaded in */
+ packageInstalled: function () {
+ assetsService._reloadApplicationAssets();
+ treeService.clearCache();
+ //send event
+ eventsService.emit("app.reInitialize");
+ }
+
+ };
+}
+angular.module('umbraco.services').factory('packageHelper', packageHelper);
+
function umbPhotoFolderHelper($compile, $log, $timeout, $filter, imageHelper, umbRequestHelper) {
return {
/** sets the image's url - will check if it is a folder or a real image */
diff --git a/src/Umbraco.Web.UI/umbraco/developer/Packages/installer.aspx b/src/Umbraco.Web.UI/umbraco/developer/Packages/installer.aspx
index 481a030bcc..6a94b46980 100644
--- a/src/Umbraco.Web.UI/umbraco/developer/Packages/installer.aspx
+++ b/src/Umbraco.Web.UI/umbraco/developer/Packages/installer.aspx
@@ -260,6 +260,14 @@
+
+ <%--This is a hack to fix this currently until we can replace the installer with a native angular editor
+ http://issues.umbraco.org/issue/U4-4011
+ --%>
+
+
All items in the package has been installed
diff --git a/src/Umbraco.Web/Editors/BackOfficeController.cs b/src/Umbraco.Web/Editors/BackOfficeController.cs
index 899229b9cf..8c3d3a6039 100644
--- a/src/Umbraco.Web/Editors/BackOfficeController.cs
+++ b/src/Umbraco.Web/Editors/BackOfficeController.cs
@@ -6,6 +6,7 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Web.Mvc;
using System.Web.UI;
+using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Umbraco.Core.Configuration;
using Umbraco.Core.IO;
@@ -68,6 +69,26 @@ namespace Umbraco.Web.Editors
return JavaScript(result);
}
+ ///
+ /// Returns a js array of all of the manifest assets
+ ///
+ ///
+ [UmbracoAuthorize(Order = 0)]
+ [HttpGet]
+ public JsonNetResult GetManifestAssetList()
+ {
+ var plugins = new DirectoryInfo(Server.MapPath("~/App_Plugins"));
+ var parser = new ManifestParser(plugins);
+ var initJs = new JsInitialization(parser);
+ var initCss = new CssInitialization(parser);
+ var jsResult = initJs.GetJavascriptInitializationArray(HttpContext, new JArray());
+ var cssResult = initCss.GetStylesheetInitializationArray(HttpContext);
+
+ ManifestParser.MergeJArrays(jsResult, cssResult);
+
+ return new JsonNetResult {Data = jsResult, Formatting = Formatting.Indented};
+ }
+
///
/// Returns the JavaScript object representing the static server variables javascript object
///
@@ -86,6 +107,7 @@ namespace Umbraco.Web.Editors
"umbracoUrls", new Dictionary
{
{"legacyTreeJs", Url.Action("LegacyTreeJs", "BackOffice")},
+ {"manifestAssetList", Url.Action("GetManifestAssetList", "BackOffice")},
//API URLs
{
"contentApiBaseUrl", Url.GetUmbracoApiServiceBaseUrl(
diff --git a/src/Umbraco.Web/Mvc/JsonNetResult.cs b/src/Umbraco.Web/Mvc/JsonNetResult.cs
new file mode 100644
index 0000000000..da6780451e
--- /dev/null
+++ b/src/Umbraco.Web/Mvc/JsonNetResult.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Web;
+using System.Web.Mvc;
+using Newtonsoft.Json;
+
+namespace Umbraco.Web.Mvc
+{
+
+ ///
+ /// Custom json result using newtonsoft json.net
+ ///
+ public class JsonNetResult : ActionResult
+ {
+ public Encoding ContentEncoding { get; set; }
+ public string ContentType { get; set; }
+ public object Data { get; set; }
+
+ public JsonSerializerSettings SerializerSettings { get; set; }
+ public Formatting Formatting { get; set; }
+
+ public JsonNetResult()
+ {
+ SerializerSettings = new JsonSerializerSettings();
+ }
+
+ public override void ExecuteResult(ControllerContext context)
+ {
+ if (context == null)
+ throw new ArgumentNullException("context");
+
+ HttpResponseBase response = context.HttpContext.Response;
+
+ response.ContentType = string.IsNullOrEmpty(ContentType) == false
+ ? ContentType
+ : "application/json";
+
+ if (ContentEncoding != null)
+ response.ContentEncoding = ContentEncoding;
+
+ if (Data != null)
+ {
+ var writer = new JsonTextWriter(response.Output) { Formatting = Formatting };
+
+ var serializer = JsonSerializer.Create(SerializerSettings);
+ serializer.Serialize(writer, Data);
+
+ writer.Flush();
+ }
+ }
+ }
+
+}
diff --git a/src/Umbraco.Web/UI/JavaScript/CssInitialization.cs b/src/Umbraco.Web/UI/JavaScript/CssInitialization.cs
index a483d7f776..c2b200604e 100644
--- a/src/Umbraco.Web/UI/JavaScript/CssInitialization.cs
+++ b/src/Umbraco.Web/UI/JavaScript/CssInitialization.cs
@@ -24,6 +24,13 @@ namespace Umbraco.Web.UI.JavaScript
/// Processes all found manifest files and outputs yepnope.injectcss calls for all css files found in all manifests
///
public string GetStylesheetInitialization(HttpContextBase httpContext)
+ {
+ var result = GetStylesheetInitializationArray(httpContext);
+
+ return ParseMain(result);
+ }
+
+ public JArray GetStylesheetInitializationArray(HttpContextBase httpContext)
{
var merged = new JArray();
foreach (var m in _parser.GetManifests())
@@ -37,7 +44,7 @@ namespace Umbraco.Web.UI.JavaScript
//now we need to merge in any found cdf declarations on property editors
ManifestParser.MergeJArrays(merged, ScanPropertyEditors(ClientDependencyType.Css, httpContext));
- return ParseMain(merged);
+ return merged;
}
diff --git a/src/Umbraco.Web/UI/JavaScript/JsInitialization.cs b/src/Umbraco.Web/UI/JavaScript/JsInitialization.cs
index e78a329db0..51c780cfc2 100644
--- a/src/Umbraco.Web/UI/JavaScript/JsInitialization.cs
+++ b/src/Umbraco.Web/UI/JavaScript/JsInitialization.cs
@@ -39,6 +39,15 @@ namespace Umbraco.Web.UI.JavaScript
/// Processes all found manifest files and outputs the main.js file containing all plugin manifests
///
public string GetJavascriptInitialization(HttpContextBase httpContext, JArray umbracoInit, JArray additionalJsFiles = null)
+ {
+ var result = GetJavascriptInitializationArray(httpContext, umbracoInit, additionalJsFiles);
+
+ return ParseMain(
+ result.ToString(),
+ IOHelper.ResolveUrl(SystemDirectories.Umbraco));
+ }
+
+ public JArray GetJavascriptInitializationArray(HttpContextBase httpContext, JArray umbracoInit, JArray additionalJsFiles = null)
{
foreach (var m in _parser.GetManifests())
{
@@ -57,9 +66,7 @@ namespace Umbraco.Web.UI.JavaScript
//now we need to merge in any found cdf declarations on property editors
ManifestParser.MergeJArrays(umbracoInit, ScanPropertyEditors(ClientDependencyType.Javascript, httpContext));
- return ParseMain(
- umbracoInit.ToString(),
- IOHelper.ResolveUrl(SystemDirectories.Umbraco));
+ return umbracoInit;
}
///
diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj
index 0a0573a4f5..ce74fb02a8 100644
--- a/src/Umbraco.Web/Umbraco.Web.csproj
+++ b/src/Umbraco.Web/Umbraco.Web.csproj
@@ -305,6 +305,7 @@
+
@@ -433,6 +434,9 @@
ASPXCodeBehind
+
+ ASPXCodeBehind
+ ASPXCodeBehind
@@ -1363,13 +1367,6 @@
notifications.aspx
-
- installer.aspx
- ASPXCodeBehind
-
-
- installer.aspx
- RegexWs.aspxASPXCodeBehind
@@ -1867,7 +1864,6 @@
ASPXCodeBehind
- ASPXCodeBehind
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx
deleted file mode 100644
index e271bf7413..0000000000
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx
+++ /dev/null
@@ -1,261 +0,0 @@
-<%@ Page Language="c#" MasterPageFile="../../masterpages/umbracoPage.Master" CodeBehind="installer.aspx.cs"
- AutoEventWireup="True" Inherits="umbraco.presentation.developer.packages.Installer"
- Trace="false" %>
-<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Only install packages from sources you know and trust!
-
- When installing an Umbraco package you should use the same caution as when you install
- an application on your computer.
-
- A malicious package could damage your Umbraco installation just like a malicious
- application can damage your computer.
-
-
- It is recommended to install from the official Umbraco package
- repository or a custom repository whenever it's possible.
-
- This repository requires authentication before you can download any packages from
- it.
- Please enter email and password to login.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Please note: Installing a package containing several items and
- files can take some time. Do not refresh the page or navigate away before, the installer
- notifies you the install is completed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Binary files in the package!
-
- Read more...
-
-
-
- This package contains .NET code. This is not unusual as .NET code
- is used for any advanced functionality on an Umbraco powered website.
-
- However, if you don't know the author of the package or are unsure why this package
- contains these files, it is adviced not to continue the installation.
-
-
- The Files in question:
-
-
-
-
-
-
-
-
-
-
- Macro Conflicts in the package!
-
- Read more...
-
-
-
- This package contains one or more macros which have the same alias as an existing one on your site, based on the Macro Alias.
-
-
- If you choose to continue your existing macros will be replaced with the ones from this package. If you do not want to overwrite your existing macros you will need to change their alias.
-
-
- The Macros in question:
-
-
-
-
-
-
-
-
-
-
- Template Conflicts in the package!
-
- Read more...
-
-
-
- This package contains one or more templates which have the same alias as an existing one on your site, based on the Template Alias.
-
-
- If you choose to continue your existing template will be replaced with the ones from this package. If you do not want to overwrite your existing templates you will need to change their alias.
-
-
- The Templates in question:
-
-
-
-
-
-
-
-
-
-
- Stylesheet Conflicts in the package!
-
- Read more...
-
-
-
- This package contains one or more stylesheets which have the same alias as an existing one on your site, based on the Stylesheet Name.
-
-
- If you choose to continue your existing stylesheets will be replaced with the ones from this package. If you do not want to overwrite your existing stylesheets you will need to change their name.
-
-
- The Stylesheets in question:
-
-
-
-
-
-
-
-
-
-
-
-
- Installing package, please wait...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- All items in the package has been installed
-
- Overview of what was installed can found under "installed package" in the developer
- section.
-
- Uninstall is available at the same location.
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs
index e18d46c625..a192176fda 100644
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs
+++ b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
@@ -53,9 +53,9 @@ namespace umbraco.presentation.developer.packages
}
//if we are actually in the middle of installing something... meaning we keep redirecting back to this page with
- // custom query strings
- // TODO: SD: This process needs to be fixed/changed/etc... to use the InstallPackageController
- // http://issues.umbraco.org/issue/U4-1047
+ // custom query strings
+ // TODO: SD: This process needs to be fixed/changed/etc... to use the InstallPackageController
+ // http://issues.umbraco.org/issue/U4-1047
if (!string.IsNullOrEmpty(Request.GetItemAsString("installing")))
{
HideAllPanes();
@@ -63,22 +63,22 @@ namespace umbraco.presentation.developer.packages
ProcessInstall(Request.GetItemAsString("installing")); //process the current step
}
- else if (tempFile.Value.IsNullOrWhiteSpace() //if we haven't downloaded the .umb temp file yet
- && (!Request.GetItemAsString("guid").IsNullOrWhiteSpace() && !Request.GetItemAsString("repoGuid").IsNullOrWhiteSpace()))
+ else if (tempFile.Value.IsNullOrWhiteSpace() //if we haven't downloaded the .umb temp file yet
+ && (!Request.GetItemAsString("guid").IsNullOrWhiteSpace() && !Request.GetItemAsString("repoGuid").IsNullOrWhiteSpace()))
{
//we'll fetch the local information we have about our repo, to find out what webservice to query.
- _repo = cms.businesslogic.packager.repositories.Repository.getByGuid(Request.GetItemAsString("repoGuid"));
-
+ _repo = cms.businesslogic.packager.repositories.Repository.getByGuid(Request.GetItemAsString("repoGuid"));
+
if (_repo != null && _repo.HasConnection())
{
//from the webservice we'll fetch some info about the package.
- cms.businesslogic.packager.repositories.Package pack = _repo.Webservice.PackageByGuid(Request.GetItemAsString("guid"));
+ cms.businesslogic.packager.repositories.Package pack = _repo.Webservice.PackageByGuid(Request.GetItemAsString("guid"));
//if the package is protected we will ask for the users credentials. (this happens every time they try to fetch anything)
if (!pack.Protected)
{
//if it isn't then go straigt to the accept licens screen
- tempFile.Value = _installer.Import(_repo.fetch(Request.GetItemAsString("guid")));
+ tempFile.Value = _installer.Import(_repo.fetch(Request.GetItemAsString("guid")));
UpdateSettings();
}
@@ -212,25 +212,25 @@ namespace umbraco.presentation.developer.packages
private void ProcessInstall(string currentStep)
{
- var dir = Request.GetItemAsString("dir");
+ var dir = Request.GetItemAsString("dir");
var packageId = 0;
- int.TryParse(Request.GetItemAsString("pId"), out packageId);
+ int.TryParse(Request.GetItemAsString("pId"), out packageId);
switch (currentStep)
{
case "businesslogic":
- //first load in the config from the temporary directory
- //this will ensure that the installer have access to all the new files and the package manifest
- _installer.LoadConfig(dir);
+ //first load in the config from the temporary directory
+ //this will ensure that the installer have access to all the new files and the package manifest
+ _installer.LoadConfig(dir);
_installer.InstallBusinessLogic(packageId, dir);
//making sure that publishing actions performed from the cms layer gets pushed to the presentation
library.RefreshContent();
-
+
if (!string.IsNullOrEmpty(_installer.Control))
{
- Response.Redirect("installer.aspx?installing=customInstaller&dir=" + dir + "&pId=" + packageId.ToString() + "&customControl=" + Server.UrlEncode(_installer.Control) + "&customUrl=" + Server.UrlEncode(_installer.Url));
+ Response.Redirect("installer.aspx?installing=customInstaller&dir=" + dir + "&pId=" + packageId.ToString() + "&customControl=" + Server.UrlEncode(_installer.Control) + "&customUrl=" + Server.UrlEncode(_installer.Url));
}
else
{
@@ -238,50 +238,50 @@ namespace umbraco.presentation.developer.packages
}
break;
case "customInstaller":
- var customControl = Request.GetItemAsString("customControl");
+ var customControl = Request.GetItemAsString("customControl");
- if (!customControl.IsNullOrWhiteSpace())
+ if (!customControl.IsNullOrWhiteSpace())
{
HideAllPanes();
- _configControl = new System.Web.UI.UserControl().LoadControl(SystemDirectories.Root + customControl);
+ _configControl = new System.Web.UI.UserControl().LoadControl(SystemDirectories.Root + customControl);
_configControl.ID = "packagerConfigControl";
pane_optional.Controls.Add(_configControl);
pane_optional.Visible = true;
- if (!IsPostBack)
- {
- //We still need to clean everything up which is normally done in the Finished Action
- PerformPostInstallCleanup(packageId, dir);
- }
-
+ if (!IsPostBack)
+ {
+ //We still need to clean everything up which is normally done in the Finished Action
+ PerformPostInstallCleanup(packageId, dir);
+ }
+
}
else
{
//if the custom installer control is empty here (though it should never be because we've already checked for it previously)
- //then we should run the normal FinishedAction
- PerformFinishedAction(packageId, dir, Request.GetItemAsString("customUrl"));
+ //then we should run the normal FinishedAction
+ PerformFinishedAction(packageId, dir, Request.GetItemAsString("customUrl"));
}
break;
case "finished":
- PerformFinishedAction(packageId, dir, Request.GetItemAsString("customUrl"));
+ PerformFinishedAction(packageId, dir, Request.GetItemAsString("customUrl"));
break;
default:
break;
}
}
- ///
- /// Perform the 'Finished' action of the installer
- ///
- ///
- ///
- ///
- private void PerformFinishedAction(int packageId, string dir, string url)
- {
- HideAllPanes();
- //string url = _installer.Url;
+ ///
+ /// Perform the 'Finished' action of the installer
+ ///
+ ///
+ ///
+ ///
+ private void PerformFinishedAction(int packageId, string dir, string url)
+ {
+ HideAllPanes();
+ //string url = _installer.Url;
string packageViewUrl = "installedPackage.aspx?id=" + packageId.ToString();
bt_viewInstalledPackage.OnClientClick = "document.location = '" + packageViewUrl + "'; return false;";
@@ -292,23 +292,23 @@ namespace umbraco.presentation.developer.packages
pane_success.Visible = true;
- PerformPostInstallCleanup(packageId, dir);
- }
+ PerformPostInstallCleanup(packageId, dir);
+ }
- ///
- /// Runs Post install actions such as clearning any necessary cache, reloading the correct tree nodes, etc...
- ///
- ///
- ///
- private void PerformPostInstallCleanup(int packageId, string dir)
- {
- BasePage.Current.ClientTools.ReloadActionNode(true, true);
- _installer.InstallCleanUp(packageId, dir);
- //clear the tree cache
- ClientTools.ClearClientTreeCache().RefreshTree("packager");
- TreeDefinitionCollection.Instance.ReRegisterTrees();
- BizLogicAction.ReRegisterActionsAndHandlers();
- }
+ ///
+ /// Runs Post install actions such as clearning any necessary cache, reloading the correct tree nodes, etc...
+ ///
+ ///
+ ///
+ private void PerformPostInstallCleanup(int packageId, string dir)
+ {
+ BasePage.Current.ClientTools.ReloadActionNode(true, true);
+ _installer.InstallCleanUp(packageId, dir);
+ //clear the tree cache
+ ClientTools.ClearClientTreeCache().RefreshTree("packager");
+ TreeDefinitionCollection.Instance.ReRegisterTrees();
+ BizLogicAction.ReRegisterActionsAndHandlers();
+ }
//this accepts the package, creates the manifest and then installs the files.
protected void startInstall(object sender, System.EventArgs e)
@@ -323,11 +323,11 @@ namespace umbraco.presentation.developer.packages
//and then copy over the files. This will take some time if it contains .dlls that will reboot the system..
_installer.InstallFiles(pId, tempFile.Value);
- //TODO: This is a total hack, we need to refactor the installer to be just like the package installer during the
- // install process and use AJAX to ensure that app pool restarts and restarts PROPERLY before installing the business
- // logic. Until then, we are going to put a thread sleep here for 2 seconds in hopes that we always fluke out and the app
- // pool will be restarted after redirect.
- Thread.Sleep(2000);
+ //TODO: This is a total hack, we need to refactor the installer to be just like the package installer during the
+ // install process and use AJAX to ensure that app pool restarts and restarts PROPERLY before installing the business
+ // logic. Until then, we are going to put a thread sleep here for 2 seconds in hopes that we always fluke out and the app
+ // pool will be restarted after redirect.
+ Thread.Sleep(2000);
Response.Redirect("installer.aspx?installing=businesslogic&dir=" + tempFile.Value + "&pId=" + pId.ToString());
}
@@ -341,5 +341,423 @@ namespace umbraco.presentation.developer.packages
pane_success.Visible = false;
pane_upload.Visible = false;
}
+
+ ///
+ /// Panel1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.UmbracoPanel Panel1;
+
+ ///
+ /// fb control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.Feedback fb;
+
+ ///
+ /// pane_upload control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.Pane pane_upload;
+
+ ///
+ /// PropertyPanel9 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel9;
+
+ ///
+ /// file1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlInputFile file1;
+
+ ///
+ /// ButtonLoadPackage control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Button ButtonLoadPackage;
+
+ ///
+ /// progbar1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.ProgressBar progbar1;
+
+ ///
+ /// pane_authenticate control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.Pane pane_authenticate;
+
+ ///
+ /// tb_email control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.TextBox tb_email;
+
+ ///
+ /// PropertyPanel1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel1;
+
+ ///
+ /// tb_password control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.TextBox tb_password;
+
+ ///
+ /// PropertyPanel2 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel2;
+
+ ///
+ /// Button1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Button Button1;
+
+ ///
+ /// pane_acceptLicense control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Panel pane_acceptLicense;
+
+ ///
+ /// pane_acceptLicenseInner control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.Pane pane_acceptLicenseInner;
+
+ ///
+ /// PropertyPanel3 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel3;
+
+ ///
+ /// LabelName control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label LabelName;
+
+ ///
+ /// PropertyPanel5 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel5;
+
+ ///
+ /// LabelAuthor control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label LabelAuthor;
+
+ ///
+ /// PropertyPanel4 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel4;
+
+ ///
+ /// LabelMore control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label LabelMore;
+
+ ///
+ /// PropertyPanel6 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel6;
+
+ ///
+ /// LabelLicense control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label LabelLicense;
+
+ ///
+ /// PropertyPanel7 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel7;
+
+ ///
+ /// acceptCheckbox control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.CheckBox acceptCheckbox;
+
+ ///
+ /// PropertyPanel8 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel PropertyPanel8;
+
+ ///
+ /// readme control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Literal readme;
+
+ ///
+ /// pp_unsecureFiles control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel pp_unsecureFiles;
+
+ ///
+ /// lt_files control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Literal lt_files;
+
+ ///
+ /// pp_macroConflicts control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel pp_macroConflicts;
+
+ ///
+ /// ltrMacroAlias control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Literal ltrMacroAlias;
+
+ ///
+ /// pp_templateConflicts control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel pp_templateConflicts;
+
+ protected global::umbraco.uicontrols.PropertyPanel BinaryFileErrorsPanel;
+ protected global::umbraco.uicontrols.PropertyPanel LegacyPropertyEditorPanel;
+ protected global::System.Web.UI.WebControls.Literal BinaryFileErrorReport;
+
+ ///
+ /// ltrTemplateAlias control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Literal ltrTemplateAlias;
+
+ ///
+ /// pp_stylesheetConflicts control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.PropertyPanel pp_stylesheetConflicts;
+
+ ///
+ /// ltrStylesheetNames control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Literal ltrStylesheetNames;
+
+ ///
+ /// _progbar1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.ProgressBar _progbar1;
+
+ ///
+ /// ButtonInstall control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Button ButtonInstall;
+
+ ///
+ /// pane_installing control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.Pane pane_installing;
+
+ ///
+ /// progBar2 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.ProgressBar progBar2;
+
+ ///
+ /// lit_installStatus control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Literal lit_installStatus;
+
+ ///
+ /// pane_optional control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.Pane pane_optional;
+
+ ///
+ /// pane_success control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::umbraco.uicontrols.Pane pane_success;
+
+ ///
+ /// bt_viewInstalledPackage control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Button bt_viewInstalledPackage;
+
+ ///
+ /// lit_authorUrl control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Literal lit_authorUrl;
+
+ ///
+ /// tempFile control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlInputHidden tempFile;
+
+ ///
+ /// processState control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlInputHidden processState;
}
}
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.designer.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.designer.cs
deleted file mode 100644
index abe1f67506..0000000000
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.designer.cs
+++ /dev/null
@@ -1,433 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace umbraco.presentation.developer.packages {
-
-
- public partial class Installer {
-
- ///
- /// Panel1 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.UmbracoPanel Panel1;
-
- ///
- /// fb control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.Feedback fb;
-
- ///
- /// pane_upload control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.Pane pane_upload;
-
- ///
- /// PropertyPanel9 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel9;
-
- ///
- /// file1 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.HtmlControls.HtmlInputFile file1;
-
- ///
- /// ButtonLoadPackage control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Button ButtonLoadPackage;
-
- ///
- /// progbar1 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.ProgressBar progbar1;
-
- ///
- /// pane_authenticate control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.Pane pane_authenticate;
-
- ///
- /// tb_email control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.TextBox tb_email;
-
- ///
- /// PropertyPanel1 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel1;
-
- ///
- /// tb_password control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.TextBox tb_password;
-
- ///
- /// PropertyPanel2 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel2;
-
- ///
- /// Button1 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Button Button1;
-
- ///
- /// pane_acceptLicense control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Panel pane_acceptLicense;
-
- ///
- /// pane_acceptLicenseInner control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.Pane pane_acceptLicenseInner;
-
- ///
- /// PropertyPanel3 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel3;
-
- ///
- /// LabelName control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Label LabelName;
-
- ///
- /// PropertyPanel5 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel5;
-
- ///
- /// LabelAuthor control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Label LabelAuthor;
-
- ///
- /// PropertyPanel4 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel4;
-
- ///
- /// LabelMore control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Label LabelMore;
-
- ///
- /// PropertyPanel6 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel6;
-
- ///
- /// LabelLicense control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Label LabelLicense;
-
- ///
- /// PropertyPanel7 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel7;
-
- ///
- /// acceptCheckbox control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.CheckBox acceptCheckbox;
-
- ///
- /// PropertyPanel8 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel PropertyPanel8;
-
- ///
- /// readme control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Literal readme;
-
- ///
- /// pp_unsecureFiles control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel pp_unsecureFiles;
-
- ///
- /// lt_files control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Literal lt_files;
-
- ///
- /// pp_macroConflicts control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel pp_macroConflicts;
-
- ///
- /// ltrMacroAlias control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Literal ltrMacroAlias;
-
- ///
- /// pp_templateConflicts control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel pp_templateConflicts;
-
- protected global::umbraco.uicontrols.PropertyPanel BinaryFileErrorsPanel;
- protected global::umbraco.uicontrols.PropertyPanel LegacyPropertyEditorPanel;
- protected global::System.Web.UI.WebControls.Literal BinaryFileErrorReport;
-
- ///
- /// ltrTemplateAlias control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Literal ltrTemplateAlias;
-
- ///
- /// pp_stylesheetConflicts control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.PropertyPanel pp_stylesheetConflicts;
-
- ///
- /// ltrStylesheetNames control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Literal ltrStylesheetNames;
-
- ///
- /// _progbar1 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.ProgressBar _progbar1;
-
- ///
- /// ButtonInstall control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Button ButtonInstall;
-
- ///
- /// pane_installing control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.Pane pane_installing;
-
- ///
- /// progBar2 control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.ProgressBar progBar2;
-
- ///
- /// lit_installStatus control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Literal lit_installStatus;
-
- ///
- /// pane_optional control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.Pane pane_optional;
-
- ///
- /// pane_success control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::umbraco.uicontrols.Pane pane_success;
-
- ///
- /// bt_viewInstalledPackage control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Button bt_viewInstalledPackage;
-
- ///
- /// lit_authorUrl control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Literal lit_authorUrl;
-
- ///
- /// tempFile control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.HtmlControls.HtmlInputHidden tempFile;
-
- ///
- /// processState control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.HtmlControls.HtmlInputHidden processState;
- }
-}