Skip to content

Magento Base Package

All Magento deployments in Elastycloud should use our base package as a starting point.

This is a Composer Meta Package containing references to other Composer packages. These packages are required for making all Elastycloud features work, and to make the Magento deployments cloud friendly.

Your specific project should be based on our base package, which is done by adding it to the require list in your composer.json file like so:

{
    "name": "you/your-magento-store",
    "description": "My eCommerce Platform for Growth",
    "type": "project",
    "require": {
        "magento/product-community-edition": "2.3.0",
        "elastycloud/package_magento-base": "^1.7"
    },
    "minimum-stability": "stable",
    "repositories": {
        "elastycloud": {
            "type": "composer",
            "url": "https://composer.elastycloud.io/"
        },
        "magento": {
            "type": "composer",
            "url": "https://repo.magento.com/"
        }
    },
    "extra": {
        "enable-patching": true,
        "composer-exit-on-patch-failure": true
    }
}

Note

This is merely an excerpt, and not a complete composer.json file.

All supported Magento versions are specified in elastycloud/package_magento-base and it is recommended that you specify the exact Magento version you will be using, in your composer file.

Patching

When we identify bugs in Magento that interfere with hosting, or hosting related features, we issue patches. This is done by using cweagans/composer-patches.

The package elastycloud/magentopatches lists all our patches for your specific Magento version.

In order for the patching to work as intended, it is important that you include enable-patching and composer-exit-on-patch-failure. See: composer.json example

Modules

Elastycloud_Backend

elastycloud/module-backend

  • Allows locale to be changed when the store is in production mode.
  • Rearranges the admin dashboard so that new items can be added.

Elastycloud_BackendSignin

elastycloud/module-backendsignin

  • Allows administrator users to be created in the Console.
  • Adds "Sign in with Google" to the backend sign in page.

For Google sign-in to work for a specific account, the option Google Sign In has to be set to Allow or Force on the user account, and the email address has to match the one for the Google account.

Elastycloud_CarlClient

elastycloud/module-carlclient

"Carl" is our image processing service; the connection between us and Google's Image Scaling.

Sends client image data to Carl and gets a Google URL back. Also injects this URL instead of the default media URL when possible. If an image can't be served through Google it is instead served from the local media storage as a fallback.

Note

There is a delay (up to a few hours) from the time an image is uploaded until it is processed by the Google network. Once it has been processed, it is still subject to cache expiration before the new link is rendered.

Elastycloud_DomainManager

elastycloud/module-domainmanager

Allows you to connect domains to your deployment. Syncs custom domains to the Console, and makes sure that the correct scope is shown when visiting a specific domain.

Note

Because this module hides the default Magento administration interface for configuring base_url it might be cumbersome for local development. To circumvent this you can either disable the module locally, or preferably set base_url with bin/magento.

Elastycloud_EvalingoClient

elastycloud/module-evalingoclient

Evalingo is our language management solution. This client downloads the configured languages and deploys them to your store. This can currently only be done during build-time. If this module is disabled, no languages will be downloaded or deployed.

Elastycloud_Ftp

elastycloud/module-ftp

Adds a section in the administration interface where FTP accounts can be requested.

Elastycloud_OnlineCustomers

elastycloud/module-onlinecustomers

  • Allow you to schedule server scaling based on expected online customers
  • Allows Elastycloud to read current & scheduled customers via an API.

Elastycloud_PackageDeployment

elastycloud/module-packagedeployment

Handles the identification of your deployment and makes it accessible to our other service modules.

Elastycloud_PubSubClient

elastycloud/module-pubsubclient

Adds the consumer and subscriber concept for communicating with Elastycloud internal services.

Elastycloud_SaleStat

elastycloud/module-salestat

Publishes all order events that occur for statistics purposes, so that we can track sales and usage that moves through our system. This helps us improve the platform and make decisions based on facts and statistics.

All data is anonymous and can not be tied to a specific person.

This module can be disabled.

Elastycloud_Smtp

elastycloud/module-smtp

Adds the SMTP configuration that is used by default.

This module can be disabled and replaced it with your own if needed.

EW_ConfigScopeHints

ericthehacker/magento2-configscopehints

Adds hints in admin configuration if the current value is overridden in another scope.

This module is not strictly required by Elastycloud, but in our experience a lot of issues experienced by clients are caused by overridden values in configuration that have been overlooked.

This module can be disabled.

See: Config Scopehints GitHub Page

EthanYehuda_CronjobManager

ethanyehuda/magento2-cronjobmanager

This module adds view and control-panel in the administration interface, for handling cron-jobs. It also plays a critical part in cleaning broken cron-jobs from the schedule.

See: Cronjob Manager GitHub Page