Initial commit of refactoring of package installer for the installer process. Converted a few webforms pages/controls to the new format, created

new JS class to manage the installation, created new MVC controller for managing the ajax installation
This commit is contained in:
Shannon Deminick
2012-10-16 01:33:35 +05:00
parent 0e0c4fcb1f
commit 6f778c26d1
21 changed files with 954 additions and 883 deletions

View File

@@ -32,4 +32,6 @@ using System.Runtime.InteropServices;
[assembly: InternalsVisibleTo("Umbraco.Tests")]
[assembly: InternalsVisibleTo("Umbraco.Core")]
[assembly: InternalsVisibleTo("Umbraco.Web.UI")]
[assembly: InternalsVisibleTo("Our.Umbraco.AmazonS3FileSystem")]

View File

@@ -259,6 +259,18 @@
<Compile Include="..\SolutionInfo.cs">
<Link>Properties\SolutionInfo.cs</Link>
</Compile>
<Compile Include="install\Default.aspx.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="install\Default.aspx.designer.cs">
<DependentUpon>default.aspx</DependentUpon>
</Compile>
<Compile Include="install\steps\Skinning\LoadStarterKits.ascx.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="install\steps\Skinning\LoadStarterKits.ascx.designer.cs">
<DependentUpon>loadStarterKits.ascx</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="umbraco\developer\Macros\EditMacro.aspx.cs">
<SubType>ASPXCodeBehind</SubType>
@@ -599,6 +611,7 @@
<Content Include="umbraco_client\Installer\images\btn-buisness-repeat.png" />
<Content Include="umbraco_client\Installer\images\btn-confirm.png" />
<Content Include="umbraco_client\Installer\images\pbar.gif" />
<Content Include="umbraco_client\Installer\js\PackageInstaller.js" />
<Content Include="umbraco_client\splitbutton\jquery.splitbutton.js" />
<Content Include="umbraco_client\tags\css\jquery.tagsinput.css" />
<Content Include="umbraco_client\tags\js\jquery.tagsinput.js" />

View File

@@ -1,282 +1,251 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false" />
<section name="urlrewritingnet" restartOnExternalChanges="true" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
<section name="microsoft.scripting" type="Microsoft.Scripting.Hosting.Configuration.Section, Microsoft.Scripting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" />
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="umbraco.presentation.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
<section name="clientDependency" type="ClientDependency.Core.Config.ClientDependencySection, ClientDependency.Core" requirePermission="false"/>
<section name="Examine" type="Examine.Config.ExamineSettings, Examine" requirePermission="false"/>
<section name="ExamineLuceneIndexSets" type="UmbracoExamine.Config.ExamineLuceneIndexes, UmbracoExamine" requirePermission="false"/>
<section name="FileSystemProviders" type="Umbraco.Core.Configuration.FileSystemProvidersSection, Umbraco.Core" requirePermission="false"/>
<section name="BaseRestExtensions" type="Umbraco.Web.BaseRest.Configuration.BaseRestSection, umbraco" requirePermission="false" />
<!-- Added in Umbraco 4.6.2 -->
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
<!-- End of added in Umbraco 4.6.2 -->
</configSections>
<log4net configSource="config\log4net.config" />
<urlrewritingnet configSource="config\UrlRewriting.config" />
<microsoft.scripting configSource="config\scripting.config" />
<clientDependency configSource="config\ClientDependency.config" />
<Examine configSource="config\ExamineSettings.config" />
<ExamineLuceneIndexSets configSource="config\ExamineIndex.config" />
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false" />
<section name="urlrewritingnet" restartOnExternalChanges="true" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
<section name="microsoft.scripting" type="Microsoft.Scripting.Hosting.Configuration.Section, Microsoft.Scripting, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" />
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="umbraco.presentation.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
<section name="clientDependency" type="ClientDependency.Core.Config.ClientDependencySection, ClientDependency.Core" requirePermission="false" />
<section name="Examine" type="Examine.Config.ExamineSettings, Examine" requirePermission="false" />
<section name="ExamineLuceneIndexSets" type="UmbracoExamine.Config.ExamineLuceneIndexes, UmbracoExamine" requirePermission="false" />
<section name="FileSystemProviders" type="Umbraco.Core.Configuration.FileSystemProvidersSection, Umbraco.Core" requirePermission="false" />
<section name="BaseRestExtensions" type="Umbraco.Web.BaseRest.Configuration.BaseRestSection, umbraco" requirePermission="false" />
<!-- Added in Umbraco 4.6.2 -->
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
<!-- End of added in Umbraco 4.6.2 -->
</configSections>
<log4net configSource="config\log4net.config" />
<urlrewritingnet configSource="config\UrlRewriting.config" />
<microsoft.scripting configSource="config\scripting.config" />
<clientDependency configSource="config\ClientDependency.config" />
<Examine configSource="config\ExamineSettings.config" />
<ExamineLuceneIndexSets configSource="config\ExamineIndex.config" />
<FileSystemProviders configSource="config\FileSystemProviders.config" />
<BaseRestExtensions configSource="config\BaseRestExtensions.config" />
<appSettings>
<add key="umbracoDbDSN" value="server=.\sqlexpress;database=v4;user id=sa;password=test;Application Name=Umbraco41"/>
<add key="umbracoConfigurationStatus" value="4.10.0"/>
<add key="umbracoReservedUrls" value="~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd" />
<add key="umbracoReservedPaths" value="~/umbraco,~/install/" />
<add key="umbracoContentXML" value="~/App_Data/umbraco.config"/>
<add key="umbracoStorageDirectory" value="~/App_Data"/>
<add key="umbracoPath" value="~/umbraco" />
<add key="umbracoEnableStat" value="false" />
<add key="umbracoHideTopLevelNodeFromPath" value="true" />
<add key="umbracoEditXhtmlMode" value="true" />
<add key="umbracoUseDirectoryUrls" value="false" />
<add key="umbracoDebugMode" value="true" />
<add key="umbracoTimeOutInMinutes" value="20" />
<add key="umbracoVersionCheckPeriod" value="7" />
<add key="umbracoDisableXsltExtensions" value="true" />
<add key="umbracoDefaultUILanguage" value="en" />
<add key="umbracoProfileUrl" value="profiler" />
<add key="umbracoUseSSL" value="false" />
<add key="umbracoUseMediumTrust" value="false" />
<!--
<BaseRestExtensions configSource="config\BaseRestExtensions.config" />
<appSettings>
<add key="umbracoDbDSN" value="server=.\sqlexpress;database=v4;user id=sa;password=test" />
<add key="umbracoConfigurationStatus" value="" />
<add key="umbracoReservedUrls" value="~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd" />
<add key="umbracoReservedPaths" value="~/umbraco,~/install/" />
<add key="umbracoContentXML" value="~/App_Data/umbraco.config" />
<add key="umbracoStorageDirectory" value="~/App_Data" />
<add key="umbracoPath" value="~/umbraco" />
<add key="umbracoEnableStat" value="false" />
<add key="umbracoHideTopLevelNodeFromPath" value="true" />
<add key="umbracoEditXhtmlMode" value="true" />
<add key="umbracoUseDirectoryUrls" value="false" />
<add key="umbracoDebugMode" value="true" />
<add key="umbracoTimeOutInMinutes" value="20" />
<add key="umbracoVersionCheckPeriod" value="7" />
<add key="umbracoDisableXsltExtensions" value="true" />
<add key="umbracoDefaultUILanguage" value="en" />
<add key="umbracoProfileUrl" value="profiler" />
<add key="umbracoUseSSL" value="false" />
<add key="umbracoUseMediumTrust" value="false" />
<!--
Set this to true to enable storing the xml cache locally to the IIS server even if the app files are stored centrally on a SAN/NAS
Alex Norcliffe 2010 02 for 4.1
-->
<add key="umbracoContentXMLUseLocalTemp" value="false"/>
<!-- Added in Umbraco 4.6.2 -->
<add key="webpages:Enabled" value="false"/>
<add key="enableSimpleMembership" value="false"/>
<add key="autoFormsAuthentication" value="false"/>
<!-- End of added in Umbraco 4.6.2 -->
<add key="log4net.Config" value="config\log4net.config" />
</appSettings>
<system.net>
<mailSettings>
<smtp>
<network host="127.0.0.1" userName="username" password="password" />
</smtp>
</mailSettings>
</system.net>
<connectionStrings>
<remove name="LocalSqlServer" />
<!--<add name="LocalSqlServer" connectionString="server=.\sqlexpress;database=aspnetdb;user id=DBUSER;password=DBPASSWORD" providerName="System.Data.SqlClient"/>-->
</connectionStrings>
<system.web>
<customErrors mode="RemoteOnly" />
<trace enabled="true" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" />
<xhtmlConformance mode="Strict" />
<httpRuntime requestValidationMode="2.0" />
<pages enableEventValidation="false">
<!-- ASPNETAJAX -->
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add tagPrefix="umbraco" namespace="umbraco.presentation.templateControls" assembly="umbraco" />
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</controls>
</pages>
<httpModules>
<!-- URL REWRTIER -->
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
<!-- UMBRACO -->
<!--<add name="umbracoRequestModule" type="umbraco.presentation.requestModule"/>
<add key="umbracoContentXMLUseLocalTemp" value="false" />
<!-- Added in Umbraco 4.6.2 -->
<add key="webpages:Enabled" value="false" />
<add key="enableSimpleMembership" value="false" />
<add key="autoFormsAuthentication" value="false" />
<!-- End of added in Umbraco 4.6.2 -->
<add key="log4net.Config" value="config\log4net.config" />
</appSettings>
<system.net>
<mailSettings>
<smtp>
<network host="127.0.0.1" userName="username" password="password" />
</smtp>
</mailSettings>
</system.net>
<connectionStrings>
<remove name="LocalSqlServer" />
<!--<add name="LocalSqlServer" connectionString="server=.\sqlexpress;database=aspnetdb;user id=DBUSER;password=DBPASSWORD" providerName="System.Data.SqlClient"/>-->
</connectionStrings>
<system.web>
<customErrors mode="RemoteOnly" />
<trace enabled="true" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" />
<xhtmlConformance mode="Strict" />
<httpRuntime requestValidationMode="2.0" />
<pages enableEventValidation="false">
<!-- ASPNETAJAX -->
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add tagPrefix="umbraco" namespace="umbraco.presentation.templateControls" assembly="umbraco" />
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</controls>
</pages>
<httpModules>
<!-- URL REWRTIER -->
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
<!-- UMBRACO -->
<!--<add name="umbracoRequestModule" type="umbraco.presentation.requestModule"/>
<add name="viewstateMoverModule" type="umbraco.presentation.viewstateMoverModule"/>
<add name="umbracoBaseRequestModule" type="umbraco.presentation.umbracobase.requestModule"/>-->
<add name=" UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
<!-- ASPNETAJAX -->
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<!-- CLIENT DEPENDENCY -->
<add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, ClientDependency.Core"/>
</httpModules>
<httpHandlers>
<remove verb="*" path="*.asmx" />
<!-- ASPNETAJAX -->
<add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
<add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
<!-- UMBRACO CHANNELS -->
<add verb="*" path="umbraco/channels.aspx" type="umbraco.presentation.channels.api, umbraco" />
<add verb="*" path="umbraco/channels/word.aspx" type="umbraco.presentation.channels.wordApi, umbraco" />
<!-- CLIENT DEPENDENCY -->
<add verb="*" path="DependencyHandler.axd" type="ClientDependency.Core.CompositeFiles.CompositeDependencyHandler, ClientDependency.Core "/>
<!-- SPELL CHECKER -->
<add verb="GET,HEAD,POST" path="GoogleSpellChecker.ashx" type="umbraco.presentation.umbraco_client.tinymce3.plugins.spellchecker.GoogleSpellChecker,umbraco" />
</httpHandlers>
<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.0">
<assemblies>
<!-- ASP.NET 4.0 Assemblies -->
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
<!-- Added in Umbraco 4.6.2 -->
<buildProviders>
<add extension=".cshtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines"/>
<add extension=".vbhtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines"/>
<add extension=".razor" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines"/>
</buildProviders>
<!-- End of added in Umbraco 4.6.2 -->
</compilation>
<authentication mode="Forms">
<forms name="yourAuthCookie" loginUrl="login.aspx" protection="All" path="/" />
</authentication>
<authorization>
<allow users="?" />
</authorization>
<!-- Membership Provider -->
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear/>
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />
</providers>
</membership>
<!-- added by NH to support membership providers in access layer -->
<roleManager enabled="true" defaultProvider="UmbracoRoleProvider">
<providers>
<clear/>
<add name="UmbracoRoleProvider" type="umbraco.providers.members.UmbracoRoleProvider" />
</providers>
</roleManager>
<!-- Sitemap provider-->
<siteMap defaultProvider="UmbracoSiteMapProvider" enabled="true">
<providers>
<clear/>
<add name="UmbracoSiteMapProvider" type="umbraco.presentation.nodeFactory.UmbracoSiteMapProvider" defaultDescriptionAlias="description" securityTrimmingEnabled="true" />
</providers>
</siteMap>
</system.web>
<!-- ASPNETAJAX -->
<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="true" enableCaching="true" />
</scripting>
</system.web.extensions>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="ScriptModule" />
<remove name="UrlRewriteModule" />
<!--<remove name="umbracoRequestModule"/>
<add name=" UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
<!-- ASPNETAJAX -->
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<!-- CLIENT DEPENDENCY -->
<add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, ClientDependency.Core" />
</httpModules>
<httpHandlers>
<remove verb="*" path="*.asmx" />
<!-- ASPNETAJAX -->
<add verb="*" path="*.asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
<add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
<!-- UMBRACO CHANNELS -->
<add verb="*" path="umbraco/channels.aspx" type="umbraco.presentation.channels.api, umbraco" />
<add verb="*" path="umbraco/channels/word.aspx" type="umbraco.presentation.channels.wordApi, umbraco" />
<!-- CLIENT DEPENDENCY -->
<add verb="*" path="DependencyHandler.axd" type="ClientDependency.Core.CompositeFiles.CompositeDependencyHandler, ClientDependency.Core " />
<!-- SPELL CHECKER -->
<add verb="GET,HEAD,POST" path="GoogleSpellChecker.ashx" type="umbraco.presentation.umbraco_client.tinymce3.plugins.spellchecker.GoogleSpellChecker,umbraco" />
</httpHandlers>
<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.0">
<assemblies>
<!-- ASP.NET 4.0 Assemblies -->
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
<!-- Added in Umbraco 4.6.2 -->
<buildProviders>
<add extension=".cshtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
<add extension=".vbhtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
<add extension=".razor" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
</buildProviders>
<!-- End of added in Umbraco 4.6.2 -->
</compilation>
<authentication mode="Forms">
<forms name="yourAuthCookie" loginUrl="login.aspx" protection="All" path="/" />
</authentication>
<authorization>
<allow users="?" />
</authorization>
<!-- Membership Provider -->
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />
</providers>
</membership>
<!-- added by NH to support membership providers in access layer -->
<roleManager enabled="true" defaultProvider="UmbracoRoleProvider">
<providers>
<clear />
<add name="UmbracoRoleProvider" type="umbraco.providers.members.UmbracoRoleProvider" />
</providers>
</roleManager>
<!-- Sitemap provider-->
<siteMap defaultProvider="UmbracoSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="UmbracoSiteMapProvider" type="umbraco.presentation.nodeFactory.UmbracoSiteMapProvider" defaultDescriptionAlias="description" securityTrimmingEnabled="true" />
</providers>
</siteMap>
</system.web>
<!-- ASPNETAJAX -->
<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="true" enableCaching="true" />
</scripting>
</system.web.extensions>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="ScriptModule" />
<remove name="UrlRewriteModule" />
<!--<remove name="umbracoRequestModule"/>
<remove name="viewstateMoverModule"/>
<remove name="umbracoBaseRequestModule"/>-->
<remove name="UmbracoModule" />
<remove name="ClientDependencyModule" />
<!-- Needed for login/membership to work on homepage (as per http://stackoverflow.com/questions/218057/httpcontext-current-session-is-null-when-routing-requests) -->
<remove name="FormsAuthentication" />
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
<!--<add name="umbracoRequestModule" type="umbraco.presentation.requestModule"/>
<remove name="UmbracoModule" />
<remove name="ClientDependencyModule" />
<!-- Needed for login/membership to work on homepage (as per http://stackoverflow.com/questions/218057/httpcontext-current-session-is-null-when-routing-requests) -->
<remove name="FormsAuthentication" />
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
<!--<add name="umbracoRequestModule" type="umbraco.presentation.requestModule"/>
<add name="viewstateMoverModule" type="umbraco.presentation.viewstateMoverModule"/>
<add name="umbracoBaseRequestModule" type="umbraco.presentation.umbracobase.requestModule"/>-->
<add name=" UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, ClientDependency.Core"/>
<!-- Needed for login/membership to work on homepage (as per http://stackoverflow.com/questions/218057/httpcontext-current-session-is-null-when-routing-requests) -->
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/>
</modules>
<handlers accessPolicy="Read, Write, Script, Execute">
<remove name="WebServiceHandlerFactory-Integrated" />
<remove name="ScriptHandlerFactory" />
<remove name="ScriptHandlerFactoryAppServices" />
<remove name="ScriptResource" />
<remove name="Channels" />
<remove name="Channels_Word" />
<remove name="ClientDependency" />
<remove name="SpellChecker" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" name="Channels" preCondition="integratedMode" path="umbraco/channels.aspx" type="umbraco.presentation.channels.api, umbraco" />
<add verb="*" name="Channels_Word" preCondition="integratedMode" path="umbraco/channels/word.aspx" type="umbraco.presentation.channels.wordApi, umbraco" />
<add verb="*" name="ClientDependency" preCondition="integratedMode" path="DependencyHandler.axd" type="ClientDependency.Core.CompositeFiles.CompositeDependencyHandler, ClientDependency.Core "/>
<add verb="GET,HEAD,POST" preCondition="integratedMode" name="SpellChecker" path="GoogleSpellChecker.ashx" type="umbraco.presentation.umbraco_client.tinymce3.plugins.spellchecker.GoogleSpellChecker,umbraco"/>
</handlers>
<!-- Adobe AIR mime type -->
<staticContent>
<remove fileExtension=".air" />
<mimeMap fileExtension=".air" mimeType="application/vnd.adobe.air-application-installer-package+zip" />
</staticContent>
</system.webServer>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v4.0" />
<providerOption name="WarnAsError" value="false" />
</compiler>
</compilers>
</system.codedom>
<runtime>
<!-- Old asp.net ajax assembly bindings -->
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<!-- Added in Umbraco 4.6.2 -->
<system.web.webPages.razor>
<host factoryType="umbraco.MacroEngines.RazorUmbracoFactory, umbraco.MacroEngines"/>
<pages pageBaseType="umbraco.MacroEngines.DynamicNodeContext">
<namespaces>
<add namespace="Microsoft.Web.Helpers" />
<add namespace="umbraco" />
<add namespace="Examine" />
</namespaces>
</pages>
</system.web.webPages.razor>
<!-- End of added in Umbraco 4.6.2 -->
<add name=" UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, ClientDependency.Core" />
<!-- Needed for login/membership to work on homepage (as per http://stackoverflow.com/questions/218057/httpcontext-current-session-is-null-when-routing-requests) -->
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</modules>
<handlers accessPolicy="Read, Write, Script, Execute">
<remove name="WebServiceHandlerFactory-Integrated" />
<remove name="ScriptHandlerFactory" />
<remove name="ScriptHandlerFactoryAppServices" />
<remove name="ScriptResource" />
<remove name="Channels" />
<remove name="Channels_Word" />
<remove name="ClientDependency" />
<remove name="SpellChecker" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" name="Channels" preCondition="integratedMode" path="umbraco/channels.aspx" type="umbraco.presentation.channels.api, umbraco" />
<add verb="*" name="Channels_Word" preCondition="integratedMode" path="umbraco/channels/word.aspx" type="umbraco.presentation.channels.wordApi, umbraco" />
<add verb="*" name="ClientDependency" preCondition="integratedMode" path="DependencyHandler.axd" type="ClientDependency.Core.CompositeFiles.CompositeDependencyHandler, ClientDependency.Core " />
<add verb="GET,HEAD,POST" preCondition="integratedMode" name="SpellChecker" path="GoogleSpellChecker.ashx" type="umbraco.presentation.umbraco_client.tinymce3.plugins.spellchecker.GoogleSpellChecker,umbraco" />
</handlers>
<!-- Adobe AIR mime type -->
<staticContent>
<remove fileExtension=".air" />
<mimeMap fileExtension=".air" mimeType="application/vnd.adobe.air-application-installer-package+zip" />
</staticContent>
</system.webServer>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v4.0" />
<providerOption name="WarnAsError" value="false" />
</compiler>
</compilers>
</system.codedom>
<runtime>
<!-- Old asp.net ajax assembly bindings -->
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<!-- Added in Umbraco 4.6.2 -->
<system.web.webPages.razor>
<host factoryType="umbraco.MacroEngines.RazorUmbracoFactory, umbraco.MacroEngines" />
<pages pageBaseType="umbraco.MacroEngines.DynamicNodeContext">
<namespaces>
<add namespace="Microsoft.Web.Helpers" />
<add namespace="umbraco" />
<add namespace="Examine" />
</namespaces>
</pages>
</system.web.webPages.razor>
<!-- End of added in Umbraco 4.6.2 -->
</configuration>

View File

@@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Umbraco.Web.UI.Install
{
public partial class Default : global::umbraco.presentation.install._default
{
}
}

View File

@@ -0,0 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Umbraco.Web.UI.Install {
public partial class Default {
}
}

View File

@@ -1,4 +1,4 @@
<%@ Page Language="c#" CodeBehind="default.aspx.cs" AutoEventWireup="True" Inherits="umbraco.presentation.install._default" EnableViewState="False" %>
<%@ Page Language="c#" CodeBehind="Default.aspx.cs" AutoEventWireup="True" Inherits="Umbraco.Web.UI.Install.Default" EnableViewState="False" %>
<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
<%@ Register Src="~/install/Title.ascx" TagPrefix="umb1" TagName="PageTitle" %>
@@ -15,12 +15,15 @@
<link media="all" type="text/css" rel="stylesheet" href="../umbraco_client/installer/css/reset.css" />
<link media="all" rel="stylesheet" href="../umbraco_client/installer/css/all.css">
<link media="all" type="text/css" rel="stylesheet" href="../umbraco_client/installer/css/form.css" />
<script src="../umbraco_client/Application/NamespaceManager.js" type="text/javascript"></script>
<script src="../umbraco_client/ui/base2.js" type="text/javascript"></script>
<script src="../umbraco_client/installer/js/jquery.1.4.4.js" type="text/javascript"></script>
<script src="../umbraco_client/installer/js/jquery.ui.selectmenu.js" type="text/javascript"></script>
<script src="../umbraco_client/installer/js/jquery.main.js" type="text/javascript"></script>
<script src="../umbraco_client/passwordStrength/passwordstrength.js" type="text/javascript"></script>
<script src="../umbraco_client/installer/js/PackageInstaller.js" type="text/javascript"></script>
<!--[if lt IE 9]>
<link media="all" rel="stylesheet" href="../umbraco_client/installer/css/lt7.css">
@@ -138,7 +141,7 @@
<div class="b">&nbsp;</div>
</div>
<input type="hidden" runat="server" value="welcome" id="step">
<input type="hidden" runat="server" value="welcome" id="step"/>
</form>
</body>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace Umbraco.Web.UI.Install.Steps.Skinning
{
public partial class LoadStarterKits : global::umbraco.presentation.install.steps.Skinning.loadStarterKits
{
/// <summary>
/// Returns the string for the package installer web service base url
/// </summary>
protected string PackageInstallServiceBaseUrl { get; private set; }
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//Get the URL for the package install service base url
var umbracoPath = global::Umbraco.Core.Configuration.GlobalSettings.UmbracoMvcArea;
var urlHelper = new UrlHelper(new RequestContext());
PackageInstallServiceBaseUrl = urlHelper.Action("Index", "InstallPackage", new { area = umbracoPath });
}
}
}

View File

@@ -0,0 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Umbraco.Web.UI.Install.Steps.Skinning {
public partial class LoadStarterKits {
}
}

View File

@@ -1,73 +1,93 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="loadStarterKits.ascx.cs" Inherits="umbraco.presentation.install.steps.Skinning.loadStarterKits" %>
<%@ Import Namespace="umbraco.cms.businesslogic.packager.repositories" %>
<%@ Control Language="C#" AutoEventWireup="True" CodeBehind="LoadStarterKits.ascx.cs" Inherits="Umbraco.Web.UI.Install.Steps.Skinning.LoadStarterKits" %>
<%@ Import Namespace="umbraco.cms.businesslogic.packager.repositories" %>
<asp:PlaceHolder ID="pl_loadStarterKits" runat="server">
<asp:Repeater ID="rep_starterKits" runat="server">
<HeaderTemplate>
<nav class="zoom-list add-nav">
<ul>
</HeaderTemplate>
<ItemTemplate>
<li class="add-<%# ((Package)Container.DataItem).Text.Replace(" ","").ToLower() %>">
<asp:LinkButton CssClass="single-tab selectStarterKit" ID="bt_selectKit" runat="server" onclick="SelectStarterKit" ToolTip="<%# ((Package)Container.DataItem).Text %>" CommandArgument="<%# ((Package)Container.DataItem).RepoGuid %>">
<img class="zoom-img" src="<%# ((Package)Container.DataItem).Thumbnail %>" alt="<%# ((Package)Container.DataItem).Text %>" width="150" height="204"></asp:LinkButton>
<em>&nbsp;</em>
<!-- drop down -->
<div class="drop-hold">
<div class="t">&nbsp;</div>
<div class="c">
<div class="title">
<span><strong><%# ((Package)Container.DataItem).Text %></strong> contains the following functionality</span>
</div>
<div class="hold">
<%# ((Package)Container.DataItem).Description %>
</div>
</div>
<div class="b">&nbsp;</div>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
<li class="add-thanks">
<asp:LinkButton runat="server" class="single-tab declineStarterKits" ID="declineStarterKits" OnClientClick="return confirm('Are you sure you do not want to install a starter kit?');" OnClick="NextStep">
<script type="text/javascript">
(function ($) {
$(document).ready(function () {
var installer = new Umbraco.Installer.PackageInstaller({
starterKits: $("a.selectStarterKit"),
baseUrl:
});
installer.init();
});
})(jQuery);
</script>
<asp:Repeater ID="rep_starterKits" runat="server">
<HeaderTemplate>
<nav class="zoom-list add-nav">
<ul>
</HeaderTemplate>
<ItemTemplate>
<li class="add-<%# ((Package)Container.DataItem).Text.Replace(" ","").ToLower() %>">
<a href="#" class="single-tab selectStarterKit" title="<%# ((Package)Container.DataItem).Text %>" data-repoId="<%# ((Package)Container.DataItem).RepoGuid %>">
<img class="zoom-img" src="<%# ((Package)Container.DataItem).Thumbnail %>" alt="<%# ((Package)Container.DataItem).Text %>" width="150" height="204">
</a>
<%--<asp:LinkButton CssClass="single-tab selectStarterKit" ID="bt_selectKit" runat="server" OnClick="SelectStarterKit" ToolTip="<%# ((Package)Container.DataItem).Text %>" CommandArgument="<%# ((Package)Container.DataItem).RepoGuid %>">
<img class="zoom-img" src="<%# ((Package)Container.DataItem).Thumbnail %>" alt="<%# ((Package)Container.DataItem).Text %>" width="150" height="204">
</asp:LinkButton>--%>
<em>&nbsp;</em>
<!-- drop down -->
<div class="drop-hold">
<div class="t">&nbsp;</div>
<div class="c">
<div class="title">
<span><strong><%# ((Package)Container.DataItem).Text %></strong> contains the following functionality</span>
</div>
<div class="hold">
<%# ((Package)Container.DataItem).Description %>
</div>
</div>
<div class="b">&nbsp;</div>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
<li class="add-thanks">
<asp:LinkButton runat="server" class="single-tab declineStarterKits" ID="declineStarterKits" OnClientClick="return confirm('Are you sure you do not want to install a starter kit?');" OnClick="NextStep">
<img class="zoom-img" src="../umbraco_client/installer/images/btn-no-thanks.png" alt="image description" width="150" height="204">
</asp:LinkButton>
</asp:LinkButton>
<em>&nbsp;</em>
<!-- drop down -->
<div class="drop-hold">
<div class="t">&nbsp;</div>
<div class="c">
<div class="title">
<span><strong>Choose not to install a starter kit</strong></span>
</div>
</div>
<div class="b">&nbsp;</div>
</div>
</li>
<em>&nbsp;</em>
<!-- drop down -->
<div class="drop-hold">
<div class="t">&nbsp;</div>
<div class="c">
<div class="title">
<span><strong>Choose not to install a starter kit</strong></span>
</div>
</div>
<div class="b">&nbsp;</div>
</div>
</li>
</ul>
</ul>
</nav>
</FooterTemplate>
</asp:Repeater>
</FooterTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder ID="pl_starterKitsConnectionError" runat="server" Visible="false">
<div style="padding: 0 100px 13px 5px;">
<h2>Oops...the installer can't connect to the repository</h2>
Starter Kits could not be fetched from the repository as there was no connection - which can occur if you are using a proxy server or firewall with certain configurations,
<div style="padding: 0 100px 13px 5px;">
<h2>Oops...the installer can't connect to the repository</h2>
Starter Kits could not be fetched from the repository as there was no connection - which can occur if you are using a proxy server or firewall with certain configurations,
or if you are not currently connected to the internet.
<br />
Click <strong>Continue</strong> to complete the installation then navigate to the Developer section of your Umbraco installation
Click <strong>Continue</strong> to complete the installation then navigate to the Developer section of your Umbraco installation
where you will find the Starter Kits listed in the Packages tree.
</div>
</div>
<!-- btn box -->
<footer class="btn-box">
<div class="t">&nbsp;</div>
<asp:LinkButton ID="LinkButton1" class="btn-step btn btn-continue" runat="server" onclick="gotoLastStep"><span>Continue</span></asp:LinkButton>
<footer class="btn-box">
<div class="t">&nbsp;</div>
<asp:LinkButton ID="LinkButton1" class="btn-step btn btn-continue" runat="server" OnClick="gotoLastStep"><span>Continue</span></asp:LinkButton>
</footer>
</asp:PlaceHolder>
</asp:PlaceHolder>

View File

@@ -0,0 +1,39 @@
Umbraco.Sys.registerNamespace("Umbraco.Installer");
(function ($) {
Umbraco.Installer.PackageInstaller = base2.Base.extend({
//private methods/variables
_opts: null,
// Constructor
constructor: function (opts) {
// Merge options with default
this._opts = $.extend({
// Default options go here
}, opts);
},
//public methods/variables
init: function () {
var self = this;
//bind to the click handler for each of the install starter kit buttons
this._opts.starterKits.click(function () {
var packageId = $(this).attr("data-repoId");
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: '{kitGuid: ' + packageId + '}',
dataType: 'json',
url: self._opts.baseUrl + '/DownloadPackageFiles'
});
});
}
});
})(jQuery);

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Umbraco.Core;
namespace Umbraco.Web
{
public static class ApplicationContextExtensions
{
/// <summary>
/// This will restart the application pool
/// </summary>
/// <param name="appContext"> </param>
/// <param name="http"></param>
public static void RestartApplicationPool(this ApplicationContext appContext, HttpContextBase http)
{
//we're going to put an application wide flag to show that the application is about to restart.
//we're doing this because if there is a script checking if the app pool is fully restarted, then
//it can check if this flag exists... if it does it means the app pool isn't restarted yet.
http.Application.Add("AppPoolRestarting", true);
//NOTE: this real way only works in full trust :(
//HttpRuntime.UnloadAppDomain();
//so we'll do the dodgy hack instead
var configPath = http.Request.PhysicalApplicationPath + "\\web.config";
File.SetLastWriteTimeUtc(configPath, DateTime.UtcNow);
}
}
}

View File

@@ -0,0 +1,172 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using Umbraco.Core;
using umbraco;
using umbraco.presentation.install.utills;
namespace Umbraco.Web.Install
{
/// <summary>
/// An MVC controller for the installation process regarding packages
/// </summary>
/// <remarks>
/// Currently this is used for web services however we should/could eventually migrate the whole installer to MVC as it
/// is a bit of a mess currently.
/// </remarks>
public class InstallPackageController : Controller
{
private readonly ApplicationContext _applicationContext;
public InstallPackageController()
: this(ApplicationContext.Current)
{
}
public InstallPackageController(ApplicationContext applicationContext)
{
_applicationContext = applicationContext;
}
private const string RepoGuid = "65194810-1f85-11dd-bd0b-0800200c9a66";
/// <summary>
/// Empty action, useful for retrieving the base url for this controller
/// </summary>
/// <returns></returns>
public ActionResult Index()
{
throw new NotImplementedException();
}
/// <summary>
/// Connects to the repo, downloads the package and creates the manifest
/// </summary>
/// <param name="kitGuid"></param>
/// <returns></returns>
[HttpPost]
public JsonResult DownloadPackageFiles(Guid kitGuid)
{
var repo = global::umbraco.cms.businesslogic.packager.repositories.Repository.getByGuid(RepoGuid);
if (!repo.HasConnection())
{
return Json(new {success = false, error = "cannot_connect"});
}
var installer = new global::umbraco.cms.businesslogic.packager.Installer();
var tempFile = installer.Import(repo.fetch(kitGuid.ToString()));
installer.LoadConfig(tempFile);
var pId = installer.CreateManifest(tempFile, kitGuid.ToString(), RepoGuid);
return Json(new
{
success = true,
manifestId = pId,
packageFile = tempFile,
percentage = 10,
message = "Downloading starter kit files..."
});
}
/// <summary>
/// Installs the files in the package
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult InstallPackageFiles(Guid kitGuid, int manifestId, string packageFile)
{
var installer = new global::umbraco.cms.businesslogic.packager.Installer();
installer.InstallFiles(manifestId, packageFile);
return Json(new
{
success = true,
manifestId,
packageFile,
percentage = 20,
message = "Installing starter kit files"
});
}
/// <summary>
/// Ensures the app pool is restarted
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult RestartAppPool()
{
_applicationContext.RestartApplicationPool(HttpContext);
return Json(new
{
success = true,
percentage = 25,
message = "Installing starter kit files"
});
}
/// <summary>
/// Checks if the app pool has completed restarted
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult CheckAppPoolRestart()
{
if (HttpContext.Application.AllKeys.Contains("AppPoolRestarting"))
{
return Json(new
{
successs = false
});
}
return Json(new
{
success = true,
percentage = 30
});
}
/// <summary>
/// Installs the business logic portion of the package after app restart
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult InstallBusinessLogic(Guid kitGuid, int manifestId, string packageFile)
{
var installer = new global::umbraco.cms.businesslogic.packager.Installer();
installer.InstallFiles(manifestId, packageFile);
return Json(new
{
success = true,
manifestId,
packageFile,
percentage = 70,
message = "Installing starter kit files"
});
}
/// <summary>
/// Cleans up the package installation
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult CleanupInstallation(Guid kitGuid, int manifestId, string packageFile)
{
var installer = new global::umbraco.cms.businesslogic.packager.Installer();
installer.InstallCleanUp(manifestId, packageFile);
library.RefreshContent();
return Json(new
{
success = true,
manifestId,
packageFile,
percentage = 100,
message = "Starter kit has been installed"
});
}
}
}

View File

@@ -239,6 +239,7 @@
<Compile Include="..\SolutionInfo.cs">
<Link>Properties\SolutionInfo.cs</Link>
</Compile>
<Compile Include="ApplicationContextExtensions.cs" />
<Compile Include="ApplicationEventsResolver.cs" />
<Compile Include="Dynamics\DynamicExpression.cs" />
<Compile Include="Dynamics\DynamicGrouping.cs" />
@@ -248,6 +249,7 @@
<Compile Include="Dynamics\ExpressionParser.cs" />
<Compile Include="Dynamics\ExtensionMethods.cs" />
<Compile Include="Dynamics\Grouping.cs" />
<Compile Include="Install\InstallPackageController.cs" />
<Compile Include="Models\DynamicPublishedContent.cs" />
<Compile Include="Models\DynamicPublishedContentList.cs" />
<Compile Include="Mvc\AreaRegistrationExtensions.cs" />
@@ -314,6 +316,12 @@
<Compile Include="umbraco.presentation\Default.aspx.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="umbraco.presentation\install\Default.aspx.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="umbraco.presentation\install\steps\Skinning\loadStarterKits.ascx.cs">
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="umbraco.presentation\LibraryCacheRefresher.cs" />
<Compile Include="umbraco.presentation\umbraco\developer\Macros\editMacro.aspx.cs">
<SubType>ASPXCodeBehind</SubType>
@@ -426,13 +434,6 @@
<Compile Include="umbraco.presentation\install\steps\Skinning\loadStarterKitDesigns.ascx.designer.cs">
<DependentUpon>loadStarterKitDesigns.ascx</DependentUpon>
</Compile>
<Compile Include="umbraco.presentation\install\steps\Skinning\loadStarterKits.ascx.cs">
<DependentUpon>loadStarterKits.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="umbraco.presentation\install\steps\Skinning\loadStarterKits.ascx.designer.cs">
<DependentUpon>loadStarterKits.ascx</DependentUpon>
</Compile>
<Compile Include="umbraco.presentation\install\utills\FilePermissions.cs" />
<Compile Include="umbraco.presentation\install\utills\Helper.cs" />
<Compile Include="umbraco.presentation\install\utills\p.aspx.cs">
@@ -452,13 +453,6 @@
<Compile Include="umbraco.presentation\helper.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="umbraco.presentation\install\default.aspx.cs">
<DependentUpon>default.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="umbraco.presentation\install\default.aspx.designer.cs">
<DependentUpon>default.aspx</DependentUpon>
</Compile>
<Compile Include="umbraco.presentation\install\steps\defaultUser.ascx.cs">
<DependentUpon>defaultUser.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1846,11 +1840,12 @@
<Content Include="umbraco.presentation\umbraco\developer\RelationTypes\NewRelationType.aspx" />
<Content Include="umbraco.presentation\umbraco\developer\RelationTypes\RelationTypesWebService.asmx" />
<Content Include="umbraco.presentation\umbraco\dashboard\DesktopMediaUploader.ascx" />
<Content Include="umbraco.presentation\install\steps\database.ascx" />
<Content Include="umbraco.presentation\install\steps\database.ascx">
<SubType>ASPXCodeBehind</SubType>
</Content>
<Content Include="umbraco.presentation\install\steps\renaming.ascx" />
<Content Include="umbraco.presentation\install\steps\skinning.ascx" />
<Content Include="umbraco.presentation\install\steps\Skinning\loadStarterKitDesigns.ascx" />
<Content Include="umbraco.presentation\install\steps\Skinning\loadStarterKits.ascx" />
<Content Include="umbraco.presentation\install\Title.ascx" />
<Content Include="umbraco.presentation\install\utills\p.aspx">
<SubType>ASPXCodeBehind</SubType>
@@ -1897,7 +1892,6 @@
<Content Include="umbraco.presentation\umbraco\controls\Images\UploadMediaImage.ascx" />
<Content Include="umbraco.presentation\umbraco\controls\Tree\TreeControl.ascx" />
<Content Include="umbraco.presentation\umbraco\Search\QuickSearch.ascx" />
<Content Include="umbraco.presentation\install\default.aspx" />
<Content Include="umbraco.presentation\install\steps\license.ascx" />
<Content Include="umbraco.presentation\umbraco\actions\delete.aspx" />
<Content Include="umbraco.presentation\umbraco\actions\editContent.aspx" />

View File

@@ -133,8 +133,9 @@ namespace Umbraco.Web
/// </summary>
protected internal void CreateRoutes()
{
var umbracoPath = GlobalSettings.UmbracoMvcArea;
//set routes
//Create the front-end route
var defaultRoute = RouteTable.Routes.MapRoute(
"Umbraco_default",
"Umbraco/RenderMvc/{action}/{id}",
@@ -142,7 +143,13 @@ namespace Umbraco.Web
);
defaultRoute.RouteHandler = new RenderRouteHandler(ControllerBuilder.Current.GetControllerFactory());
var umbracoPath = GlobalSettings.UmbracoMvcArea;
//Create the install routes
var installPackageRoute = RouteTable.Routes.MapRoute(
"Umbraco_install_packages",
"Install/PackageInstaller/{action}/{id}",
new { controller = "InstallPackage", action = "Index", id = UrlParameter.Optional }
);
installPackageRoute.DataTokens.Add("area", umbracoPath);
//we need to find the surface controllers and route them
var surfaceControllers = SurfaceControllerResolver.Current.RegisteredSurfaceControllers.ToArray();

View File

@@ -1,147 +0,0 @@
<%@ Page Language="c#" CodeBehind="default.aspx.cs" AutoEventWireup="True" Inherits="umbraco.presentation.install._default" EnableViewState="False" %>
<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
<%@ Register Src="~/install/Title.ascx" TagPrefix="umb1" TagName="PageTitle" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta charset="utf-8">
<umb1:PageTitle runat="server" />
<link media="all" rel="stylesheet" href="../umbraco_client/installer/css/jquery-ui-1.8.6.custom.css">
<link media="all" type="text/css" rel="stylesheet" href="../umbraco_client/installer/css/reset.css" />
<link media="all" rel="stylesheet" href="../umbraco_client/installer/css/all.css">
<link media="all" type="text/css" rel="stylesheet" href="../umbraco_client/installer/css/form.css" />
<script src="../umbraco_client/installer/js/jquery.1.4.4.js" type="text/javascript"></script>
<script src="../umbraco_client/installer/js/jquery.ui.selectmenu.js" type="text/javascript"></script>
<script src="../umbraco_client/installer/js/jquery.main.js" type="text/javascript"></script>
<script src="../umbraco_client/passwordStrength/passwordstrength.js" type="text/javascript"></script>
<!--[if lt IE 9]>
<link media="all" rel="stylesheet" href="../umbraco_client/installer/css/lt7.css">
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="../umbraco_client/installer/js/ie-png.js"></script><![endif]-->
</head>
<body class="<%= currentStepClass %>">
<form runat="server">
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server"/>
<!-- all page -->
<section id="wrapper">
<div class="wholder">
<!-- header -->
<header id="header">
<div class="holder">
<strong class="logo"><a href="#">Umbraco</a></strong>
</div>
</header>
<!-- all content -->
<section id="main">
<!-- tabset -->
<nav class="tabset">
<asp:Repeater ID="rp_steps" runat="server" OnItemDataBound="bindStep">
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li class="<asp:literal runat='server' ID='lt_class' />"><asp:Literal ID="lt_name" runat="server" /><em>&nbsp;</em></li>
</ItemTemplate>
</asp:Repeater>
<div class="b">&nbsp;</div>
</nav>
<!-- content -->
<section class="content">
<asp:PlaceHolder ID="PlaceHolderStep" runat="server"></asp:PlaceHolder>
</section>
</section>
</div>
</section>
<!-- bg page -->
<div class="bg-main">
<div class="color2">
<div class="bg-c"></div>
</div>
<div class="color3">
<div class="bg-c"></div>
</div>
<div class="color1">
<div class="bg-c"></div>
</div>
<div class="color4">
<div class="bg-c"></div>
</div>
<div class="color5">
<div class="bg-c"></div>
</div>
</div>
<!-- lightbox -->
<div class="lightbox" id="lightbox">
<a href="#" class="btn-close btn-close-box">close</a>
<div class="t">&nbsp;</div>
<div class="c">
<div class="heading">
<strong class="title">Name of skin</strong>
<span class="create">Created by: <a href="#">Cogworks</a></span>
</div>
<div class="carusel">
<ul>
<li><img src="../umbraco_client/installer/images/img09.jpg" alt="image description"></li>
<li><img src="../umbraco_client/installer/images/img10.jpg" alt="image description"></li>
<li><img src="../umbraco_client/installer/images/img11.jpg" alt="image description"></li>
</ul>
</div>
<footer class="btn-box">
<a href="#single-tab4" class="single-tab btn-install btn-close-box">Install</a>
</footer>
</div>
<div class="b">&nbsp;</div>
</div>
<input type="hidden" runat="server" value="welcome" id="step">
</form>
</body>
</html>

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
@@ -15,135 +15,170 @@ using System.Collections.Generic;
namespace umbraco.presentation.install
{
/// <summary>
/// Summary description for _default.
/// </summary>
public partial class _default : BasePages.BasePage
{
/// <summary>
/// Summary description for _default.
/// </summary>
public partial class _default : BasePages.BasePage
{
private string _installStep = "";
public string currentStepClass = "";
private string _installStep = "";
public string currentStepClass = "";
protected void Page_Load(object sender, System.EventArgs e)
{
// use buffer, so content isn't sent until it's ready (minimizing the blank screen experience)
//Response.Buffer = true;
rp_steps.DataSource = InstallerSteps().Values;
rp_steps.DataBind();
}
protected void Page_Load(object sender, System.EventArgs e)
{
// use buffer, so content isn't sent until it's ready (minimizing the blank screen experience)
//Response.Buffer = true;
rp_steps.DataSource = InstallerSteps().Values;
rp_steps.DataBind();
}
private void loadContent(InstallerStep currentStep)
{
PlaceHolderStep.Controls.Clear();
PlaceHolderStep.Controls.Add(new System.Web.UI.UserControl().LoadControl(IOHelper.ResolveUrl(currentStep.UserControl)));
step.Value = currentStep.Alias;
currentStepClass = currentStep.Alias;
}
private void loadContent(InstallerStep currentStep)
{
PlaceHolderStep.Controls.Clear();
PlaceHolderStep.Controls.Add(new System.Web.UI.UserControl().LoadControl(IOHelper.ResolveUrl(currentStep.UserControl)));
step.Value = currentStep.Alias;
currentStepClass = currentStep.Alias;
}
int stepCounter = 0;
protected void bindStep(object sender, RepeaterItemEventArgs e)
{
int stepCounter = 0;
protected void bindStep(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
InstallerStep i = (InstallerStep)e.Item.DataItem;
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
InstallerStep i = (InstallerStep)e.Item.DataItem;
if (!i.HideFromNavigation)
{
Literal _class = (Literal)e.Item.FindControl("lt_class");
Literal _name = (Literal)e.Item.FindControl("lt_name");
if (!i.HideFromNavigation)
{
Literal _class = (Literal)e.Item.FindControl("lt_class");
Literal _name = (Literal)e.Item.FindControl("lt_name");
if (i.Alias == currentStepClass)
_class.Text = "active";
if (i.Alias == currentStepClass)
_class.Text = "active";
stepCounter++;
_name.Text = (stepCounter).ToString() + " - " + i.Name;
}
else
e.Item.Visible = false;
}
}
stepCounter++;
_name.Text = (stepCounter).ToString() + " - " + i.Name;
}
else
e.Item.Visible = false;
}
}
public void GotoNextStep(string currentStep)
{
InstallerStep _s = InstallerSteps().GotoNextStep(currentStep);
Response.Redirect("?installStep=" + _s.Alias);
}
public void GotoNextStep(string currentStep)
{
InstallerStep _s = InstallerSteps().GotoNextStep(currentStep);
Response.Redirect("?installStep=" + _s.Alias);
}
public void GotoLastStep()
{
InstallerStep _s = InstallerSteps().Get("theend");
Response.Redirect("?installStep=" + _s.Alias);
}
public void GotoLastStep()
{
InstallerStep _s = InstallerSteps().Get("theend");
Response.Redirect("?installStep=" + _s.Alias);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
_installStep = helper.Request("installStep");
InstallerStep _s;
_installStep = helper.Request("installStep");
InstallerStep _s;
//if this is not an upgrade we will log in with the default user.
// It's not considered an upgrade if the ConfigurationStatus is missing or empty.
if (String.IsNullOrWhiteSpace(GlobalSettings.ConfigurationStatus) == false)
{
try
{
ensureContext();
}
catch (InvalidOperationException ex)
{
//if this is not an upgrade we will log in with the default user.
// It's not considered an upgrade if the ConfigurationStatus is missing or empty.
if (String.IsNullOrWhiteSpace(GlobalSettings.ConfigurationStatus) == false)
{
try
{
ensureContext();
}
catch (InvalidOperationException ex)
{
}
catch (Exception)
{
Response.Redirect(SystemDirectories.Umbraco + "/logout.aspx?redir=" + Server.UrlEncode(Request.RawUrl));
}
}
catch (Exception)
{
Response.Redirect(SystemDirectories.Umbraco + "/logout.aspx?redir=" + Server.UrlEncode(Request.RawUrl));
}
//set the first step to upgrade.
// if (string.IsNullOrEmpty(_installStep))
// _installStep = "upgrade";
}
//set the first step to upgrade.
// if (string.IsNullOrEmpty(_installStep))
// _installStep = "upgrade";
}
if (string.IsNullOrEmpty(_installStep))
_s = InstallerSteps()["welcome"];
else
_s = InstallerSteps()[_installStep];
if (string.IsNullOrEmpty(_installStep))
_s = InstallerSteps()["welcome"];
else
_s = InstallerSteps()[_installStep];
loadContent(_s);
}
loadContent(_s);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
#endregion
private static InstallerStepCollection InstallerSteps()
{
InstallerStepCollection ics = new InstallerStepCollection();
ics.Add(new install.steps.Definitions.Welcome());
ics.Add(new install.steps.Definitions.License());
ics.Add(new install.steps.Definitions.FilePermissions());
ics.Add(new install.steps.Definitions.Database());
ics.Add(new install.steps.Definitions.DefaultUser());
ics.Add(new install.steps.Definitions.Skinning());
ics.Add(new install.steps.Definitions.WebPi());
ics.Add(new install.steps.Definitions.TheEnd());
return ics;
}
private static InstallerStepCollection InstallerSteps()
{
InstallerStepCollection ics = new InstallerStepCollection();
ics.Add(new install.steps.Definitions.Welcome());
ics.Add(new install.steps.Definitions.License());
ics.Add(new install.steps.Definitions.FilePermissions());
ics.Add(new install.steps.Definitions.Database());
ics.Add(new install.steps.Definitions.DefaultUser());
ics.Add(new install.steps.Definitions.Skinning());
ics.Add(new install.steps.Definitions.WebPi());
ics.Add(new install.steps.Definitions.TheEnd());
return ics;
}
/// <summary>
/// ScriptManager1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.ScriptManager ScriptManager1;
}
/// <summary>
/// rp_steps control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater rp_steps;
/// <summary>
/// PlaceHolderStep control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder PlaceHolderStep;
/// <summary>
/// step control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
public global::System.Web.UI.HtmlControls.HtmlInputHidden step;
}
}

View File

@@ -1,51 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.presentation.install {
public partial class _default {
/// <summary>
/// ScriptManager1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.ScriptManager ScriptManager1;
/// <summary>
/// rp_steps control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater rp_steps;
/// <summary>
/// PlaceHolderStep control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder PlaceHolderStep;
/// <summary>
/// step control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
public global::System.Web.UI.HtmlControls.HtmlInputHidden step;
}
}

View File

@@ -1,73 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="loadStarterKits.ascx.cs" Inherits="umbraco.presentation.install.steps.Skinning.loadStarterKits" %>
<%@ Import Namespace="umbraco.cms.businesslogic.packager.repositories" %>
<asp:PlaceHolder ID="pl_loadStarterKits" runat="server">
<asp:Repeater ID="rep_starterKits" runat="server">
<HeaderTemplate>
<nav class="zoom-list add-nav">
<ul>
</HeaderTemplate>
<ItemTemplate>
<li class="add-<%# ((Package)Container.DataItem).Text.Replace(" ","").ToLower() %>">
<asp:LinkButton CssClass="single-tab selectStarterKit" ID="bt_selectKit" runat="server" onclick="SelectStarterKit" ToolTip="<%# ((Package)Container.DataItem).Text %>" CommandArgument="<%# ((Package)Container.DataItem).RepoGuid %>">
<img class="zoom-img" src="<%# ((Package)Container.DataItem).Thumbnail %>" alt="<%# ((Package)Container.DataItem).Text %>" width="150" height="204"></asp:LinkButton>
<em>&nbsp;</em>
<!-- drop down -->
<div class="drop-hold">
<div class="t">&nbsp;</div>
<div class="c">
<div class="title">
<span><strong><%# ((Package)Container.DataItem).Text %></strong> contains the following functionality</span>
</div>
<div class="hold">
<%# ((Package)Container.DataItem).Description %>
</div>
</div>
<div class="b">&nbsp;</div>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
<li class="add-thanks">
<asp:LinkButton runat="server" class="single-tab declineStarterKits" ID="declineStarterKits" OnClientClick="return confirm('Are you sure you do not want to install a starter kit?');" OnClick="NextStep">
<img class="zoom-img" src="../umbraco_client/installer/images/btn-no-thanks.png" alt="image description" width="150" height="204">
</asp:LinkButton>
<em>&nbsp;</em>
<!-- drop down -->
<div class="drop-hold">
<div class="t">&nbsp;</div>
<div class="c">
<div class="title">
<span><strong>Choose not to install a starter kit</strong></span>
</div>
</div>
<div class="b">&nbsp;</div>
</div>
</li>
</ul>
</nav>
</FooterTemplate>
</asp:Repeater>
</asp:PlaceHolder>
<asp:PlaceHolder ID="pl_starterKitsConnectionError" runat="server" Visible="false">
<div style="padding: 0 100px 13px 5px;">
<h2>Oops...the installer can't connect to the repository</h2>
Starter Kits could not be fetched from the repository as there was no connection - which can occur if you are using a proxy server or firewall with certain configurations,
or if you are not currently connected to the internet.
<br />
Click <strong>Continue</strong> to complete the installation then navigate to the Developer section of your Umbraco installation
where you will find the Starter Kits listed in the Packages tree.
</div>
<!-- btn box -->
<footer class="btn-box">
<div class="t">&nbsp;</div>
<asp:LinkButton ID="LinkButton1" class="btn-step btn btn-continue" runat="server" onclick="gotoLastStep"><span>Continue</span></asp:LinkButton>
</footer>
</asp:PlaceHolder>

View File

@@ -10,127 +10,163 @@ using System.IO;
namespace umbraco.presentation.install.steps.Skinning
{
public delegate void StarterKitInstalledEventHandler();
public delegate void StarterKitInstalledEventHandler();
public partial class loadStarterKits : System.Web.UI.UserControl
{
public event StarterKitInstalledEventHandler StarterKitInstalled;
public partial class loadStarterKits : System.Web.UI.UserControl
{
protected virtual void OnStarterKitInstalled()
{
StarterKitInstalled();
}
public event StarterKitInstalledEventHandler StarterKitInstalled;
protected virtual void OnStarterKitInstalled()
{
StarterKitInstalled();
}
private cms.businesslogic.packager.repositories.Repository repo;
private string repoGuid = "65194810-1f85-11dd-bd0b-0800200c9a66";
private cms.businesslogic.packager.repositories.Repository repo;
private string repoGuid = "65194810-1f85-11dd-bd0b-0800200c9a66";
public loadStarterKits()
{
repo = cms.businesslogic.packager.repositories.Repository.getByGuid(repoGuid);
}
public loadStarterKits()
{
repo = cms.businesslogic.packager.repositories.Repository.getByGuid(repoGuid);
}
protected void Page_Load(object sender, EventArgs e)
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
protected void NextStep(object sender, EventArgs e)
{
_default p = (_default)this.Page;
p.GotoNextStep(helper.Request("installStep"));
}
protected void NextStep(object sender, EventArgs e)
{
_default p = (_default)this.Page;
p.GotoNextStep(helper.Request("installStep"));
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
//clear progressbar cache
Helper.clearProgress();
//clear progressbar cache
Helper.clearProgress();
if (repo.HasConnection())
{
try
{
rep_starterKits.DataSource = repo.Webservice.StarterKits();
rep_starterKits.DataBind();
}
catch (Exception ex)
{
Log.Add(LogTypes.Debug, -1, ex.ToString());
ShowConnectionError();
}
}
else
{
ShowConnectionError();
}
}
if (repo.HasConnection())
{
try
{
rep_starterKits.DataSource = repo.Webservice.StarterKits();
rep_starterKits.DataBind();
}
catch (Exception ex)
{
Log.Add(LogTypes.Debug, -1, ex.ToString());
ShowConnectionError();
private void ShowConnectionError()
{
}
}
else
{
ShowConnectionError();
}
}
pl_starterKitsConnectionError.Visible = true;
}
private void ShowConnectionError()
{
protected void gotoLastStep(object sender, EventArgs e)
{
Helper.RedirectToLastStep(this.Page);
}
pl_starterKitsConnectionError.Visible = true;
}
protected void gotoLastStep(object sender, EventArgs e)
{
Helper.RedirectToLastStep(this.Page);
}
protected void SelectStarterKit(object sender, EventArgs e)
{
Guid kitGuid = new Guid(((LinkButton)sender).CommandArgument);
Helper.setProgress(10, "Connecting to skin repository", "");
cms.businesslogic.packager.Installer installer = new cms.businesslogic.packager.Installer();
if (repo.HasConnection())
{
Helper.setProgress(20, "Downloading starter kit files...", "");
cms.businesslogic.packager.Installer p = new cms.businesslogic.packager.Installer();
string tempFile = p.Import(repo.fetch(kitGuid.ToString()));
p.LoadConfig(tempFile);
int pID = p.CreateManifest(tempFile, kitGuid.ToString(), repoGuid);
Helper.setProgress(40, "Installing starter kit files", "");
p.InstallFiles(pID, tempFile);
Helper.setProgress(60, "Installing starter kit system objects", "");
p.InstallBusinessLogic(pID, tempFile);
Helper.setProgress(80, "Cleaning up after installation", "");
p.InstallCleanUp(pID, tempFile);
library.RefreshContent();
Helper.setProgress(100, "Starter kit has been installed", "");
try
{
((skinning)Parent.Parent.Parent.Parent.Parent).showStarterKitDesigns(kitGuid);
}
catch
{
OnStarterKitInstalled();
}
}
else
{
ShowConnectionError();
}
//protected void SelectStarterKit(object sender, EventArgs e)
//{
}
}
// Guid kitGuid = new Guid(((LinkButton)sender).CommandArgument);
// Helper.setProgress(10, "Connecting to skin repository", "");
// cms.businesslogic.packager.Installer installer = new cms.businesslogic.packager.Installer();
// if (repo.HasConnection())
// {
// Helper.setProgress(20, "Downloading starter kit files...", "");
// cms.businesslogic.packager.Installer p = new cms.businesslogic.packager.Installer();
// string tempFile = p.Import(repo.fetch(kitGuid.ToString()));
// p.LoadConfig(tempFile);
// int pID = p.CreateManifest(tempFile, kitGuid.ToString(), repoGuid);
// Helper.setProgress(40, "Installing starter kit files", "");
// p.InstallFiles(pID, tempFile);
// Helper.setProgress(60, "Installing starter kit system objects", "");
// p.InstallBusinessLogic(pID, tempFile);
// Helper.setProgress(80, "Cleaning up after installation", "");
// p.InstallCleanUp(pID, tempFile);
// library.RefreshContent();
// Helper.setProgress(100, "Starter kit has been installed", "");
// try
// {
// ((skinning)Parent.Parent.Parent.Parent.Parent).showStarterKitDesigns(kitGuid);
// }
// catch
// {
// OnStarterKitInstalled();
// }
// }
// else
// {
// ShowConnectionError();
// }
//}
/// <summary>
/// pl_loadStarterKits control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder pl_loadStarterKits;
/// <summary>
/// rep_starterKits control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater rep_starterKits;
/// <summary>
/// pl_starterKitsConnectionError control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder pl_starterKitsConnectionError;
/// <summary>
/// LinkButton1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton LinkButton1;
}
}

View File

@@ -1,51 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.presentation.install.steps.Skinning {
public partial class loadStarterKits {
/// <summary>
/// pl_loadStarterKits control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder pl_loadStarterKits;
/// <summary>
/// rep_starterKits control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater rep_starterKits;
/// <summary>
/// pl_starterKitsConnectionError control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder pl_starterKitsConnectionError;
/// <summary>
/// LinkButton1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton LinkButton1;
}
}

View File

@@ -299,7 +299,7 @@
jQuery.getJSON('utills/p.aspx?feed=progress', function (data) {
updateProgressBar(data.percentage);
updateStatusMessage(data.message)
updateStatusMessage(data.message);
if (data.error != "") {
clearInterval(intervalId);