Extension Developer Help

AbanteCart Extension Submit Format Manual


Who this document for:

This is a quick reference for AbanteCart extension developer or individual submitting extension to AbanteCart Marketplace.
The document covers the basics of standards and requirements for extension archive to be uploaded and included to the marketplace.

Why follow standards:

It is important to follow set standards and keep extensions organized to deliver the best quality extensions and experience to AbanteCart users.
In addition, standards help developers and the open-source community quickly adjust to future improvements in the system.
Our team continuously works on improving standards and making the process of developing extensions easier and more fun. Check extension developer tool to help you generating standard extension framework.

Archive Naming Convention

You can name the submitted ZIP archive with any name you prefer. After the archive is uploaded to the marketplace server, it will be renamed to a standard name constructed with extension unique text ID and extension version. Example: product_features_v101.tar.gz

Check that your extension text ID is unique by using search in the Marketplace. Do not start extension ID with the word "default". This is restricted for AbanteCart default extensions.


Extension Archive Content

It is important to keep all the files and directories organized as described in extension development manual. Some required files and directories are listed below:

Package Level (main archive directory):
Required:
/[archive]/code/extensions/[extension_text_id]
/[archive]/license.txt
/[archive]/package.xml

Optional:
/[archive]/copyright.txt
/[archive]/code/extensions/[other_ext_id]
/[archive]/manuals/
/[archive]/code/extensions/[extension_text_id]
Directory with extension code added to AbanteCart.

Note: Multiple extensions can be included if needed, but only one (main) extension is used for installation.

/[archive]/license.txt
File to contain extension licensing information. This will be shown to the user at extension installation time. Make sure to set file UTF-8 encoding!

/[archive]/package.xml
Package details in XML format. See more details
Extension Level (/[archive]/code/extensions/[extension_text_id] ):

Required:

[extension_text_id]/config.xml
Extension setting and details in XML format. See more details

[extension_text_id]/main.php
Main extension driver containing details about extension files

[extension_text_id]/image
Images directory for extension icon

[extension_text_id]/admin/language/english/[extension_text_id]/[extension_text_id].xml
Main language file to support extension configuration in the admin

Images:

To add an extension to the marketplace, important images must be included.
[extension_text_id]/mage/icon.png (57px*57px)
NOTE: Archive size is limited to 6MB, so do not include files that are not used or not optimized in size. If you need large files to support your extension, you can include them in a separate archive, not inside the extension itself. Keep extension size to a minimum to allow a fast download and installation experience for customers.

Following images must be uploaded manually using our image uploader. You will be able to upload them after the initial package upload
icon-hi-resolution.png (114px*114px) - icon shown in marketplace listing gives your buyers a more idea of what to expect
main.jpg (1500px*800px) - Main preview image is an accurate representation of your extension. Png file extension is also allowed.
Additional images can be added with any name and '.jpg, .png' extensions. These images will be picked up and added to the extension details page with a preview image slider


Glossary:
Extension Unique Text ID (Extension Text ID)
Unique text ID to identify extension on the marketplace and inside AbanteCart. Extension Text ID is based on low case alphanumeric characters. Words can be separated by an underscore (_). No spaces or other special characters are allowed. Example: product_features

Extension Version:
It is important to manage versions for your extension. Marketplace tracks extension versioning to identify updates and upgrades in the extension.
Versions are based on Software versioning standard

AbanteCart Versions:
The extension needs to identify what AbanteCart version it will work on. Here are some assumptions about AbanteCart version that needs to be mentioned.
AbanteCart Version specified in extension will represent minimum AbanteCart version supported. Newer AbanteCarts in the same minor version range (example: 1.1.x) will be installed without warning. If AbanteCart minor version is changed, the extension installer will display an error.

Basically, the extension core is supporting backward compatibility from a given version up to minor version change.

Continue