Appendix A. Sample Metadata File

This appendix demonstrates the metadata file of the phpBB application package. The phpBB application is chosen because it is an open source application with a simple metadata file. Its application package can be downloaded at http://www.apsstandard.com/app/id,8. The following metadata file is extended with delimiters that separate file fragments added on different steps of the metadata file creation described in the Creating Application Package Metadata File section.

<!-- Begin of the fragment added at the first procedure step -->
 
 
<application xmlns="http://apstandard.com/ns/1">
  <name>phpBB</name>
  <packager-uri>uuid:714f0a7b-85d6-4eb8-b68e-40f9acbb3103</packager-uri>
  <version>2.0.22</version>
  <release>16</release>

  <summary>Highly customizable PHP open-source bulletin board package</summary>
  <description>
phpBB is a high powered, fully scalable, and highly customizable open-source
bulletin board package. phpBB has a user-friendly interface, simple and
straightforward administration panel, and helpful FAQ. Features include:
Unlimited forums and posts; Multiple language interface; Private or public forums;
Powerful search utility; Private messaging system; Templates.
</description>

  <icon path="images/icon.png"/>

  <screenshot path="images/app-screenshot-1.png">
<description>
This is the administrator's front page. Here you can manage forum entries and user accounts.
</description>
</screenshot>

  <screenshot path="images/app-screenshot-2.png">
    <description>Screenshot 2.</description>
  </screenshot>

  <license must-accept="true">
    <text>
      <name>GPLv2</name>
      <file>htdocs/LICENSE</file>
    </text>
  </license>

  <configuration-script-language>php</configuration-script-language>

  <changelog>
    <version version="2.0.22" release="1">
      <entry>New upstream version</entry>
    </version>
    <version version="2.0.19" release="16">
      <entry>Initial package version</entry>
    </version>
  </changelog>

  <entry-points>
    <entry>
      <path>/admin</path>
      <label>Administrative interface</label>
    </entry>
  </entry-points>

  <installed-size>2200000</installed-size>

  <categories>
    <category>Forum</category>
  </categories>

  <settings>
    <group>
      <name>Administrator's preferences</name>
      <setting id="admin_login" type="string" default-value="admin" min-length="1" regex="^[a-zA-Z]{1}[0-9a-zA-Z_\-]{0,32}">
        <name>Administrator's login</name>
      </setting>
      <setting id="admin_passwd" type="password" min-length="1" >
        <name>Password</name>
      </setting>
      <setting id="admin_email" type="email">
        <name>Administrator's email</name>
      </setting>
      <setting id="site_name" type="string" min-length="1">
        <name>Site name</name>
      </setting>
      <setting id="site_desc" type="string" min-length="1">
        <name>Site description</name>
      </setting>
    </group>
    <group>
      <name>Default preferences</name>
      <setting id="locale" type="enum" default-value="en-US">
        <name>Interface language</name>
	<choice id="en-US" >
	  <name>English</name>
	</choice>
	<choice id="fr-FR" >
	  <name>French</name>
	</choice>
	<choice id="de-DE" >
	  <name>German</name>
	</choice>
      </setting>
    </group>
  </settings>
 
 
<!--End of the fragment added at the first procedure step -->
 
 
<!--Begin of the fragment added at the second procedure step -->
 
 
  <requirements xmlns:php="http://apstandard.com/ns/1/php" xmlns:db="http://apstandard.com/ns/1/db">
    <php:version min="4.0.0"/>
    <php:extension>mysql</php:extension>
    <db:db>
      <db:id>main</db:id>
      <db:default-name>phpbb</db:default-name>
      <db:can-use-tables-prefix>true</db:can-use-tables-prefix>
      <db:server-type>mysql</db:server-type>
      <db:server-min-version>3.0.0</db:server-min-version>
      
      
      
    </db:db>
  </requirements>
 
 
<!--End of the fragment added at the second procedure step -->
 
 
<!--Begin of the fragment added at the third procedure step -->
  <mapping url="/" path="htdocs" xmlns:php="http://apstandard.com/ns/1/php">
    <php:handler>
      <php:extension>php</php:extension>
    </php:handler>
    
    <mapping url="images/avatars">
      <php:permissions writable="true"/>
    </mapping>    
  </mapping>

</application>
 
 
<!--End of the fragment added at the third procedure step -->

 

This file contains declarations that tell a Controller to create specific environment variables that are passed to application package scripts. For details what variables are in the list, refer to the Appendix B.