Skip to content

Installation

Sergii Ivashchenko edited this page Jul 23, 2020 · 5 revisions

Overview

The current repository contains modules that belong to Adobe Stock Integration functionality only. In order to use the Magento Adobe Stock Integration the package needs to be installed on top of magento2 framework installation.

Development setup

There are two options of installation that you can choose depending on your preference: modman or composer, see below.

Installation via modman

  1. Clone the magento2 git repository and check out the 2.4-develop branch. Checking out any 2.4 release tags should work fine as well.

    git clone git@github.com:magento/magento2.git .
  2. Ensure Module Manger (modman) is installed:

    brew install modman
  3. Clone the Adobe Stock Integration repo from the project root directory via modman - the metapackage will be stored inside the .modman directory, module symlinks will be created in app/code directory:

    modman init
    modman clone git@github.com:magento/adobe-stock-integration.git
    modman clone git@github.com:magento/adobe-ims.git
  4. Install the Adobe Stock PHP SDK (required dependency) adobe/stock-api-libphp via composer

    composer require astock/stock-api-libphp
    
  5. Ensure Adobe Stock Integration modules are enabled bin/magento module:status / bin/magento module:enable (https://devdocs.magento.com/guides/v2.3/extension-dev-guide/build/enable-module.html).

  6. Install/Upgrade the database

    bin/magento setup:install ...
    or
    bin/magento setup:upgrade
    

Installation as a composer package

  1. Clone the magento2 git repository and check out the 2.4-develop branch. You may also check out and use any 2.4 release tags.

    git clone git@github.com:magento/magento2.git .
  2. Create an ext directory in the root of the magento2 project directory:

    cd magento2
    mkdir ext
  3. Clone the adobe-stock-integration repository into the appropriate directory inside ext:

    git clone git@github.com:magento/adobe-ims.git ext/magento/adobe-ims
    git clone git@github.com:magento/adobe-stock-integration.git ext/magento/stock-integration
  4. Update Composer settings for the project to allow a better development workflow:

    • minimum-stability for packages is updated to dev value. This allows installation of development modules:

        composer config minimum-stability dev
      
    • To be able to work with stable packages enable the prefer-stable property: prefer-stable: true. It should be included right above the minimum-stability setting.

    • Next we configure Composer so that it knows where to find new modules. The following command will configure any extension code inside the ext directory to be treated as a package and symlinked to the vendor directory:

        composer config repositories.ext path "./ext/*/*/*"
      
  5. Finally, install the adobe-stock-integration metapackage:

    composer require magento/adobe-stock-integration
  6. Ensure Adobe Stock Integration modules are enabled bin/magento module:status / bin/magento module:enable (https://devdocs.magento.com/guides/v2.3/extension-dev-guide/build/enable-module.html).

  7. Install/Upgrade the database

    bin/magento setup:install ...
    or
    bin/magento setup:upgrade
    

At this point, all of the adobe-stock-integration modules are symlinked inside the vendor directory, which allows both running a Magento installation with additional modules as well as doing development using the standard git workflow.

Setting up Git workflow

In order to improve the developer experience when working with this repository structure, a few additional items may be configured:

  1. Exclude ext directories from root directory Git:

    echo ext >> ./.git/info/exclude
  2. Skip root directory composer.* files to avoid committing them by mistake:

    git update-index --skip-worktree composer.json
    git update-index --skip-worktree composer.lock

    This operation is reversible, if needed:

    git update-index --no-skip-worktree composer.json
    git update-index --no-skip-worktree composer.lock

Configuration

  1. Enable "Enhanced Media Gallery" in Magento Configuration: Stores -> Configuration -> Advanced -> System -> Enhanced Media Gallery (or bin/magento config:set system/media_gallery/enabled 1)
  2. Populate the Adobe Stock API keys: Get API Keys
Clone this wiki locally