Simple Machines Forums (SMF) maniefest.xml sample

  • Published on August 28, 2009 by stjacobs
  • Updated on August 28, 2009 by stjacobs
<msdeploy.iisapp>
  <!-- iisapp path identifies the subdirectory in the ZIP file which
  contains all of the application files.
  -->
  <iisApp 
    path="smf-pkg"
    />
  <!-- dbmysql path identifies the SQL script file that will be executed
  for database setup.  In this app's case, the script is being used
  to create the database user for the application.
  -->
  <dbmysql 
    path="install.sql" 
    />
  <!-- alias is used to make a copy of a distribution file to a location
  where it will be used.  Note that when you specify the
  Application name in the "to" attribute, you should specify the
  full path using the value of iisapp above for the root.  Alias
  doesn't actually copy the file within the package.  It creates
  an alias to the original file using the new file's path and
  name.  This alias then gets copied to the file system as if it
  were a real file within the package
  -->

  <!-- #SMF - The SMF installation is very dependent on some of the
  functions of the install.php script.  However, that script is
  designed to be an interactive script.  Since we wanted to use
  the Web Platform Installer to handle all of the UI, we needed a
  way to get the functions from install.php without the UI.  We
  created a stripped down version of install.php called silent
  install.  This basically pared down the installation to Step1
  and Step2, and removed a large amount of code that is there to
  deal with environments that won't be relevant to Web Platform
  users.  We reduced the file to around 350 lines, down from
  1,850.
  -->

  <alias
    from="silent-install.php"
    to="smf-pkg/silent-install.php" />

  <!-- setAcl with no setAclResourceType set will default to setting
  an ACL on a directory.  We are setting an ACL here for the
  files directory.  This directory is used to store files that
  are uploaded for the application


  NOTE - with setAcl, the setAclUser can be explicitly set, or
  you can use the alias 'anonymousAuthenticationUser'.  This
  should be used in all situations, unless your application has a
  dependency on a specific OS user for access to these resources.

  Modify access includes Read and Write as well.  For a full
  breakdown on user rights, check out this article on MSDN:
  http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesystemrights.aspx

  setAcl with a setAclResourceType of "File" is used to set the
  access privileges for a file within the application.  In this
  case, the ACL is being set on the configuration file that was
  created after the alias above was copied to disk.  This will
  enable the application to write to the configuration file as
  needed.  
  -->

  <!-- #SMF - The list of paths and files to apply ACLs to came from
  the SMF setup program.  These were all the items that were
  identified as needing to be written to by SMF.
  -->

  <setAcl 
    path="smf-pkg/attachments"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/avatars"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/Packages"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/Packages/installed.list"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/Smileys"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/Themes"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/agreement.txt"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/Settings.php"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/Settings_bak.php"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <!-- #SMF - We need these ACLs to enable the install program to
  clean up after itself.
  -->

  <setAcl 
    path="smf-pkg/install.php"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/silent-install.php"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/install_1-1.sql"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />

  <setAcl 
    path="smf-pkg/webinstall.php"
    setAclResourceType="File"
    setAclAccess="Modify"
    setAclUser="anonymousAuthenticationUser" 
    />
</msdeploy.iisapp> 

Submit article feedback

You must Log In to submit feedback.