Monday, 25 September 2017 23:40

Release System Module API

The Release System Module is implemented with the plg_jbackend_release plugin. It provides functions to implement a full Joomla Update Server and/or a generic Package Distribution System based on Joomla. It supports both free and paid packages, and it is seamlessly integrated with Joomla user's groups for authorization and license key generation. Here is the list of supported methods.

Generate key by email

Sends an email to the user with the license key for the specified package group.

Request parameters

action=post
module=release
resource=keybyemail
id=<package group>
email=<user email>

Example

<end-point>?action=post&module=release&resource=keybyemail&id=redj_ent&email=This email address is being protected from spambots. You need JavaScript enabled to view it.

Example (REST format)

<end-point>/post/release/keybyemail/redj_ent?email=This email address is being protected from spambots. You need JavaScript enabled to view it.

Response

{
    "status": "ok"
}

Notes

email is the user's account email on Joomla.

 

Generate key by authentication

Returns the license key for the specified package group.

Request parameters

action=post
module=release
resource=keybyauth
id=<package group>
username=<username>
password=<password>

Example

<end-point>?action=post&module=release&resource=keybyauth&id=redj_ent&username=user123&password=pass123

Example (REST format)

<end-point>/post/release/keybyauth/redj_ent?username=user123&password=pass123

Response

{
    "status": "ok",
    "email": "user email",
    "key": "license key"
}

Notes

username and password are the credentials used for the user's account on Joomla.

 

Validate key

Checks if a license key is valid for the specified package group.

Request parameters

action=post
module=release
resource=validate
id=<package group>
email=<user email>
key=<license key>

Example

<end-point>?action=post&module=release&resource=validate&id=redj_ent&email=This email address is being protected from spambots. You need JavaScript enabled to view it.&key=fd8s809f89ds8f90sd81231sdsds323

Example (REST format)

<end-point>/post/release/validate/redj_ent?email=This email address is being protected from spambots. You need JavaScript enabled to view it.&key=fd8s809f89ds8f90sd81231sdsds323

Response

{
    "status": "ok"
}

 

Verify key

Checks if a license key is valid for the specified package id.

Request parameters

action=post
module=release
resource=verify
id=<package id>
email=<user email>
key=<license key>

Example

<end-point>?action=post&module=release&resource=verify&id=redj_ent_190&email=This email address is being protected from spambots. You need JavaScript enabled to view it.&key=fd8s809f89ds8f90sd81231sdsds323

Example (REST format)

<end-point>/post/release/verify/redj_ent_190?email=This email address is being protected from spambots. You need JavaScript enabled to view it.&key=fd8s809f89ds8f90sd81231sdsds323

Response

{
    "status": "ok"
}

Notes

This method is intended to verify a license key over a specific package id before to download it.

 

Download package

Download the package for the specified package id.

Request parameters

action=post
module=release
resource=download
id=<package id>
email=<user email>
key=<license key>

Example

<end-point>?action=post&module=release&resource=download&id=redj_ent_190&email=This email address is being protected from spambots. You need JavaScript enabled to view it.&key=fd8s809f89ds8f90sd81231sdsds323

Example (REST format)

<end-point>/post/release/verify/redj_ent_190?email=This email address is being protected from spambots. You need JavaScript enabled to view it.&key=fd8s809f89ds8f90sd81231sdsds323

Response

The binary package (as application/octet-stream)

 

Plugin Settings

jBackend Release System Plugin Settings

The following options are available for release system plugin:

Option Description
Folder Packages distribution folder path relative to Joomla root folder (JPATH_ROOT).
Package groups List of package groups. Packages in the same group share the same license key. Format is 'package group;groups[;hash;package name]' where package group is an unique identifier (e.g. redj_enterprise), groups is a list of user groups allowed to download packages in this group separated by commas (e.g. 1,3,5), hash is an optional random string used as seed for the generation of group's license keys, and package name is the human readable name of the package (e.g. ReDJ Enterprise).
Packages List of packages to distribute. Format is 'package id;package path[;package group]' where package id is an unique identifier (e.g. redj_ent_190), package path is the path of the package file relative to the packages distribution folder (e.g. private/joomla/redj/ReDJ1.9.0.zip), and package group is the group identifier (optional, not required for free downloads).

Since version 1.6 Joomla has an Update System that allows you to update installed extensions automatically. And since January 10th 2017 supporting this system is almost mandatory for each extension.

Published in Newsblog
Monday, 25 September 2017 23:13

jBackend Release System

jBackend Release System is a jBackend module that provides all features to implement a full Joomla Update Server and/or a generic Package Distribution System based on Joomla. It works with both jBackend and jBackend Community.

It can be used to distribute free packages, and paid packages as well. For paid packages the download restrictions are based on license keys, that are automatically generated and securely distributed to licensed users, authorized thorugh Joomla user's groups. Technical documentation is available here. An article that describes how it works can be found here.

Features

  • Configurable packages distribution folder;
  • Free and access restricted package distribution;
  • Multiple package groups (releases in the same group share the license key);
  • Multiple user groups can be enabled for each package group;
  • Multiple package releases for each package group;
  • Secret hash for each package group (increase security for generated license keys);
  • Really lite (less than 700 lines of code).

 

jBackend Release System

 

jBackend Release System is released under GPL 2.0 license.

Buy Subscription to jBackend Release System

Published in Products
Wednesday, 15 January 2014 00:00

Plugin settings

In this paragraph we will explain the meaning of each plugin parameter. To edit plugin settings go to menu "Extensions" -> "Plug-in Manager", find "System - ReDJ Community" or "System - ReDJ Enterprise" in the list and click on it to access to configuration page.

Basic Plugin Parameters

ReDJ basic plugin settings

In the following table there’s a list of all basic plugin parameters.

NameValueDescription
Custom page 404 No/Yes No, disables. Yes, replace Joomla standard error page with a custom one.
Page 404 Drop-down list Allows to select the custom error page to use. Pages can be created under the ReDJ component, section "Pages 404". The page is used only when "Custom page 404" option is set to Yes.
Track errors No/Yes No, disabled. Yes, enable errors trace for site URL calls (trace data are visible under ReDJ component).
Track referrers No/Yes No, disabled. Yes, enable referers trace from site visitors (trace data are visible under ReDJ component).
Referers to exclude Text List of domains to ignore when tracing referers from site visitors, one per row (e.g. www.google.com). The following macros are also available and can be indicated each one on a single row: {self} to exclude the own domain (i.e. internal referer), {none} to exclude visits without referer.
Redirect any error No/Yes No, disabled. Yes, redirect any error call, that don’t match with any (active) redirect item, to a common destination page. Beware that this also replace the custom error 404 page, just because no more error 404 can be obtained from site calls.
Redirect URL Text Absolute URL where to redirect all the errors with a 301 return code (e.g. http://www.google.it). The URL is used only when "Redirect any error" option is set to Yes, and only if none of the enabled items match with the error URL (i.e. after redirect phase). A {siteurl} macro is also supported here.

Advanced Plugin Parameters

ReDJ advanced plugin settings

In the following table there’s a list of all advanced plugin parameters.

NameValueDescription
Shortcut extensions Text List of comma separated file extensions to drop on error page for 404 error (e.g. gif,jpg,jpeg,png). This can be useful, as example, to avoid the full redirect process for each call to a non-existing image.
Base path Text The web site base installation path (e.g. /myportal if the site's homepage is http://www.mysite.com/myportal). This string will be dropped from any request before to check redirection rules. This increase portability for configured items. Leave blank if the site is installed on the root.
Published in ReDJ for Joomla 2.5