mageme / module-core
Core foundation module for MageMe extensions providing license management, admin UI infrastructure, and shared utilities
MageMe Core for Magento 2
Foundation module for all MageMe extensions for Magento 2. Provides the shared infrastructure used across the MageMe product family: license activation, the admin module ecosystem panel, news feed integration, and shared utility libraries.
mageme/module-core is normally installed automatically as a dependency when you add any other MageMe extension. You rarely need to install it on its own.
What it provides
- License management — activate, deactivate, and verify MageMe extension licenses against
license.mageme.comfrom each module's admin configuration section. Status updates live on page load without blocking the admin UI. - Module ecosystem panel — admin block injected into every MageMe module's configuration page. Shows the product family overview, installed add-ons, available updates, license status, and quick links to Renew, Get Pro, or Buy.
- News feed — surfaces MageMe announcements in the Magento admin notifications inbox through Magento's standard
AdminNotificationinfrastructure. - Shared utilities — locale-aware date and time formatting, client IP detection through proxies, static asset content inlining, area detection helpers, and a self-sizing admin multiselect form field.
- Bundled JS libraries — SweetAlert2 and Tingle modal, shared by other MageMe modules' storefront UI to avoid duplication.
Data sent with the news feed
The news-feed request (at most once an hour, and only while someone is using the admin panel) carries:
- the list of enabled MageMe modules with their versions;
- a random installation identifier, generated once on the first request and stored in the
flagtable — it is not derived from your domain or any other store data, and it lets us count installations rather than requests; - a pseudonymous fingerprint of the environment (a truncated hash of the base URL and installation date) — together with the identifier it shows when a store changes its domain or is copied to staging;
- the application mode (production, developer or default) and whether the
Magento_Companymodule (the B2B suite) is enabled.
It tells us which extensions and versions are actually in use and lets announcements be limited to those extensions. The store domain, customer data, and order data are never sent. On our side the raw web-server logs are kept for 52 days; the aggregated statistics contain no IP addresses.
To turn it off (nothing is sent and no identifier is generated):
bin/magento config:set mageme/feed/send_modules 0
The identifier stays in the flag table if the module is removed; delete the mageme_feed_installation_id row to drop it.
Requirements
- Magento 2.4.x (Open Source or Commerce)
- PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, or 8.5
- PHP
curl,intl, andjsonextensions
Installation
In most cases mageme/module-core is pulled in automatically as a dependency of another MageMe extension. To install it standalone:
composer require mageme/module-core
bin/magento setup:upgrade
bin/magento cache:flush
MageMe extensions that depend on this module
MageMe WebForms 3 — Magento 2 form builder with conditional fields, multi-step layouts, file uploads, approval workflows, and a full integration stack:
- Salesforce — create leads with campaign tracking
- HubSpot — sync contacts, companies, and tickets
- Zoho CRM & Desk — create leads and helpdesk tickets
- Freshdesk — support tickets with agent routing
- Zendesk — tickets with custom field types
- Klaviyo — profiles and email lists
- Mailchimp — audience subscriptions
- Zapier — connect forms to 7000+ apps
MageMe Hide Price — control catalog visibility. Hide prices and the Add to Cart button from specific customer groups or per-product, with optional replacements: a sign-in button, an info alert, or a Request a Price form that emails the admin and the customer.
MageMe EasyQuote — B2B request-a-quote workflow. Customers submit quote requests from the cart, admins respond with custom per-item pricing, volume tiers, custom shipping, and discounts. Full quote lifecycle, two-way messaging thread with attachments, PDF and CSV export, GraphQL and REST APIs.
MageMe EU Withdrawal — EU consumer right-of-withdrawal compliance. Adds the statutory "Withdraw from Contract" flow for B2C distance and off-premises contracts under Article 11a of Directive 2011/83/EU (as amended by Directive (EU) 2023/2673), effective 19 June 2026. Customers withdraw within the 14-day cooling-off period, with full audit trail, evidence capture, and admin approval workflow.
See the full catalog at mageme.com.
Custom Magento development
Need a feature an extension doesn't cover, or a bespoke Magento build? MageMe takes on custom extension development and integration work.
Support
- Documentation: docs.mageme.com
- Bug reports and feature requests: GitHub Issues
License
Governed by the MageMe End User License Agreement (mageme.com/license). Distributed free of charge as the shared foundation for MageMe extensions.
MageMe builds Magento 2 and Adobe Commerce extensions for B2B merchants — form building, quoting, catalog control, and EU compliance.
2.1.2
- Fix: closing a dialog with Esc or a click outside it now cleans up the page the same way as the close button, so it can be opened again
- Fix: Esc closes the dialog on Luma product pages, where the image gallery used to swallow the key
- Change: the admin news feed now reports a random installation identifier, the application mode and whether the B2B suite is enabled, and reads module versions from module.xml when composer.json has none — see README, "Data sent with the news feed"
2.1.1
- Fix: "Requires Pro" is no longer shown on add-ons of a paid extension, or to a store that already has Pro — those add-ons read as not installed
2.1.0
- New: the module panel counts the Pro add-ons your product line offers and opens straight to them
- New: the admin news feed reports which MageMe extensions are installed, so announcements can be limited to the extensions in use — turn it off with
bin/magento config:set mageme/feed/send_modules 0 - New: an add-on folded into a newer major version is flagged in the module panel if you still have it installed, so it can be disabled and removed instead of sitting unused
- New: an add-on you don't have yet links straight to the part of the product page that explains it
- Fix: help (?) icons in the ecosystem panel no longer distort on narrow screen widths
- Fix: ecosystem panel no longer shows an endless loading indicator when the module catalog can't be reached
- Fix: on a narrow admin window the module list drops to one column instead of cutting module names short
- Fix: license activation no longer hangs when the license server is unreachable — it now gives up and reports the problem
- Fix: an active license is no longer switched off when the license server cannot be reached or answers with an error — a check that does not go through leaves the stored license as it was
- Fix: the renewal link is no longer shown to admin users whose role is not allowed to see license serials — the serial travelled in that link
- Fix: keyboard focus and screen readers no longer reach the controls inside a collapsed panel
- Fix: the panel's remaining untranslated text can now be translated, and phrases from a dropped design were removed from the dictionary
- Change: the module panel now opens showing all modules, so add-ons you don't have yet are visible too
- Change: the module list was restyled — colour is kept for what needs attention: an available update or an add-on you don't own
- Change: the module panel in extension settings opens expanded when the suite has Pro features that are not installed, so they are visible without opening the panel — collapse it once and it stays collapsed
- Change: links from the module panel to mageme.com identify which link was used, so it is possible to tell an upgrade click apart from a licence-purchase click
- Change: the news feed is always requested over HTTPS and no longer sends the admin URL as the referer
- Change: unsuccessful feed responses are discarded instead of being parsed as news
- Change: add-ons a newer major version folded into its core are no longer offered to stores running that version
- Change: the upgrade button in the panel header steps aside while the Pro plate is on screen, so one upgrade action is offered at a time
- Change: license actions accept only the license section that belongs to the module named in the request
- Change: the module catalog is only accepted when the server answers successfully and the response really is a catalog, so a provider error page can no longer replace it
2.0.1
- Fix: stopped repeated license warnings from filling the system log
- Fix: license-activation admin notice now shows readable text instead of raw markup
- Fix: category selection fields in add-ons load correctly again
- Fix: admin license panel now respects the store's translations
- Fix: restored PHP 7.4 compatibility
- Other: loading indicator while the extensions panel loads
- Other: Marketplace coding-standard compliance, added tests, and internal cleanup
2.0.0
- New: redesigned and reworked license activation and information UI
- New: ecosystem block embedded in every MageMe config section — license activation plus version info for the module and its add-ons
- New: Renew and Get Pro shortcuts in the module ecosystem panel
- Other: removed legacy Information & Licenses admin page
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 2.1.3 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-09-06 23:27:35 |
| 2.1.2 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-09-02 15:02:02 |
| 2.1.1 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-08-28 22:09:15 |
| 2.1.0 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-08-24 09:33:39 |
| 2.0.1 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-06-14 10:59:04 |
| 2.0.0 | stable | Not tested | Not yet tested Details | 2026-06-01 16:05:11 |
Requires 7
| Package | Constraint |
|---|---|
| magento/framework | * |
| magento/module-admin-notification | * |
| magento/module-backend | * |
| magento/module-config | * |
| magento/module-store | * |
| php | ~7.4.0||~8.0.0||~8.1.0||~8.2.0||~8.3.0||~8.4.0||~8.5.0 |
| psr/log | * |
Compatibility
Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.
Code Quality
Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge. A phpcs finding can't make a module incompatible.
Static analysis
Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.
| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Warning | 136 | 136 warnings (ruleset: Magento2), 23 auto-fixable with phpcbf |
| PHPMD | Warning | 57 | 57 rule violations (UnusedPrivateField:57) |
| Cpd | Warning | 1 | 1 duplicated chunk spanning 36 total lines (min-lines=5, min-tokens=70) |
| Composer validate | Info | 7 | valid; 7 advisory notes (composer validate --strict) |
PHPStan
Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases.
Tests
Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.
Unit tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Integration tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Security
Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.
More from mageme
View vendorZapier integration add-on for WebForms Pro 3
Zoho integration add-on for WebForms Pro 3
Freshdesk integration add-on for WebForms Pro 3
Mailchimp integration add-on for WebForms Pro 3
Turn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.