Thoroughly test your product using the check list provided below. Fulfillment of these recommendations significantly reduces the moderation time and the chance to receive a publication refusal.
Average moderation times are the following: for design themes 2 working days, for apps and plugins 4–5 working days.
1. Enable tracking of PHP errors
php.ini specify the following value:
error_reporting = E_ALL
or add this line to file
php_value error_reporting 2147483647
2. Enable tracking of SQL errors
Add the following value to file
'sql_mode' => 'TRADITIONAL',
3. Installation in domain root or in subdirectory
Test your product when the framework is installed in the domain root directory (e.g., at
http://localhost/) or in domain's subdirectory (e.g., at
Test your product for cases when backend URL is different from /webasyst/. To generate correct URL for backend resources in Smarty templates, use
4. Settlement setup
If your product (design theme or plugin) utilizes frontends of framework's apps, test it in the following conditions:
- Only one settlement for an app exists.
- Several settlements for an app exist.
- No settlements for an app exist.
When testing, create settlements at the main website URL (with mask
*) and with nested URLs (with masks of the form
some/path/*). For example, if you are developing a plugin for the online store, test its operation in the cases when the storefront is available at a URL of the form
http://domain.com/ and at
5. Integration with other apps
If your product utilizes functionality provided by other Webasyst apps, test it in the cases when such additional apps are installed and when they are not installed.
Do test your product in the case when additional apps are installed but the current user does not have access to them (due to access rights setup).
6. Use of additional PHP extensions
If your product utilizes additional PHP extensions which are not listed in the basic system requirements, ensure that you have specified such extensions in product's configuration file
lib/config/requirements.php (specifying system requirements).
Some of additional PHP extensions previously installed on a user's server can be disabled after the product installation. Therefore, you must also test your product's behavior in the cases when such additional extensions are unavailable.
7. Data input
If your products assumes input of various data by user, test it in the following cases:
- input of text instead of a number
- input of a float value instead of an integer
- input of one or several whitespace characters instead of text or number
- input of text containing single or double quotation marks
- input of large text
- input of one or more zeros
- input of text in upper and lower case
- selection or unselection of all items in a checkbox group
8. Clean installation
Test your product immediately upon installation:
- Install the framework into an empty directory.
- Copy your product's files to the appropriate directory.
For apps and plugins, also complete these additional steps:
- Add a record about your product to the appropriate configuration file in directory
- Perform any action with framework apps (e.g., open a frontend or backend page) to execute your product's code.
9. Browser support
Test your product in the latest versions of different Internet browsers.
10. Additional testing
Test your product with large amount of data; e.g., products, features, requests, files, lines, columns, etc.
Check the availability of security breaches; e.g., XSS.
11. Webasyst TV
Widgets must be operational both on light background of a personal dashboard and on dark Webasyst TV panels, and must allow adding of numerous instances of a widget to a panel/dashboard.
Use spelling check tools to ensure that none of product's localization strings or descriptions for Webasyst Store contain spelling errors.
Self-test your product using a comprehensive check list to get your product approved on the very first submission.