Update for the WebPI build, should now automatically be good

Fixes U4-132
This commit is contained in:
Sebastiaan Janssen
2012-11-22 16:06:06 -01:00
parent 61d99c4061
commit 96a6f17bd7
7 changed files with 170 additions and 112 deletions

76
src/WebPi/TBEX.xml Normal file
View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<WebPlatform>
<Links>
<AddLink InDashboard="True">
<Title>Start Here</Title>
<Description>First time here? Complete the installation of your Umbraco Site, select a Starter Kit and Skin to get you started.</Description>
<Uri>/install/default.aspx</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/umbraco.png</ImageUri>
</AddLink>
<AddLink InDashboard="True" InLearn="True">
<Title>Getting Started with Umbraco</Title>
<Description>So you've finished installing Umbraco in WebMatrix, what next? Learn how to build and configure your new site!</Description>
<Uri>http://our.umbraco.org/wiki/how-tos/getting-started-with-umbraco-what-is-next-after-you-install</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/umbraco.png</ImageUri>
</AddLink>
<AddLink InDashboard="True" InLearn="True">
<Title>Extending Umbraco using WebMatrix</Title>
<Description>In this 5-minute video tutorial you'll learn how to edit templates, use the Razor syntax to add dynamic functionality and deploy an Umbraco site - all from within WebMatrix.</Description>
<Uri>http://umbraco.com/help-and-support/video-tutorials/getting-started/working-with-webmatrix</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/umbraco.png</ImageUri>
</AddLink>
<AddLink InDashboard="True" InLearn="True">
<Title>Umbraco Forum - Where the friendliest CMS community on the planet helps each other</Title>
<Description>Search for documentation, get help and guidance from seasoned experts, download and collaborate on plugins and extensions.</Description>
<Uri>http://our.umbraco.org/</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/community.png</ImageUri>
</AddLink>
<AddLink InDashboard="True">
<Title>Umbraco Products</Title>
<Description>We have additional products and services available to help you get the most out of Umbraco.</Description>
<Uri>http://umbraco.com/products</Uri>
<Uri xml:lang="es">http://umbraco.com/products</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/products.png</ImageUri>
</AddLink>
<AddLink InDashboard="True">
<Title>Umbraco Community Projects - "The Deli"</Title>
<Description>Find free and commercial add-ons, extensions, skins, and starter sites.</Description>
<Uri>http://our.umbraco.org/projects</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/deli.png</ImageUri>
</AddLink>
</Links>
<Ribbon>
<AddRibbonButton>
<Label>Site Admin</Label>
<Uri>/umbraco/default.aspx</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/umbraco.png</ImageUri>
</AddRibbonButton>
<AddRibbonButton>
<Label>Community</Label>
<Uri>http://our.umbraco.org/</Uri>
<ImageUri>http://cdn.umbraco.org/cdn/umbraco/images/webmatrix/community.png</ImageUri>
</AddRibbonButton>
</Ribbon>
<PathProtection>
<AllowPath>
<RelativePath>install</RelativePath>
</AllowPath>
<AllowPath AllowNested="False">
<RelativePath>web.config</RelativePath>
</AllowPath>
<ProtectPath>
<RelativePath>bin</RelativePath>
</ProtectPath>
<ProtectPath>
<RelativePath>umbraco</RelativePath>
</ProtectPath>
<ProtectPath>
<RelativePath>umbraco_client</RelativePath>
</ProtectPath>
</PathProtection>
</WebPlatform>

View File

@@ -1,45 +0,0 @@
/**********************************************************************/
/* Install.SQL */
/* Creates a login and makes the user a member of db roles */
/* */
/**********************************************************************/
-- Declare variables for database name, username and password
DECLARE @dbName sysname,
@dbUser sysname,
@dbPwd nvarchar(max);
-- Set variables for database name, username and password
SET @dbName = 'PlaceHolderForDb';
SET @dbUser = 'PlaceHolderForUser';
SET @dbPwd = 'PlaceHolderForPassword';
DECLARE @cmd nvarchar(max)
-- Create login
IF( SUSER_SID(@dbUser) is null )
BEGIN
print '-- Creating login '
SET @cmd = N'CREATE LOGIN ' + quotename(@dbUser) + N' WITH PASSWORD ='''+ replace(@dbPwd, '''', '''''') + N''''
EXEC(@cmd)
END
-- Create database user and map to login
-- and add user to the datareader, datawriter, ddladmin and securityadmin roles
--
SET @cmd = N'USE ' + quotename(@DBName) + N';
IF( NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = ''' + replace(@dbUser, '''', '''''') + N'''))
BEGIN
print ''-- Creating user'';
CREATE USER ' + quotename(@dbUser) + N' FOR LOGIN ' + quotename(@dbUser) + N';
print ''-- Adding user'';
EXEC sp_addrolemember ''db_ddladmin'', ''' + replace(@dbUser, '''', '''''') + N''';
print ''-- Adding user'';
EXEC sp_addrolemember ''db_securityadmin'', ''' + replace(@dbUser, '''', '''''') + N''';
print ''-- Adding user'';
EXEC sp_addrolemember ''db_datareader'', ''' + replace(@dbUser, '''', '''''') + N''';
print ''-- Adding user'';
EXEC sp_addrolemember ''db_datawriter'', ''' + replace(@dbUser, '''', '''''') + N''';
END'
EXEC(@cmd)
GO

View File

@@ -0,0 +1,9 @@
/**********************************************************************/
/* Install.SQL */
/* Creates a login and makes the user a member of db roles */
/* */
/* Modifications for SQL AZURE - ON MASTER */
/**********************************************************************/
CREATE LOGIN PlaceHolderForUser WITH PASSWORD = 'PlaceHolderForPassword'

18
src/WebPi/installSQL2.sql Normal file
View File

@@ -0,0 +1,18 @@
/**********************************************************************/
/* CreateUser.SQL */
/* Creates a user and makes the user a member of db roles */
/* This script runs against the User database and requires connection string */
/* Supports SQL Server and SQL AZURE */
/**********************************************************************/
-- Create database user and map to login
-- and add user to the datareader, datawriter, ddladmin and securityadmin roles
--
CREATE USER PlaceHolderForUser FOR LOGIN PlaceHolderForUser;
GO
EXEC sp_addrolemember 'db_ddladmin', PlaceHolderForUser;
EXEC sp_addrolemember 'db_securityadmin', PlaceHolderForUser;
EXEC sp_addrolemember 'db_datareader', PlaceHolderForUser;
EXEC sp_addrolemember 'db_datawriter', PlaceHolderForUser;
GO

View File

@@ -2,51 +2,42 @@
<msdeploy.iisApp>
<iisApp path="umbraco" />
<!-- managedRuntimeVersion="v4.0" /> -->
<!--
this Acl can be removed after successful installation
** begin remove **
-->
<setAcl path="umbraco"
setAclAccess="Read, Write, Modify" />
<!--
** end remove **
-->
<setAcl path="umbraco\app_code"
setAclAccess="ReadandExecute" />
<setAcl path="umbraco\app_browsers"
setAclAccess="ReadandExecute" />
<setAcl path="umbraco\app_data"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\bin"
setAclAccess="Read" />
<setAcl path="umbraco\config"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\css"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\data"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\masterpages"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\media"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\python"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\scripts"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\umbraco"
setAclAccess="Read" />
<setAcl path="umbraco\usercontrols"
setAclAccess="Read" />
<setAcl path="umbraco\xslt"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco\web.config"
setAclResourceType="File"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/app_code"
setAclAccess="ReadandExecute" />
<setAcl path="umbraco/app_browsers"
setAclAccess="ReadandExecute" />
<setAcl path="umbraco/app_data"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/bin"
setAclAccess="Read" />
<setAcl path="umbraco/config"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/css"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/macroScripts"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/masterpages"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/media"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/scripts"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/umbraco"
setAclAccess="Read" />
<setAcl path="umbraco/usercontrols"
setAclAccess="Read" />
<setAcl path="umbraco/xslt"
setAclAccess="Read, Write, Modify" />
<setAcl path="umbraco/web.config"
setAclResourceType="File"
setAclAccess="Read, Write, Modify" />
<!-- Runs SQL script to create login and assign permissions, requires transacted="false"
This script runs as the database administrator provided in parameters.xml
-->
<dbfullsql path="installSQL.sql" transacted="false" />
<dbfullsql path="installSQL1.sql" transacted="false" />
<dbfullsql path="installSQL2.sql" transacted="false" />
</msdeploy.iisApp>

View File

@@ -1,4 +1,4 @@
<parameters>
<parameters>
<!-- Prompts where to copy the content files and takes a web site path (such as "contoso.com/app"). -->
<parameter name="Application Path" description="It is recommended that Umbraco be installed as a web site root. Leave this parameter empty." tags="iisapp">
@@ -13,77 +13,77 @@
<!-- This is the parameter that is used to set ACLs on the app_code folder -->
<parameter name="SetAclParameter2" description="Sets the ACL on the app_code folder" defaultValue="{Application Path}/app_code" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\app_code$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/app_code$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the app_browsers folder -->
<parameter name="SetAclParameter15" description="Sets the ACL on the app_code folder" defaultValue="{Application Path}/app_browsers" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\app_browsers$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/app_browsers$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the app_data folder -->
<parameter name="SetAclParameter16" description="Sets the ACL on the app_code folder" defaultValue="{Application Path}/app_data" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\app_data$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/app_data$" />
</parameter>
<!-- This is the parameter that is used to set ACLs, on the bin folder -->
<parameter name="SetAclParameter3" description="Sets the ACL on the bin folder" defaultValue="{Application Path}/bin" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\bin$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/bin$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the config folder -->
<parameter name="SetAclParameter4" description="Sets the ACL on the config folder" defaultValue="{Application Path}/config" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\config$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/config$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the css folder -->
<parameter name="SetAclParameter5" description="Sets the ACL on the css folder" defaultValue="{Application Path}/css" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="umbraco\\css$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="umbraco/css$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the data folder -->
<parameter name="SetAclParameter6" description="Sets the ACL on the data folder" defaultValue="{Application Path}/data" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\data$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/data$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the masterpages folder -->
<parameter name="SetAclParameter7" description="Sets the ACL on the masterpages folder" defaultValue="{Application Path}/masterpages" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\masterpages$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/masterpages$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the media folder -->
<parameter name="SetAclParameter8" description="Sets the ACL on the media folder" defaultValue="{Application Path}/media" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\media$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/media$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the python folder -->
<parameter name="SetAclParameter9" description="Sets the ACL on the python folder" defaultValue="{Application Path}/python" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\python$" />
<!-- This is the parameter that is used to set ACLs on the macroScripts folder -->
<parameter name="SetAclParameter9" description="Sets the ACL on the python folder" defaultValue="{Application Path}/macroScripts" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/macroScripts$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the scripts folder -->
<parameter name="SetAclParameter10" description="Sets the ACL on the scripts folder" defaultValue="{Application Path}/scripts" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\scripts$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/scripts$" />
</parameter>
<!-- This is the parameter that is used to set ACLs on the umbraco folder -->
<parameter name="SetAclParameter11" description="Sets the ACL on the umbraco folder" defaultValue="{Application Path}/umbraco" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\umbraco$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/umbraco$" />
</parameter>
<!-- This is the parameter that is used to set ACLs, it's set to the application path filled in by the user -->
<parameter name="SetAclParameter12" description="Sets the ACL on the usercontrols folder" defaultValue="{Application Path}/usercontrols" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\usercontrols$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/usercontrols$" />
</parameter>
<!-- This is the parameter that is used to set ACLs, it's set to the application path filled in by the user -->
<parameter name="SetAclParameter13" description="Sets the ACL on the xslt folder" defaultValue="{Application Path}/xslt" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\xslt$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/xslt$" />
</parameter>
<!-- This is the parameter that is used to set ACLs, it's set to the application path filled in by the user -->
<parameter name="SetAclParameter14" description="Sets the ACL on the web.config file" defaultValue="{Application Path}/web.config" tags="Hidden">
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco\\web.config$" />
<parameterEntry type="ProviderPath" scope="setAcl" match="^umbraco/web.config$" />
</parameter>
<!-- Prompts for database server name, this is used in the connection string parameter later -->
@@ -92,19 +92,22 @@
<!-- Prompts for the database name and fills it into the database scripts -->
<parameter name="Database Name" description="Name of the database for your application." defaultValue="umbraco" tags="DBName, SQL">
<parameterEntry type="TextFile" scope="installSQL.sql" match="PlaceHolderForDb" />
<parameterEntry type="TextFile" scope="installSQL1.sql" match="PlaceHolderForDb" />
<parameterEntry type="TextFile" scope="installSQL2.sql" match="PlaceHolderForDb" />
</parameter>
<!-- Prompts for the database username and fills it into the database scripts.
The SQL tag indicates it is a parameter required for SQL, the DbUsername tag indicates this is a Db username -->
<parameter name="Database Username" description="User name to access you application database." defaultValue="umbracouser" tags="SQL, DbUsername">
<parameterEntry type="TextFile" scope="installSQL.sql" match="PlaceHolderForUser" />
<parameterEntry type="TextFile" scope="installSQL1.sql" match="PlaceHolderForUser" />
<parameterEntry type="TextFile" scope="installSQL2.sql" match="PlaceHolderForUser" />
</parameter>
<!-- Prompts for the database password and fills it into the database scripts.
The SQL tag indicates it is a parameter required for SQL, the DbUserPassword tag indicates this is a Db password -->
<parameter name="Database Password" description="Password for the Database Username." tags="New, Password, SQL, DbUserPassword">
<parameterEntry type="TextFile" scope="installSQL.sql" match="PlaceHolderForPassword" />
<parameterEntry type="TextFile" scope="installSQL1.sql" match="PlaceHolderForPassword" />
<parameterEntry type="TextFile" scope="installSQL2.sql" match="PlaceHolderForPassword" />
</parameter>
<!-- Prompts for the admin creds and uses it for the administrator connection string.
@@ -121,22 +124,28 @@
<parameter name="Database Administrator Password" description="Password that is associated with the database administrator account." tags="Password, SQL, DbAdminPassword">
</parameter>
<!-- This is the hidden admin connection string used to run the database scripts -->
<parameter name="Connection String" description="Automatically sets the connection string for the connection request." defaultValue="Server={Database Server};Database={Database Name};uid={Database Administrator};Pwd={Database Administrator Password};" tags="Hidden,SQLConnectionString,Validate">
<parameterEntry type="ProviderPath" scope="dbfullsql" match="installSQL.sql" />
<parameter name="Connection String Master" description="Automatically sets the connection string for the connection request." defaultValue="Server={Database Server};Database=master;uid={Database Administrator};Pwd={Database Administrator Password};" tags="Hidden,SQL,SQLConnectionString,NoStore">
<parameterEntry type="ProviderPath" scope="dbfullsql" match="installSQL1.sql" />
</parameter>
<!-- This is the hidden connection string with the newly created db account that is used in the web.config -->
<parameter name="Connection String for Config" description="Connection string to enter into config" defaultValue="datalayer=SqlServer;server={Database Server};database={Database Name};user id={Database Username};password={Database Password}" tags="Hidden, SQL">
<!-- scope=”web.config” will look for all web.config files under the root directory . Using scope=”\\web.config$” will select only the root web.config -->
<parameterEntry type="XmlFile" scope="\\web.config$" match="//appSettings/add[@key='umbracoDbDSN']/@value" />
<parameter name="Connection String" description="Connection string to enter into config" defaultValue="server={Database Server};database={Database Name};uid={Database Administrator};Pwd={Database Administrator Password};" tags="Hidden,SQL,SQLConnectionString">
<parameterEntry type="ProviderPath" scope="dbfullsql" match="installSQL2.sql" />
</parameter>
<parameter name="SQLCE Database Location" defaultValue="datalayer=SQLCE4Umbraco.SqlCEHelper,SQLCE4Umbraco;data source=|DataDirectory|\Umbraco.sdf"
tags="SQLCE, Hidden">
<parameterEntry type="XmlFile" scope="\\web.config$" match="//appSettings/add[@key='umbracoDbDSN']/@value" />
</parameter>
<!-- This is the hidden connection string with the newly created db account that is used in the web.config -->
<parameter name="Connection String for Config" description="Connection string to enter into config"
defaultValue="server={Database Server};database={Database Name};user id={Database Username};password={Database Password}"
tags="SQL, Hidden">
<!-- scope=”web.config” will look for all web.config files under the root directory . Using scope=”\\web.config$” will select only the root web.config -->
<parameterEntry type="XmlFile" scope="\\web.config$" match="//appSettings/add[@key='umbracoDbDSN']/@value" />
</parameter>
</parameters>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB