Magento Base Package

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

The base package is nothing more than a Composer Meta Package, referencing other Composer Packages. These Packages (in most cases Magento Modules) are necessary to make all Elastycloud features work, and make Magento “cloud friendly”.

You base your project upon our base package simply by adding it to your require-list in your composer.json like so:

composer.json Note: this is not a complete file
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "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
    }
}

We specify all the supported Magento versions in elastycloud/package_magento-base, so it is recommended that you specify the exact version you want of Magento in your composer file.

Patching

When we find Magento bugs that interfere with the hosting, or hosting related features we apply a patch for it. We do this with the help of cweagans/composer-patches.

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

For the patching to work, it is important that you include enable-patching and composer-exit-on-patch-failure (lines 21 & 22 from above)

Modules

Elastycloud_Backend

elastycloud/module-backend

  • Allows locale to be changed when the store is in Production Mode.
  • Rearranges Admin Dashboard so new items can be added.

Elastycloud_BackendSignin

elastycloud/module-backendsignin

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

Elastycloud_CarlClient

elastycloud/module-carlclient

“Carl” is our image service, the connection between us and Google’s Image Scaling.

This client send image-data to Carl and get a google url back. It is also responsible to inject this url instead if the default media url where possible.

If an image can’t be served from Google, it is served directly from the local media storage, in full size. This is because we don’t want to waste time generating scaled images, that will only be used a few times.

Note

There is a delay (up to a few hours) from the time an image is uploaded until it reach the Google network. Once it has, the cache for the specific page has to expire before the new link is rendered.

Elastycloud_DomainManager

elastycloud/module-domainmanager

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

Note

This module hide the section in admin where you normally configure base_url, so this might be a pain for your local development, you can have this module disabled locally, or better yet, set base_url in database or with bin/magento.

Elastycloud_EvalingoClient

elastycloud/module-evalingoclient

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

Elastycloud_Ftp

elastycloud/module-ftp

Adds a section in admin where FTP-accounts can be requested from Elastycloud.

Elastycloud_OnlineCustomers

elastycloud/module-onlinecustomers

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

Elastycloud_PackageDeployment

elastycloud/module-packagedeployment

Handles the identification of your deployment and make 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 occurs for statistic purposes, so we can track the sales and usage that moves through our system. This also 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.

If you wish to disable this statistic, this module can be disabled.

Elastycloud_Smtp

elastycloud/module-smtp

Adds the smtp-configuration that is used by default.

You can disable this and replace 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 has nothing to do with Elastycloud, but we’ve experienced that we get a lot of support issues caused by overridden values in configuration that the user forgot to check. You can disable this module if you wish.

See Config Scopehints GitHub Page

EthanYehuda_CronjobManager

ethanyehuda/magento2-cronjobmanager

This module adds view and control-panel in admin to handle cron-jobs. It also plays a critical part in cleaning broken jobs from the schedule.

See Cronjob Manager GitHub Page