Install
Compatibility
Section titled “Compatibility”| Component | Supported versions |
|---|---|
| Magento Open Source | 2.4.6, 2.4.7, 2.4.8, 2.4.9 |
| Adobe Commerce | 2.4.6, 2.4.7, 2.4.8, 2.4.9 |
| Mage-OS | 1.x, 2.x, 3.x (= Magento 2.4.6 → 2.4.9 codebase) |
| PHP | 8.2, 8.3, 8.4 |
| Database | MariaDB 10.6+, MySQL 8.0+ |
| Search | OpenSearch 2.x / 3.x, Elasticsearch 7.x / 8.x |
| Themes | Luma (full), Hyvä (full — companion package required) |
Before you start
Section titled “Before you start”You need:
- A license key (
CDA-XXXX-XXXX-XXXX) and Composer token (cda_tok_…) — both arrive by email after purchase. - SSH or terminal access to your Magento project root.
- PHP and Composer installed in that environment.
1 · Configure Composer auth
Section titled “1 · Configure Composer auth”Add the CDA private repository and your bearer token. Composer reads bearer tokens from auth.json:
composer config repositories.cda composer https://magento.creativdigital.rocomposer config bearer.magento.creativdigital.ro YOUR_COMPOSER_TOKENOr paste the token into auth.json directly:
{ "http-basic": { "magento.creativdigital.ro": { "username": "YOUR_COMPOSER_TOKEN", "password": "" } }}2 · Install the modules
Section titled “2 · Install the modules”Luma-only stores
Section titled “Luma-only stores”composer require cda/magento2-custom-fieldsbin/magento module:enable CDA_CustomFields CDA_CustomFieldsCheckout CDA_CustomFieldsGraphQlbin/magento setup:upgradebin/magento setup:di:compilebin/magento cache:flushHyvä Checkout stores
Section titled “Hyvä Checkout stores”Add the Hyvä compatibility module — it ships separately because it hard-requires Magewire and Hyvä Checkout, and pulling those into a Luma-only project would break setup:di:compile.
composer require cda/magento2-custom-fields cda/module-custom-fields-hyva-compatbin/magento module:enable CDA_CustomFields CDA_CustomFieldsCheckout CDA_CustomFieldsHyvaCompat CDA_CustomFieldsGraphQlbin/magento setup:upgradebin/magento setup:di:compilebin/magento cache:flush3 · Activate your license
Section titled “3 · Activate your license”- Open Magento Admin → Stores → Configuration → CDA → Custom Fields → Licensing
- Paste your license key (
CDA-XXXX-XXXX-XXXX) into License Key - Click Save Config
- Click Verify Now — you should see “License verified — status: ACTIVE.”
If you don’t click Verify Now, the daily cron job will pick the key up on its next run (03:30 UTC by default).
Verify the install worked
Section titled “Verify the install worked”After setup:upgrade, you should see:
- Admin menu — a new top-level CDA Custom Fields entry in the sidebar, with sub-items Fields / Layout Builder / Templates / Settings.
- Database —
bin/magento setup:db:statusreportsisUpToDate: true. The following tables exist:cda_custom_field(and its child binding tables)cda_custom_field_quote_valueandcda_custom_field_order_value- Six per-surface value tables:
_customer_value,_address_value,_contact_value,_review_value,_subscriber_value,_wishlist_item_value
- Routes — hitting
POST /cda_customfields_checkout/checkout/savereturns{"success":false,"message":"No active cart."}rather than a 404. This is the side-channel persistence endpoint and confirms routing works.
Network resilience
Section titled “Network resilience”The heartbeat cron retains your previous ACTIVE status on transient network failures — a single missed cron run, DNS hiccup, or our server outage will never flip a healthy install into a locked state. Only an explicit non-ACTIVE response from our licensing server (e.g. a refunded license) downgrades you. See License & updates → Heartbeat for the full policy.
Uninstall
Section titled “Uninstall”bin/magento module:disable CDA_CustomFields CDA_CustomFieldsCheckout \ CDA_CustomFieldsHyvaCompat CDA_CustomFieldsGraphQlbin/magento setup:upgradecomposer remove cda/magento2-custom-fields cda/module-custom-fields-hyva-compatCommon install issues
Section titled “Common install issues”Class "Magewirephp\Magewire\Component" not found at setup:di:compile
Section titled “Class "Magewirephp\Magewire\Component" not found at setup:di:compile”You installed cda/module-custom-fields-hyva-compat on a store without Hyvä Checkout. Either install Hyvä:
composer require hyva-themes/magento2-hyva-checkoutOr disable the compat module:
bin/magento module:disable CDA_CustomFieldsHyvaCompatbin/magento setup:upgrade401 Unauthorized when running composer require
Section titled “401 Unauthorized when running composer require”Your Composer token isn’t being picked up. Check:
composer config -l | grep bearerYou should see [bearer.magento.creativdigital.ro] = <token>. If not, re-add with composer config bearer.magento.creativdigital.ro YOUR_TOKEN.
License is already bound to <other-domain>
Section titled “License is already bound to <other-domain>”One license = one production domain. To transfer the license to a new domain, email office@creativdigital.ro with your license key — we reset the binding immediately. The next heartbeat from your new domain will re-bind automatically.
Loopback / private-network hosts (localhost, 127.*, 10.*, 192.168.*, 172.16-31.*) are exempt from binding and can be used freely for dev/staging.