IOMAD FAQs

NES for IOMAD frequently asked questions

What is NES for IOMAD?

NES for IOMAD is a drop-in replacement for IOMAD 4.3 maintained by HeroDevs. It continues the 4.3.x line with ongoing security fixes after upstream support for the IOMAD 4.3 line ended.

Which IOMAD version is NES for IOMAD based on?

NES for IOMAD 4.3 is forked from IOMAD 4.3.3, which is built on Moodle 4.3. Releases are versioned <nes-version>+<origination-version> - for example 4.3.4+4.3.3.

Is NES for IOMAD compatible with my existing site?

Yes. NES for IOMAD keeps $branch = '403' and does not change the Moodle 4.3 APIs that IOMAD builds on, so anything that ran on IOMAD 4.3.3 continues to run and continues to pass IOMAD's own compatibility checks. Company structures, tenant configuration, and IOMAD reporting are unchanged.

How is NES for IOMAD different from NES for Moodle?

They are separate products with separate release lines. NES for IOMAD is built from the IOMAD distribution and includes the local_iomad plugin and IOMAD's company management features; NES for Moodle is built from Moodle core.

Because IOMAD 4.3.3 predates the final Moodle 4.3 release, NES for IOMAD also carries the Moodle security fixes published between 4.3.4 and 4.3.12 that its base never received, in addition to everything published after 4.3.12.

How do I get NES for IOMAD?

NES for IOMAD is distributed as a downloadable archive from the HeroDevs registry, which you extract over your existing IOMAD 4.3 site. Direct download is the only supported installation method - see the NES for IOMAD Installation Guide.

Where do I find my access token?

Your Technical Contact receives an NES Access Token during onboarding or at the time of purchase. If your Technical Contact cannot locate the token, contact HeroDevs Support and we will resend it.

To change your Technical Contact, reach out to HeroDevs Support.

Yes. Replace the version with the latest from the release notes:

curl --header "Authorization: Bearer $NES_ACCESS_TOKEN" --output ./release.zip \
--location https://registry.nes.herodevs.com/composer/pkg/neverendingsupport/iomad/4.3.4+4.3.3:iomad/release.zip

See Direct Downloads for browser-based downloads.

How can I verify that I've successfully installed NES for IOMAD?

Check the release string from the admin interface at Site administration → Notifications, or run php admin/cli/cfg.php --name=release. Full instructions are in Verifying an NES for IOMAD Installation.

Why does IOMAD say my site is out of date?

IOMAD inherits Moodle's built-in update check, which compares your site against upstream Moodle and does not know about NES releases. That is expected. Disable the check in config.php and follow the release notes for new releases:

$CFG->disableupdatenotifications = true;
$CFG->disableupdateautodeploy = true;

Which PHP versions does NES for IOMAD support?

PHP 8.0, 8.1, and 8.2 - the versions Moodle 4.3 supported. Moodle 4.3 blocks PHP 8.3 in its environment check and IOMAD inherits that. See IOMAD Supported Platforms.

What happens to my plugins, themes, and config.php?

Nothing. Extracting the NES for IOMAD archive overwrites core files and adds new ones without removing anything else. Contributed plugins you installed in mod/, local/, blocks/, and auth/, your own custom themes, and your config.php are left as they are.

Two things to keep in mind:

  • Your subscription covers everything in a default IOMAD download - core plus every bundled component: the local/iomad*, local/email*, and local/report_* plugins, the iomad_* blocks, the iomadoidc and iomadsaml2 auth plugins, and the iomad, iomadboost, and iomadbootstrap themes. All of it ships in the archive and is replaced on extraction. A bundled component's plugin version only moves when that component itself needed a change, so most keep their IOMAD 4.3.3 version numbers - that is expected and does not put them outside coverage. Any change you made inside IOMAD core or a bundled component is overwritten by the extraction. Reapply those changes afterwards.
  • Plugin compatibility is unchanged. NES for IOMAD keeps $branch = '403' and the Moodle 4.3 APIs, so a plugin that ran on IOMAD 4.3.3 still runs. Third-party plugins are not covered by your NES subscription - see the Service Level Agreement.

How do I contact HeroDevs Support?

Email HeroDevs Support for technical issues with NES for IOMAD, including installation problems, questions about a security fix, and access token issues. For subscription, coverage, and pricing questions, reach out to sales@herodevs.com.

Including the following in your first message usually avoids a round trip:

  • The NES for IOMAD release string - from Site administration → Notifications, or php admin/cli/cfg.php --name=release
  • The local_iomad plugin version from Site administration → Plugins → Plugins overview
  • Your PHP version and database engine and version
  • Whether IOMAD core has local modifications
  • Relevant errors from moodledata/ logs or your web server error log

Do not include your NES Access Token, database credentials, or user data in a support request. If credentials appear to be compromised, say so and we will rotate your token.

Response and mitigation timelines by severity are defined in the HeroDevs Service Level Agreement. To report a suspected vulnerability, see the HeroDevs Security documentation.

What is the NES for IOMAD license?

HeroDevs provides the NES for IOMAD software and updates pursuant to the applicable GPLv3 license, including all rights available under that license.

HeroDevs Subscription Services, and other obligations to our customers, are governed by the Subscription Agreement. The Subscription Agreement does not restrict any right to use the software or updates under the GPLv3 license.