This appendix demonstrates the metadata file of the WordPress application package. The following metadata file is extended with delimiters that separate file fragments added on different steps of the metadata file creation described in the Packaging WordPress Application section earlier in this guide.
<!-- Application namespaces and APS version (step 9) -->
<application xmlns="http://apstandard.com/ns/1" version="1.2">
<!-- Application common properties (step 9) -->
<id>http://wordpress.org/</id>
<name>WordPress</name>
<version>2.7.1</version>
<release>1</release>
<homepage>http://wordpress.org/</homepage>
<vendor>
<name>WordPress.org</name>
<homepage>http://wordpress.org/</homepage>
<icon path="images/icon.png"/>
</vendor>
<packager>
<name>Parallels</name>
<homepage>http://parallels.com</homepage>
<uri>uuid:714f0a7b-85d6-4eb8-b68e-40f9acbb3103</uri>
</packager>
<presentation>
<summary>WordPress is a state-of-the-art semantic personal
publishing platform with a focus on aesthetics, web
standards, and usability.
</summary>
<description>
WordPress is a state-of-the-art semantic personal
publishing platform with a focus on aesthetics,
web standards, and usability. What a mouthful.
WordPress is both free and priceless at the same time.
More simply, WordPress is what you use when you want
to work with your blogging software, not fight it.
</description>
<icon path="images/icon.png"/>
<screenshot path="images/admin_page.jpg">
<description>Admin page.</description>
</screenshot>
<changelog>
<version version="2.7.0" release="5">
<entry>'PHP safe mode off' requirement is added.</entry>
</version>
</changelog>
<categories>
<category>Web/Blog</category>
<category>Personal/Blog</category>
</categories>
<languages>
<language>en</language>
</languages>
</presentation>
<patch match="/application/version = '2.5.1'
and /application/release = '4'"/>
<upgrade match="/application/version = '2.0'"/>
<!-- Application service (step 4) -->
<service id="blog">
<!-- Service presentation properties (step 7) -->
<license must-accept="true">
<text>
<name>GPLv2</name>
<file>htdocs/license.txt</file>
</text>
</license>
<presentation>
<name>Blog</name>
<entry-points>
<entry class="control-panel" dst="/wp-admin/" method="POST">
Administrative Interface
</entry>
<entry class="frontpage" dst="/">Application entry point</entry>
</entry-points>
</presentation>
<!-- Service settings (step 7) -->
<settings>
<group>
<name>Administrator's preferences</name>
<setting id="admin_name" type="string"
default-value="admin" min-length="1"
max-length="32" regex="^[a-zA-Z][0-9a-zA-Z_\-]*">
<name>Administrator's login</name>
<error-message>Please make sure the text you entered
starts with a letter and continues with either numbers,
letters, underscores or hyphens.
</error-message>
</setting>
<setting id="admin_password"
type="password" min-length="1" >
<name>Password</name>
</setting>
<setting id="admin_email" type="email">
<name>Administrator's email</name>
</setting>
</group>
<group>
<name>Weblog's preferences</name>
<setting id="title" type="string" min-length="1">
<name>Weblog title</name>
</setting>
</group>
<group>
<name>Other 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="de-DE" >
<name>German</name>
</choice>
</setting>
</group>
</settings>
<!-- Service used technologies (step 6) -->
<requirements xmlns:php="http://apstandard.com/ns/1/php"
xmlns:db="http://apstandard.com/ns/1/db">
<php:version min="4.2.0"/>
<php:extension>mysql</php:extension>
<php:safe-mode>false</php:safe-mode>
<db:db>
<db:id>main</db:id>
<db:default-name>wordpress</db:default-name>
<db:can-use-tables-prefix>false
</db:can-use-tables-prefix>
<db:server-type>mysql</db:server-type>
<db:server-min-version>4.0.0</db:server-min-version>
</db:db>
</requirements>
<!-- Content delivery settings (step 8) -->
<provision>
<url-mapping>
<default-prefix>wordpress</default-prefix>
<installed-size>6696960</installed-size>
<mapping url="/" path="htdocs"
xmlns:php="http://apstandard.com/ns/1/php">
<php:handler>
<php:extension>php</php:extension>
</php:handler>
<mapping url="blogs/media">
<php:permissions writable="true"/>
</mapping>
<mapping url="wp-content">
<php:permissions writable="true"/>
</mapping>
<mapping url="tmp">
<php:permissions writable="true"/>
</mapping>
</mapping>
</url-mapping>
<!-- Service configuration script declaration (step 10) -->
<configuration-script name="configure">
<script-language>php</script-language>
</configuration-script>
</provision>
</service>
</application>