Developing & Contributing
When developing or testing the extension it may be useful to connect it to your local Nosto environment or the the staging environment instead of the live one. This can be done by modying a "Dot Env" (.env) file in the Nosto SDK that the extension uses. After having installed the extension in Magento, copy MAGENTO/lib/nosto/php-sdk/.env.example
to MAGENTO/lib/nosto/php-sdk/.env
and modify the parameters.
NOSTO_SERVER_URL
is the Nosto url used in the store frontNOSTO_API_BASE_URL
is the base url for all API calls to NostoNOSTO_OAUTH_BASE_URL
is the base url for connecting Nosto accounts through OAuthNOSTO_WEB_HOOK_BASE_URL
is the base url for Nosto web hooksNOSTO_IFRAME_ORIGIN_REGEXP
is a regexp for validating window.postMessage() event origin dispatched by the account configuration iframe
The sample .env
file can viewed here
Note that you can only have one .env file at a time, and if you wish to switch between environments you can copy them into .env.[environment]
files. This way you can switch the environment by replacing the .env with the correct .env.[environment] file.
Resources
Javascript development
In order to make changes to javascript files you must first modify the layout files so that the javascript sources are pointing to the not minified versions of the files. If you for example need to make changes to the iframe handler (js/nosto/iframeHandler.min.js
) do the following modifications to app/design/adminhtml/default/default/layout/nostotagging.xml
.
Make sure the nosto-src
directory is symlinked from $mage_root/js/
correctly to js/nosto-src
in Nosto extension.
Once you have made the changes to javascript file the files must be minified using Grunt. Simply run grunt uglify
in the extension root folder and change you layout files again to point to the minified versions.
Please note that currently only the iframeHandler.js
can be minified with grunt.
Packaging
The recommended way of packaging the extension is by using Phing. Phing uses Magazine to create a Magento Connect compatible package. Using Phing is simple.
First, uppdate your dependencies by running:
The run following command in the extension's root directory to package the extension.
The version parameter must match the version number you have in the app/code/community/Nosto/Tagging/etc/config.xml
and in the magazine.json
.
Releasing
To release a new version of the extension to the Magento Connect Marketplace, you do the following:
Log in to Magento Connect and click on "Developers" in the left-hand menu. Under the "Manage Extensions" section find the extension and click "Edit". Click the "Versions" tab at the top of the page and then click the "Add new version" button at the bottom of the page. Fill in the release details:
Version Number: Enter exactly the same version number as in the extension you are releasing (
config.xml
file)Version Stability: "Stable"
Release Notes Title: Any title.
Release Notes: Any releases notes. For example, the changelog.
Show on Frontend: "Yes"
Select all versions from 1.6 to the newest supported version from the "Community" section and select all versions from 1.11 to the newest supported version under the "Enterprise" section. Click the "Continue to upload" button, choose the .tgz release package you want to release and then click "Upload and save".
Last updated