<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre, #msg p { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[12002] iis: Add IIS WebPI config files</title>
</head>
<body>
<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/12002">12002</a></dd>
<dt>Author</dt> <dd>azaozz</dd>
<dt>Date</dt> <dd>2009-10-06 22:50:40 +0000 (Tue, 06 Oct 2009)</dd>
</dl>
<h3>Log Message</h3>
<pre>Add IIS WebPI config files</pre>
<h3>Added Paths</h3>
<ul>
<li><a href="#iisinstallsql">iis/install.sql</a></li>
<li><a href="#iismanifestxml">iis/manifest.xml</a></li>
<li><a href="#iisparametersxml">iis/parameters.xml</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="iisinstallsql"></a>
<div class="addfile"><h4>Added: iis/install.sql (0 => 12002)</h4>
<pre class="diff"><span>
<span class="info">--- iis/install.sql         (rev 0)
+++ iis/install.sql        2009-10-06 22:50:40 UTC (rev 12002)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+USE PlaceholderForDbName;
+
+DROP PROCEDURE IF EXISTS add_user ;
+
+CREATE PROCEDURE add_user()
+BEGIN
+DECLARE EXIT HANDLER FOR 1044 BEGIN END;
+GRANT ALL PRIVILEGES ON PlaceholderForDbName.* to 'PlaceholderForDbUsername'@'localhost' IDENTIFIED BY 'PlaceholderForDbPassword';
+FLUSH PRIVILEGES;
+END
+;
+
+CALL add_user() ;
+
+DROP PROCEDURE IF EXISTS add_user ;
</ins><span class="cx">Property changes on: iis/install.sql
</span><span class="cx">___________________________________________________________________
</span><span class="cx">Name: svn:eol-style
</span><span class="cx"> + native
</span></span></pre></div>
<a id="iismanifestxml"></a>
<div class="addfile"><h4>Added: iis/manifest.xml (0 => 12002)</h4>
<pre class="diff"><span>
<span class="info">--- iis/manifest.xml         (rev 0)
+++ iis/manifest.xml        2009-10-06 22:50:40 UTC (rev 12002)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+<!-- wp-version 2.8.4 -->
+<MSDeploy.iisApp>
+        <iisApp path="wordpress"/>
+        <dbmysql path="install.sql" />
+        <setAcl path="wordpress/wp-content"
+                setAclUser="anonymousAuthenticationUser"
+                setAclAccess="Modify" />
+        <alias from="wordpress/wp-config-sample.php" to="wordpress/wp-config.php" />
+</MSDeploy.iisApp>
</ins><span class="cx">Property changes on: iis/manifest.xml
</span><span class="cx">___________________________________________________________________
</span><span class="cx">Name: svn:eol-style
</span><span class="cx"> + native
</span></span></pre></div>
<a id="iisparametersxml"></a>
<div class="addfile"><h4>Added: iis/parameters.xml (0 => 12002)</h4>
<pre class="diff"><span>
<span class="info">--- iis/parameters.xml         (rev 0)
+++ iis/parameters.xml        2009-10-06 22:50:40 UTC (rev 12002)
</span><span class="lines">@@ -0,0 +1,305 @@
</span><ins>+<parameters>
+<!-- WordPress parameters.xml file
+        This file has been updated to incorporate a number of
+        improvements since the original was released with the WebPI and
+        WebDeploy Release Candidates. These improvements will be
+        available with the RTW versions of the WebPI and WebDeploy.
+
+        There will be commentary at each section to describe the changes
+        and why they were made. All of the additional functionality
+        described here, and available with the RTW, is documented as
+        part of the updated Web Application Packaging Guide.
+-->
+
+<!-- One of the new features provides for localization of text
+        strings within the parameters.xml file. This localization can
+        be applied to "description" and "friendlyName" attributes of a
+        parameter.
+
+        There are ten (10) well known parameters which are identified by
+        their tags. For these ten (10) parameters, the Web Deployment
+        Tool will automatically generate the correct description and
+        friendly name for each of ten (10) locales. These locales and
+        the details of the translation mechanism are documented in the
+        updated Packaging Guide.
+
+        NOTE: If a well known parameter has a description or a
+        friendlyName set, the Web Deployment Tool will not apply any
+        default text.
+
+        NOTE: There are a few parameters for WordPress which are not
+        in the list of well known parameters. These parameters have
+        English descriptions and friendlyNames only. Please refer to
+        the updated Packaging Guide for information on providing
+        additional translations for these parameters.
+-->
+
+
+<!-- The Application Path parameter is one of the ten well known
+        parameters which have descriptions and friendly names
+        automatically available.
+-->
+
+<parameter
+        name="AppPath"
+        defaultValue="Default Web Site/wordpress"
+        tags="iisapp"
+        >
+        <parameterEntry
+        type="ProviderPath"
+        scope="iisapp"
+        match="wordpress"
+        />
+</parameter>
+
+
+<!-- Database Parameters
+        The tags provided here tells the UI being used what type of
+        parameter this is. The UI can then construct an appropriate
+        dialog for the database parameters, or fill them in if the user
+        doesn't need to provide them
+-->
+
+<!-- This parameter prompts the user for the database server name.
+        Note that this parameter has only one parameterEntry element.
+        This parameter is used with the configuration file and the
+        connection string. It is not used within the SQL script itself
+        like some of the other parameters are.
+-->
+
+
+<parameter
+        name="DbServer"
+        defaultValue="localhost"
+        tags="MySQL,dbServer"
+        >
+        <parameterEntry
+        type="TextFile"
+        scope="wordpress\\wp-config.php"
+        match="localhost"
+        />
+</parameter>
+
+<!-- This parameter prompts the user for the database name. We have
+        set a validation RegEx on this parameter, as MySQL will not accept
+        a username that has more than 16 characters.
+-->
+<parameter
+        name="DbName"
+        defaultValue="wordpress"
+        tags="MySQL,dbName"
+        >
+        <parameterValidation
+        type="RegularExpression"
+        validationString="^\w{1,16}$"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="install.sql"
+        match="PlaceholderForDbName"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="wordpress\\wp-config.php"
+        match="putyourdbnamehere"
+        />
+</parameter>
+
+<!-- This parameter prompts the user for the database username. We
+        have set a validation RegEx on this parameter, as MySQL will not
+        accept a username that has more than 16 characters.
+-->
+<parameter
+        name="DbUsername"
+        defaultValue="wordpressuser"
+        tags="MySQL,DbUsername"
+        >
+        <parameterValidation
+        type="RegularExpression"
+        validationString="^\w{1,16}$"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="install.sql"
+        match="PlaceholderForDbUsername"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="wordpress\\wp-config.php"
+        match="usernamehere"
+        />
+</parameter>
+
+<!-- This parameter prompts the user for the database user's password.
+-->
+<parameter
+        name="DbPassword"
+        tags="New,Password,MySQL,DbUserPassword"
+        >
+        <parameterEntry
+        type="TextFile"
+        scope="install.sql"
+        match="PlaceholderForDbPassword"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="wordpress\\wp-config.php"
+        match="yourpasswordhere"
+        />
+</parameter>
+
+<!-- Prompts for the admin creds and uses it for the administrator
+        connection string. This is used to create a login and assign
+        permissions. The MySQL tag indicates it is a parameter required
+        for MySQL. The DbAdminUsername tag indicates it should be used
+        when the user is creating a new database. If they're not, it
+        can be filled in with the DbUsername value. The UI should be
+        able to figure out whether or not the user needs to be prompted
+        for this.
+-->
+
+<parameter
+        name="DbAdminUsername"
+        defaultValue="root"
+        tags="MySQL,DbAdminUsername"
+        >
+</parameter>
+
+<!-- Prompts for the admin password and uses it for the administrator
+         connection string.
+-->
+<parameter
+        name="DbAdminPassword"
+        description="Password for the database administrator account."
+        tags="Password,MySQL,DbAdminPassword"
+        >
+</parameter>
+
+<!-- This is the hidden admin connection string used to run the
+        database scripts. Note that this connection string is just
+        used here, and will probably be different from the connection
+        string that is used by the application itself.
+
+        The "Validate" tag tells the WebPI to validate that this
+        Connection String works prior to performing the rest of the
+        installation.
+-->
+
+<parameter
+        name="Connection String"
+        defaultValue="Server={DbServer};Database={DbName};uid={DbAdminUsername};Pwd={DbAdminPassword};"
+        tags="Hidden,MySQLConnectionString,Validate,MySQL"
+        >
+        <parameterEntry
+        type="ProviderPath"
+        scope="dbmysql"
+        match="install.sql"
+        />
+</parameter>
+
+
+<!-- WordPress specific parameters -->
+
+<!-- There were a number of parameters which relied on the
+        TextFilePosition parameterEntry type to define the section of a
+        file to be replaced. The TextFilePosition type is considered
+        fragile, as any change to the target file that occurs before the
+        text to be replaced will invalidate the position.
+
+        We are now using TextFile, which relies on a Regular Expression
+        (RegEx) to identify the text to change. There are some
+        parameters, where the text to be replaced is not unique enough
+        to target on it's own. In those cases, we used RegExes with
+        Lookbehind constructs to uniquely identify the text segment
+        to be replaced.
+-->
+
+<parameter
+        name="Key1"
+        friendlyName="Unique Key for Passwords"
+        description="Unique phrase used to strengthen your password."
+        defaultValue="put your unique phrase here"
+        tags="PHP"
+        >
+        <parameterValidation
+        type="RegularExpression"
+        validationString="^[^&#039;\\]+$"
+        />
+        <parameterEntry
+        type="TextFile"
+        match="(?&lt;=AUTH_KEY&#039;, &#039;)put your unique phrase here"
+        scope="wordpress\\wp-config.php"
+        />
+</parameter>
+
+<parameter
+        name="Key2"
+        friendlyName="Unique Key for Secure Passwords"
+        description="Different unique phrase used to strengthen SSL passwords."
+        defaultValue="put your unique phrase here"
+        tags="PHP"
+        >
+        <parameterValidation
+        type="RegularExpression"
+        validationString="^[^&#039;\\]+$"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="wordpress\\wp-config.php"
+        match="(?&lt;=SECURE_AUTH_KEY&#039;, &#039;)put your unique phrase here"
+        />
+</parameter>
+
+<parameter
+        name="Key3"
+        friendlyName="Unique Key for Authentication"
+        description="Different unique phrase used to strengthen authentication."
+        defaultValue="put your unique phrase here"
+        tags="PHP"
+        >
+        <parameterValidation
+        type="RegularExpression"
+        validationString="^[^&#039;\\]+$"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="wordpress\\wp-config.php"
+        match="(?&lt;=LOGGED_IN_KEY&#039;, &#039;)put your unique phrase here"
+        />
+</parameter>
+
+<parameter
+        name="Key4"
+        friendlyName="Second Unique Key for Authentication"
+        description="Another unique phrase used to strengthen authentication."
+        defaultValue="put your unique phrase here"
+        tags="PHP"
+        >
+        <parameterValidation
+        type="RegularExpression"
+        validationString="^[^&#039;\\]+$"
+        />
+        <parameterEntry
+        type="TextFile"
+        scope="wordpress\\wp-config.php"
+        match="(?&lt;=NONCE_KEY&#039;, &#039;)put your unique phrase here"
+        />
+</parameter>
+
+
+<!-- Set the correct path for the ACL based on the AppPath selected
+        by the user.
+-->
+
+<parameter
+        name="SetAclParameter1"
+        defaultValue="{AppPath}/wp-content"
+        tags="Hidden"
+        >
+        <parameterEntry
+        type="ProviderPath"
+        scope="setAcl"
+        match="wordpress/wp-content"
+        />
+</parameter>
+</parameters>
</ins><span class="cx">Property changes on: iis/parameters.xml
</span><span class="cx">___________________________________________________________________
</span><span class="cx">Name: svn:eol-style
</span><span class="cx"> + native
</span></span></pre>
</div>
</div>
</body>
</html>