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.

Document covers basics of standards and requirements for extension archive to be uploaded and included to marketplace.

 

Why follow standards:

It is important to follow set standards and keep extensions organized to deliver best quality extensions and experience to AbanteCart users.

In addition, standards help developers and open source community quickly adjust to future improvements in the system.

Our team continuously works on improving standards and making 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 submitted zip archive with any name you prefer. After archive is uploaded to marketplace server, it will be renamed to standard name constructed with extension unique text ID and extension version. Example: product_features101.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.

 

/[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 and other images

 

[extension_text_id]/admin/language/english/[extension_text_id]/[extension_text_id].xml

Main language file to support extension configuration in admin

 

Images:

To add extension to marketplace, 2 important images must be included. 

[extension_text_id]/mage/icon.png (57x57)

[extension_text_id]/image/main.jpg (750x400)

 

Additional images can be added with any name, size and '.jpg' extension. These images will be picked up and added to extension details page with preview image slider

 

NOTE: Archive size is limited to 10mb, 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 separate archive, not inside extension itself. Keep extension size to minimum to allow fast download and installation experience for customers.

 

 

 

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 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:

Extension needs to identify what AbanteCart version it will work on. Here some assumptions about AbanteCart version that needs to be mentioned.

AbanteCart Version specified in extension will represent minimum AbanteCart version supported. Newer AbanteCarts in same minor version range (example: 1.1.x) will be installed without warning. If AbanteCart minor version is changed, extension installer will display error.

Basically, extension core is supporting backwards compatibility from given version up to minor version change.

 

 

Continue