Skip to content

Migration from Rocket Web

Matt MacDougall edited this page Sep 9, 2026 · 1 revision

Migration from Rocket Web

This package consolidates legacy Rocket Web connector components into one module, MageOS_NetSuiteConnector, with the MageOS\NetSuiteConnector namespace. Composer replacement metadata helps resolve dependencies; it does not migrate a working connector installation.

What changes

Surface Mage-OS Labs version
Package mage-os/module-netsuite-connector
Module identity MageOS_NetSuiteConnector
PHP classes MageOS\NetSuiteConnector\… with feature directories inside the module
Configuration root mageos_netsuite
Admin Mage-OS → NetSuite configuration; System → NetSuite monitor
Custom queue/history mageos_netsuite_message, mageos_netsuite_monitor
CLI netsuite:* names retained only for commands actually registered here
NetSuite custom fields Many historical custbody_rw_*, custcol_rw_*, and custrecord_rw_* script IDs remain part of the mapping contract
Entity links and runtime state Existing names such as netsuite_internal_id, last-run flags, and var/netsuite paths are retained in several places

Do not apply a blanket search-and-replace to database values, remote script IDs, or event names.

Composer replacement list

The reviewed manifest declares replacement of these legacy components:

  • rocketweb/netsuite-connector
  • rocketweb/netsuite-connector-customer
  • rocketweb/netsuite-connector-customer-import
  • rocketweb/netsuite-connector-discount
  • rocketweb/netsuite-connector-inventory
  • rocketweb/netsuite-connector-inventory-multi-management
  • rocketweb/netsuite-connector-inventory-single-management
  • rocketweb/netsuite-connector-invoice
  • rocketweb/netsuite-connector-order
  • rocketweb/netsuite-connector-product
  • rocketweb/netsuite-connector-product-images
  • rocketweb/netsuite-connector-queue
  • rocketweb/netsuite-connector-refund
  • rocketweb/netsuite-connector-shipment
  • rocketweb/netsuite-connector-shipment-multi-source
  • rocketweb/netsuite-connector-shipment-single-source
  • rocketweb/netsuite-connector-tax

It also replaces paragonie/random_compat and weew/helpers-array because the consolidated code no longer requires those standalone dependencies. Replacement metadata is not a compatibility promise for every third-party module requiring their APIs.

The separate B2B and Import Orders add-ons are not implemented here. Identify any installed modules that require those features before selecting a migration path.

Prepare and test on a clone

  1. Inventory installed Rocket Web packages, custom plugins/preferences, event observers, SuiteScripts, NetSuite custom fields, saved searches, mappings, and scheduler entries.
  2. Preserve the application's exact code and lockfile, configuration, database, media, connector queue/history, NetSuite identity links, last-run flags, and product search state. Record the inverse operation needed to restore the old installation.
  3. Stop synchronization on the isolated clone before changing packages. Use sandbox credentials and a separate test account where available.
  4. Compare the old schema and configuration with this package's declarative schema and patches. Design explicit field/table/config mapping with affected counts; no automatic data migration script is supplied.
  5. Resolve custom PHP dependencies against the new namespace and current class registrations. Retained compatibility class names can be wrappers whose plugins no longer intercept the registered implementation.
  6. Preserve and validate entity NetSuite IDs. Losing order or invoice links can create duplicate remote transactions; losing product links can block exports or attach data to the wrong item.
  7. Reconcile outstanding queues and uncertain remote writes before restarting. Do not run both implementations against the same orders or shared inventory without a deliberately tested transition.
  8. Run the complete acceptance scenarios in Testing and validation, including inventory compensation and recovery. Approve an exact production cutover and rollback separately.

Disabling integration is not sufficient to remove the module's MSI plugins or its disabled source-deduction observer. Test the actual enabled-module configuration during both migration and rollback.

Sources: Composer replacements, module identity, schema, setup patches, DI registrations, inventory compatibility wrapper, current reservation handler.

Clone this wiki locally