Skip to content

OpenMES v0.19.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 15:44
· 203 commits to main since this release
8c90572

OpenMES v0.19.0 makes the module extension system work end-to-end in the React app. The PrestaShop-style hooks β€” that let a module add menu items, drop widgets on the dashboard, and react to shop-floor events β€” are now fully wired, so third-party and in-house modules finally behave as designed. Plus a friendlier delete experience across the admin.

✨ What's new in this release

🧩 Module hooks that actually fire

The extension system defined nine domain events, but seven never dispatched β€” a module listening for work-order, batch or step events silently never ran. All nine now fire on every save path (admin UI, CSV import, ERP API, background services).

  • Two new hooks broaden coverage:
    • ResourceChanged β€” a generic catch-all so a module can react to any resource save (work orders, customers, materials, lines, …) without wiring up each model.
    • WorkOrderScheduled β€” fired from the planner whenever an order is assigned, moved, resized or unassigned.
  • New reference module ExampleShowcase (disabled by default) exercises every extension point β€” a copy-me starting point for building your own module.

🧭 Module menus & dashboard widgets β€” visible again in the SPA

After the move to the React interface, modules that registered a menu item or dropdown rendered nowhere. That's fixed:

  • Menu hooks now bridge into the React sidebar β€” entries slot into the matching built-in group, custom groups appear as their own dropdowns, and they show up in menu search.
  • Dashboard widget hooks are bridged the same way β€” now as structured, safely-escaped cards across the dashboard's KPI / main / sidebar zones.

πŸ—‘οΈ Friendlier "already removed" delete

Deleting a record that was already gone β€” soft-deleted in another tab, a stale list, or a double submit β€” used to dump a bare 404. It now bounces back to the list with a clear message ("That item was already removed."); the delete's intent is already satisfied. Handled centrally for every admin resource.

πŸ“„ Full technical detail in the CHANGELOG Β· compare v0.18.0…v0.19.0


πŸ“¦ Installation

Web / self-hosted: download openmmes-v0.19.0.zip below β€” it is self-contained (PHP dependencies in vendor/ and the built frontend in backend/public/build/ are already bundled, so no composer install or npm build is required).

Desktop: grab the installer for your OS β€” Windows *-setup.exe, macOS *.dmg, or Linux *.deb / *.rpm. They bundle PHP + the backend and run OpenMES as a local app / LAN server.

Mobile (Android): install openmes-mobile-v0.19.0.apk and point it at your OpenMES server.

Shared hosting (no terminal): unzip the web package, upload the folder, point the document root at the package root, then open the URL β€” the browser-based setup wizard handles environment, database and the admin account.

Docker: unzip the web package and run docker compose up -d from the package root (or bash install.sh).