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.