Skip to content

JED Extensions Checker CI

Anibal Sanchez edited this page Nov 21, 2020 · 5 revisions

JED Checker - The Joomla Extension

JED Checker is currently the main tool to validate the extensions. All extensions must be validated to be submitted to the extensions directory.

JED Checker Online Service - To be developed

  • JED Checker Online - Project Leader: TBD
  • JED Team Leader / Wiki curator: Anibal Sanchez (JED Team Leader)
  • Stakeholders: David Jardin (JSST Team Leader) and Harald Leithner (Production Department Coordinator)

Business need

JED checker is our primary tool to improve the quality of Joomla extensions and promote good practices of coding among the community. This project aims to create the next iteration of JED Checker to provide an accurate assessment of the quality of an extension.

Keep in mind these guidelines. JED Checker will provide:

  • Education on the project practices and the general PHP quality recommendations
  • Direction about what is recommended/required
  • Example Sample code about how the issues can be solved

We propose a new comprehensive service to validate extensions, backed by professional well-known and proven tools. Sample URLs:

  • extensions.joomla.org/validador - Available only for JED Extension Developers -
  • extensions.joomla.org/checker - Available only for JED Extension Developers -
  • validator.joomla.org

Goals

  1. Evaluation of Joomla extensions in terms of the industry standard practices
  2. Support of our own Joomla coding practices
  3. Comprehensive reporting of the leading software dimensions
  4. The next iteration of JED Checker will be an online service
  5. It is going to be based on solid rule engines
  6. The service will provide guidance and information to improve the quality of extensions
  7. The visualization of this information will significantly improve the average quality.

Product scope description

The online service will provide a user interface to upload an extension and a report of the quality assessment. The extension will be evaluated in the following areas (inspired by PrestaShop validator, see below):

  1. JED Requirements
  2. Structure
  3. Common Errors
  4. Compatibility
  5. Mobile Optimizations
  6. Translations
  7. Licenses
  8. Security
  9. Standards

The developer will have a trusted tool to evaluate the extension during the initial development, and the tool will be available to monitor the long term quality. JED could show a "seal" of quality, associated with a version and date to encourage the periodic checkup of the extension to monitor and take into account new threats.

System Design

The project will use and integrate the same quality tools used in Joomla CMS development. They will be adapted and streamlined to validate a third-party extension in an automated way. The final list of tools is under review. This is the current list of available tools/services:

The aim of the project is creating the service to coordinate and manage the standardization and the definition of a baseline of expected quality. The project will not create new tools beyond what is commonly used by the Core team in the Joomla CMS development.

Requirements / Limitations

  • At this stage, the service will be restricted to JED Developers/ Extension owners, managing their own extensions. Users are going to be allowed to validate any extension or software package.

Screenshots

Visual Prototype of the future JED Checker Online

Visual Prototype of the future JED Checker Online

Visual Prototype of the future JED Checker Online

Current JED Checker v2

The current JED Checker implements a set of custom rules to validate a few points in the extensions. JED Checker v2 is a free small component, initially developed by Compojoom, and now supported by the JED Team.

Current JED Checker v2

PrestaShop Module Validator

The PrestaShop validator is a similar service offered to check modules for the e-commerce suite. https://validator.prestashop.com

PrestaShop Module Validator

FAQ

  • Online JED validator will allow me to check side projects for free?

Yes, the packages must be valid Joomla extensions. The service will apply validations incrementally until all points are approved. The tool will be designed to help extension developers/owners, developing their own extension. The service will not be an audit tool, producing complete reports or assessments.

Ideas - Nice to have