Magento 2
  • Personalization for Magento 2
  • Installing
  • Disconnecting
  • Uninstalling
  • Getting Started
  • Configuring
  • Hyvä Theme
  • Guides
    • Migrating to Magento2
    • Upgrading to >= 4.0.0
    • Varnish & Full-Page Caches
    • Advanced User Guide
    • Managing Blocks
    • Overriding or Extending Functionalities
      • Overriding Product Data
        • Excluding Products
        • Customising Pricing
        • Customising Categories
        • Resizing Images
      • Overriding Customer Data
    • Console Commands
    • Tagging Providers
  • Features
    • Product data caching
      • Built-in caching
      • Database caching
    • Variations (Configurable Products)
    • Add to Cart
    • Indexer
      • On 7.x
      • On 5.x and 6.x
      • On 4.x
      • On 3.x
    • Customer Group Pricing
    • Supplier Cost & Inventory Level
    • Restore Cart Link
    • Ratings & Reviews
    • Multi Currency (Exchange Rates)
    • Marketing permission and GDPR compatibility
    • Content Staging & Special Prices
  • Integrations
    • Using Yotpo
  • FAQ
  • Developing & Contributing
  • Visit Nosto
  • Issues
  • Releases
  • Addons
    • Multi Source Inventory (MSI)
      • Installing
      • Uninstalling
      • Configuring
    • Category Merchandising (CM 1.0)
      • Installing
      • Uninstalling
      • Configuring
      • Guides
        • Translating Frontend Strings
        • PWA Implementation
        • Using Elasticsearch
        • Segmentation
        • Overriding or Extending Functionalities
          • Customize Query Parameters
          • Customize Page Size Limit
          • Customize Exclude Filters
        • Debugging
Powered by GitBook
On this page
  • Minimum PHP Version
  • Required PHP 7 extensions
  • Local Code Quality Check
  • Running Phan Locally
  • Running PHP Code Sniffer Locally
  • Symlinking Extension Directory
  • Generate data
  • Connecting your local Magento instance to Nosto
  • Install Ngrok
  • Valid Domains
  • Start Ngrok Tunnel
  • Configure Magento
  • Access Your Magento Site
  • Additional Tips:

Was this helpful?

Developing & Contributing

Minimum PHP Version

Nosto extension supports Magento >= 2.2, which requires at least PHP 7.0.13 to run.

Required PHP 7 extensions

Magento 2 requires the following extensions to run:

    curl
    dom 
    gd 
    hash
    iconv
    mcrypt
    pcre 
    pdo 
    pdo_mysql 
    simplexml
    curl
    gd
    intl
    mbstring
    mcrypt
    hash
    openssl
    soap
    xml
    xsl
    zip

To run the dev scripts from Nosto you are required to install the following PHP extensions

    ast
    pcntl

In order to install the ast extension using PECL, run pecl install ast and the ast.so extension will be added to load in you php.ini configuration file. The pcntl comes by default if you install PHP via Homebrew. If you compiled PHP yourself, you need to recompile the sources with the --enable-pcntl flag and load the extension in the php.ini file.

Checking Extensions

You can easily check that all required extensions are installed piping this script to you local PHP binary

curl https://gist.githubusercontent.com/supercid/fbf020ed8bdb15f5f72fd45a820703c3/raw/5defa0554f45fe14b085dc9e461e6c684e716ed4/nosto-check-m2-extensions.php | php

Local Code Quality Check

In order to maintain code quality we use PHPCS and PHAN to analyse the extension code. If your code does not follow the custom rules described in the ruleset.xml file (Mostly PSR-2), the CI will reject your code and you will not be able to merge until the violations are fixed. We recommend to run the checks, both PHAN and PHPCS, before pushing and opening a pull-request.

Running Phan Locally

Install the dev dependencies by running composer install on Nosto root directory: %Magento2Root%/vendor/nosto/module-nostotagging

After which you will be able to run Phan: ./vendor/bin/phan --config-file=phan.php --output-mode=checkstyle

Running PHP Code Sniffer Locally

You can check the style by running the following command on your Nosto installation root: ./vendor/bin/phpcs --standard=ruleset.xml --report=checkstyle

Symlinking Extension Directory

If you need to test the extension against multiple installations and versions of Magento, the best way to do it is to clone the extension repository in a folder outside Magento installation and symlink this copy to $Magento%/vendor/nosto/module-nostotagging directory. You can do so by running the following command:

ln -s path/to/extensions/repository path/to/magento/vendor/nosto/module-nostotagging

Generate data

You can generate data for performance testing purposes. You can choose the amount of data to be generated by choosing profiles and select which file you need. The profiles are located under the following directory

<magento-2-installation>/setup/performance-toolkit/profiles/<ce or ee>

If you want to customize the amount of data generated, just modify the value inside the tags. For example the amount of simple-products is found inside the tags:

<simple_products>{integer}</simple_products>

The fields needed for product data related are:

Simple product: <simple_products> ... </simple_products>

Configurable product: <configurable_products> ... </configurable_products>

Images <product-images> ... </product-images>

Run the command.

bin/magento setup:perf:generate-fixtures <path-to-profile>

For example::

bin/magento setup:perf:generate-fixtures  <magento-2-installation>/setup/performancetoolkit/profiles/ce/medium.xml

Connecting your local Magento instance to Nosto

Install Ngrok

Visit the Ngrok website and sign up for an account if you haven't already.

Download the Ngrok binary for your operating system. Extract the downloaded file to a directory of your choice. Open a terminal or command prompt and navigate to the directory where you extracted the Ngrok binary.

Valid Domains

We need a valid TLD domain, meaning that .test domains are not accepted by Nosto and your updates will be discarded by our crawler.

Start Ngrok Tunnel

In the terminal, run the following command to start an HTTP tunnel:

./ngrok http 80

or if you're using a local SSL certificate:

./ngrok http 443

Replace 80/443 with the port number your Magento local instance is running on if it's different. Ngrok will generate a public URL that forwards requests to your local Magento server. You'll see the forwarding URL displayed in the terminal window.

Configure Magento

Access Your Magento Site

With Ngrok running and configured, you can now access your local Magento site via the Ngrok forwarding URL. Open a web browser and enter the Ngrok HTTPS URL generated in the terminal (e.g., https://randomstring.ngrok.io/). Your local Magento website should now be accessible via the Ngrok tunnel.

Additional Tips:

Ngrok URLs are temporary and change every time you restart Ngrok, therefore we recommend using a paid Ngrok account to ensure that the URL stays the same. You can, however, use a script to change your Magento domain every time you restart Ngrok or your temporary domain changes.

Ngrok provides a secure tunnel with HTTPS support, allowing you to test features like order tracking, product updates via crawler and product image crawling as well on your local Magento site.

Remember to stop Ngrok when you're finished testing to prevent unauthorized access to your local server.

PreviousFAQNextMulti Source Inventory (MSI)

Last updated 1 month ago

Was this helpful?

For more detailed setup you can follow the Magento 2 .

Log in to your Magento Admin Panel. Go to Stores > Configuration. Under General, select Web. Update the Base URLs to use the Ngrok forwarding URL. Set both the Base URL and Secure Base URL to the Ngrok HTTPS URL (e.g., https://randomstring.ngrok.io/). Save the configuration. You can now connect your Nosto account from Magento by going in Marketing -> Nosto -> Connect You should notice that in Nosto's account setting, the Ngrok domain has been set as main URL. If you are using multiple domains, you can add them in extra hosts Next you should notice on Ngrok logs our crawling indexing your local database:

documentation