Developer guide

JA Extension Manager - Joomla extension for Joomla 2.5 and Joomla 3 documentation

In this section we would like to document the development of external repositories to work with JA Extensions Manager, a documentation useful for third party developers willing to provide update services via JA Extensions Manager.

  • PHP 5.x.x
  • Enable CURL PHP extension (Recommended, if not the system will use socket instead)
  • Step 1 - Checkout Service' Source Code from this SVN link or download a compressed file at JoomlArt Website (link coming soon)
  • Step 2 - Build repository to store all your extensions. You can arrange your repository with any structure, but we recommend using a fixed path for the following locations of any extension (with extension properties (core product, type, name of extension, version of extension)
    • path to list of versions:
      Example: /path_to_repository/component/com_jaextmanager/
      This folder must have one XML file called jaupdater.element_info.xml to hold all information about this extensions, so services can get extension' information from it
    • path to specific version:
      Example: path to our "version 1.5.0 of Extensions Manager Component" is: /path_to_repository/component/com_jaextmanager/1.5.0/com_jaextmanager/
  • Step 3 - Implement the authentication method
    • We recommend to provide basic interface for authentication
    • Let's implements this interface if you want users to authenticate for using your service. Here is a step-by-step guide to deploy your authentication method:
      • Select a name for your service. (Example: joomlart)
      • go to location: /path_to_service/jaupdater/core/auth/
      • create a file named "authJoomlart.php"
      • create a class named "jaAuthJoomlart"
      • see our class source as an example.
  • Step 4 - Configure your service
    • Go to your service' location, open config.php file.
      • Configure authentication method
        Remember the above name, leave blank if no authentication is required
        Example: "WS_AUTH_PROVIDER"=>"joomlart" // your service provider name here
      • Configure the path to repository and the structure of your repository
        Example: with our above structure, the configuration will be:
        "PRODUCT_VERSIONS"=> "{repo}/{type}/{extFolder}/"
        "PRODUCT_LOCATION"=> "{repo}/{type}/{extFolder}/{version}/{extFolder}/"
    • set the CHMOD for the "packages" folder to be writeble (777)
  • Step 5 - Publish your service URL to user
  • Step 6 - Install JA Extensions Manager Component (com_jaextmanager) and try your service now!

jaupdater.element_info.xml file structure is an XML information file to include the main information:

  • Extension general information
  • List versions of extension

Important: The list must be sorting in a descending order (always have latest version first)

<?xml version="1.0" encoding="utf-8"?>
<title>Plugin JA Comment</title>
<date>2010-02-06 01:32:25</date>