Administration
The Administration section gives admins full control over user accounts, system activity monitoring, compliance audit trails, deleted item recovery, and the OpenMES module extension system.
Users & Accounts
The Users & Accounts screen is where you manage everyone who has access to your OpenMES instance. The table shows all registered users with the following columns:
- Name – the user’s full name.
- Username – unique login identifier.
- Email – the user’s email address.
- Type – account type (User, API, etc.).
- Role / Station – the assigned role (Admin, Supervisor, Operator) and optionally the workstation they are assigned to.
- Last Login – when the user last logged in.
Use the filter row below the column headers to search by name, filter by role, email domain, or account type. The Columns button lets you show or hide columns to focus on the data you need.
Click a user row to edit their profile, change their role, reset their password, or deactivate their account. Admins can also create new users from this screen.
Activity Logs
Activity Logs record what users did across the system – every navigation, entity change, and authentication event. This is a detailed, low-level view of all HTTP requests hitting your OpenMES instance. Key features:
- Date range filter – set a From and To date to scope the log window.
- User filter – narrow to a specific user or see all activity.
- Source filter – filter by request source (web, API, system).
- Entity filter – focus on specific entity types.
- Action filter – filter by action type (GET, POST, PUT, DELETE).
- Export CSV – download the filtered log data for external analysis or compliance reporting.
Each log entry shows the timestamp, who made the request, the HTTP method and endpoint, response code, response time, and the client IP address. Click Details on any row to see the full request and response payload.
System Logs
System Logs give admins direct visibility into the server-side application logs. This screen has three tabs:
- Application log – Laravel application log entries with severity levels (INFO, WARNING, ERROR, EMERGENCY). Filter by date, log level, and search by message or stack trace text.
- Failed jobs – background jobs that failed (e.g. email sending, report generation). Shows the exception, number of attempts, and allows retrying or deleting.
- Deployments – a log of deployment events, useful for correlating issues with code releases.
The Live tail button streams new log entries in real time, which is helpful when debugging issues as they happen. Use the level filter to focus on errors and warnings, and the search box to find specific error messages or stack traces.
Audit Logs
Audit Logs track all system changes at the entity level – every time a record is created, updated, or deleted, it appears here. This is your compliance-grade change history. Columns include:
- Timestamp – when the change happened.
- User – who made the change.
- Entity – the affected record type and ID (e.g.
MaintenanceEvent #4,ProcessSegment #1027). - Action – what happened: Created, Updated, or Deleted.
- Details – click View Changes to see the exact field-level diff (old value → new value).
Use the Show Filters button to narrow results by user, entity type, action, or date range. The search bar provides full-text search across all columns. This log is critical for ISO compliance, customer audits, and investigating who changed what and when.
Trash
The Trash screen holds all soft-deleted records. Instead of permanently removing data, OpenMES moves deleted items here so they can be recovered if needed. The table shows:
- Type – the entity type (e.g. Product revisions, Customers, OPC UA connections, Template steps).
- Item – the item identifier or name.
- Deleted by – who deleted the item.
- Deleted at – when it was deleted.
Click Restore to bring a deleted item back to its original location. Restoring also brings back any related records that were deleted together with the parent item. Use the type dropdown, search bar, and date filter to find specific deleted items.
Modules (Extensions)
The Modules section lets you extend OpenMES with custom functionality without modifying the core codebase. It has two sub-pages:
Installed Modules
Shows all modules currently installed on your OpenMES instance. Each module card displays:
- Module name and version – e.g. “Example Hooks Module v1.0.0”.
- Author – who created the module.
- Description – what the module does.
- Status – Enabled or Disabled.
- Used hooks – which OpenMES events the module listens to (e.g.
WorkOrder\WorkOrderCreated,Batch\BatchCreated).
Use the Enable / Disable buttons to toggle modules on and off. Click Uninstall to completely remove a module. A Store section (coming soon) will offer a marketplace for community modules.
Install Module
To add a new module, you have two options:
- Upload ZIP file – drag and drop or click to select a
.zipfile (max 20 MB). The ZIP must contain amodule.jsonfile in the root or in a single subfolder. - Manual installation – place the module folder directly in the
modules/directory on the server, then go to Installed Modules and enable it.
The expected module directory structure is shown on the page: module.json, Providers/, Controllers/, Models/, migrations/, views/, and README.md. A link to the available hooks and events documentation (HOOKS.md) is provided for module developers.
OpenMES