<!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>+&lt;!-- wp-version 2.8.4 --&gt;
+&lt;MSDeploy.iisApp&gt;
+        &lt;iisApp path=&quot;wordpress&quot;/&gt;
+        &lt;dbmysql path=&quot;install.sql&quot; /&gt;
+        &lt;setAcl path=&quot;wordpress/wp-content&quot;
+                setAclUser=&quot;anonymousAuthenticationUser&quot;
+                setAclAccess=&quot;Modify&quot; /&gt;
+        &lt;alias from=&quot;wordpress/wp-config-sample.php&quot; to=&quot;wordpress/wp-config.php&quot; /&gt;
+&lt;/MSDeploy.iisApp&gt;
</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>+&lt;parameters&gt;
+&lt;!--  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.
+--&gt;
+
+&lt;!--  One of the new features provides for localization of text
+        strings within the parameters.xml file.  This localization can
+        be applied to &quot;description&quot; and &quot;friendlyName&quot; 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.
+--&gt;
+
+
+&lt;!--  The Application Path parameter is one of the ten well known
+        parameters which have descriptions and friendly names
+        automatically available.
+--&gt;
+
+&lt;parameter
+        name=&quot;AppPath&quot;
+        defaultValue=&quot;Default Web Site/wordpress&quot;
+        tags=&quot;iisapp&quot;
+        &gt;
+        &lt;parameterEntry
+        type=&quot;ProviderPath&quot;
+        scope=&quot;iisapp&quot;
+        match=&quot;wordpress&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+
+&lt;!-- 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
+--&gt;
+
+&lt;!-- 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.
+--&gt;
+
+
+&lt;parameter
+        name=&quot;DbServer&quot;
+        defaultValue=&quot;localhost&quot;
+        tags=&quot;MySQL,dbServer&quot;
+        &gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        match=&quot;localhost&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+&lt;!-- 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.
+--&gt;
+&lt;parameter
+        name=&quot;DbName&quot;
+        defaultValue=&quot;wordpress&quot;
+        tags=&quot;MySQL,dbName&quot;
+        &gt;
+        &lt;parameterValidation
+        type=&quot;RegularExpression&quot;
+        validationString=&quot;^\w{1,16}$&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;install.sql&quot;
+        match=&quot;PlaceholderForDbName&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        match=&quot;putyourdbnamehere&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+&lt;!-- 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.
+--&gt;
+&lt;parameter
+        name=&quot;DbUsername&quot;
+        defaultValue=&quot;wordpressuser&quot;
+        tags=&quot;MySQL,DbUsername&quot;
+        &gt;
+        &lt;parameterValidation
+        type=&quot;RegularExpression&quot;
+        validationString=&quot;^\w{1,16}$&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;install.sql&quot;
+        match=&quot;PlaceholderForDbUsername&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        match=&quot;usernamehere&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+&lt;!-- This parameter prompts the user for the database user's password.
+--&gt;
+&lt;parameter
+        name=&quot;DbPassword&quot;
+        tags=&quot;New,Password,MySQL,DbUserPassword&quot;
+        &gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;install.sql&quot;
+        match=&quot;PlaceholderForDbPassword&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        match=&quot;yourpasswordhere&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+&lt;!-- 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.
+--&gt;
+
+&lt;parameter
+        name=&quot;DbAdminUsername&quot;
+        defaultValue=&quot;root&quot;
+        tags=&quot;MySQL,DbAdminUsername&quot;
+        &gt;
+&lt;/parameter&gt;
+
+&lt;!-- Prompts for the admin password and uses it for the administrator
+         connection string.
+--&gt;
+&lt;parameter
+        name=&quot;DbAdminPassword&quot;
+        description=&quot;Password for the database administrator account.&quot;
+        tags=&quot;Password,MySQL,DbAdminPassword&quot;
+        &gt;
+&lt;/parameter&gt;
+
+&lt;!-- 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 &quot;Validate&quot; tag tells the WebPI to validate that this
+        Connection String works prior to performing the rest of the
+        installation.
+--&gt;
+
+&lt;parameter
+        name=&quot;Connection String&quot;
+        defaultValue=&quot;Server={DbServer};Database={DbName};uid={DbAdminUsername};Pwd={DbAdminPassword};&quot;
+        tags=&quot;Hidden,MySQLConnectionString,Validate,MySQL&quot;
+        &gt;
+        &lt;parameterEntry
+        type=&quot;ProviderPath&quot;
+        scope=&quot;dbmysql&quot;
+        match=&quot;install.sql&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+
+&lt;!-- WordPress specific parameters --&gt;
+
+&lt;!-- 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.
+--&gt;
+
+&lt;parameter
+        name=&quot;Key1&quot;
+        friendlyName=&quot;Unique Key for Passwords&quot;
+        description=&quot;Unique phrase used to strengthen your password.&quot;
+        defaultValue=&quot;put your unique phrase here&quot;
+        tags=&quot;PHP&quot;
+        &gt;
+        &lt;parameterValidation
+        type=&quot;RegularExpression&quot;
+        validationString=&quot;^[^&amp;#039;\\]+$&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        match=&quot;(?&amp;lt;=AUTH_KEY&amp;#039;, &amp;#039;)put your unique phrase here&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+&lt;parameter
+        name=&quot;Key2&quot;
+        friendlyName=&quot;Unique Key for Secure Passwords&quot;
+        description=&quot;Different unique phrase used to strengthen SSL passwords.&quot;
+        defaultValue=&quot;put your unique phrase here&quot;
+        tags=&quot;PHP&quot;
+        &gt;
+        &lt;parameterValidation
+        type=&quot;RegularExpression&quot;
+        validationString=&quot;^[^&amp;#039;\\]+$&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        match=&quot;(?&amp;lt;=SECURE_AUTH_KEY&amp;#039;, &amp;#039;)put your unique phrase here&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+&lt;parameter
+        name=&quot;Key3&quot;
+        friendlyName=&quot;Unique Key for Authentication&quot;
+        description=&quot;Different unique phrase used to strengthen authentication.&quot;
+        defaultValue=&quot;put your unique phrase here&quot;
+        tags=&quot;PHP&quot;
+        &gt;
+        &lt;parameterValidation
+        type=&quot;RegularExpression&quot;
+        validationString=&quot;^[^&amp;#039;\\]+$&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        match=&quot;(?&amp;lt;=LOGGED_IN_KEY&amp;#039;, &amp;#039;)put your unique phrase here&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+&lt;parameter
+        name=&quot;Key4&quot;
+        friendlyName=&quot;Second Unique Key for Authentication&quot;
+        description=&quot;Another unique phrase used to strengthen authentication.&quot;
+        defaultValue=&quot;put your unique phrase here&quot;
+        tags=&quot;PHP&quot;
+        &gt;
+        &lt;parameterValidation
+        type=&quot;RegularExpression&quot;
+        validationString=&quot;^[^&amp;#039;\\]+$&quot;
+        /&gt;
+        &lt;parameterEntry
+        type=&quot;TextFile&quot;
+        scope=&quot;wordpress\\wp-config.php&quot;
+        match=&quot;(?&amp;lt;=NONCE_KEY&amp;#039;, &amp;#039;)put your unique phrase here&quot;
+        /&gt;
+&lt;/parameter&gt;
+
+
+&lt;!-- Set the correct path for the ACL based on the AppPath selected
+        by the user.
+--&gt;
+
+&lt;parameter
+        name=&quot;SetAclParameter1&quot;
+        defaultValue=&quot;{AppPath}/wp-content&quot;
+        tags=&quot;Hidden&quot;
+        &gt;
+        &lt;parameterEntry
+        type=&quot;ProviderPath&quot;
+        scope=&quot;setAcl&quot;
+        match=&quot;wordpress/wp-content&quot;
+        /&gt;
+&lt;/parameter&gt;
+&lt;/parameters&gt;
</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>