APS Application Certification Criteria

1.0


Table of Contents

1. Certification levels
2. Silver certification level
2.1. Generic requriements
2.2. Requirements for PHP applications
2.3. Requirements for applications using databases
2.4. Requirements for applications using web content
3. Gold certification level
3.1. Sharing DB
3.2. Upgrades
3.3. Patches
3.4. Full changelog
3.5. Screenshots
3.6. Languages
3.7. Categories
3.8. Predefined settings names

1. Certification levels

There are two certification levels:

Silver. "Works with APS"
Gold. "Designed for APS"

2. Silver certification level

Application will be certified as Silver if it satisfies the following requirements:

2.1. Generic requriements

The following requirements apply to the any application packaged.

2.1.1. Well-formed package

Application must be packaged according to the APS format specification. That is, every "MUST" and "SHOULD" requirements in specification text must be satisfied.

2.1.2. Application homepage

Package metadata must contain URL of the application homepage (application/homepage metadata element).

2.1.3. Packager homepage

Package metadata must contain URL of the packager homepage (application/package-homepage metadata element).

2.1.4. Default installation prefix

Package metadata must contain default prefix for installation on domain (application/default-prefix metadata element).

2.1.5. Summary

Package metadata must contain one-sentence summary of application (application/summary metadata element).

2.1.6. Description

Package metadata must contain one-paragraph description of application (application/description metadata element).

2.1.7. Icon

Package metadata must contain icon for application (application/icon/file metadata element must point to the icon in package).

2.1.8. License

Package must contain license text of the application (application/license metadata element).

2.1.9. Changelog for current version

Package must contain changelog for the current version of application (application/changelog metadata element).

2.1.10. Configuration script

Configuration script must allow installation, reconfiguration and deinstallation of application.

2.1.11. Declaring dependencies

If application needs resource described in aspect (e.g. PHP or database), it must be declared by supplying aspect-specific metadata in package metadata.

2.2. Requirements for PHP applications

The following requirements apply to the applications declaring use of PHP aspect.

2.2.1. Minimum compatible version

Package must declare versions of PHP compatible with application (php:version requirement element).

2.3. Requirements for applications using databases

The following requirements apply to the applications declaring use of database aspect.

2.3.1. Default database name

Package must declare default name for each database (db:default-name requirement element).

2.3.2. Compatible database servers

Package must declare minimum compatible version of database server for each database (db:server-min-version metadata attribute).

2.4. Requirements for applications using web content

The following requirements apply to the applications declaring use of web content aspect.

2.4.1. Content size

Package must declare approximate size for each part in web content description (applicaiton/installed-size metadata element).

3. Gold certification level

Application is certified as Gold if it satisfies the requirements of Silver certification level and the following additional requimenents:

3.1. Sharing DB

If application is capable of sharing database with other applications by using table prefixes this must be declared in package by db:can-use-tables-prefix requirement element.

3.2. Upgrades

If application supports upgrades from previous versions this must be declared in package by application/upgrades or application/upgradable-from elements and appropirate upgrade operation must be implmented in configure script.

3.3. Patches

If application supports update from previous versions in patch mode this must be declared in package by application/patches or application/patchable-from elements.

3.4. Full changelog

Package must contain changelog for all released versions of the package (application/changelog metadata element).

3.5. Screenshots

Package must contain screenshots for the application (application/screenshot metadata element).

Screenshots must be of 640 pixels width and must not contain browser frame.

3.6. Languages

Package metadata must contain information about the languages supported by the application. (application/languages metadata element).

3.7. Categories

Package metadata must contain information about the categories this package belongs to (application/categories metadata element).

3.8. Predefined settings names

Package must use predefined names for the settings denoting title of application instance, name, password and email of application, and locale of the application (title, admin_name, admin_password, admin_email, locale), according to the specification.