Download the PHP package oxid-support/heartbeat without Composer

On this page you can find all versions of the php package oxid-support/heartbeat. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package heartbeat

OXS :: Heartbeat

You are on branch b-7.1.x (for OXID eShop 7.1 to 7.6).

Other supported lines:

OXS Heartbeat is an OXID eShop module that enables remote monitoring and support for OXID shops.

It provides:

All components are accessible via GraphQL API, allowing OXID Support to remotely analyze shop issues without direct server access.

Full Control: Remote access is completely optional. Each component can be enabled/disabled independently by the shop operator. No data is transmitted unless explicitly activated. Access can be revoked at any time.


Installation

Step 1: Install via Composer

Composer automatically selects the version that matches your OXID installation. No version constraint or repository configuration required.

For local development

Note: The OXID GraphQL Base and GraphQL Configuration Access modules are installed automatically as dependencies.

Step 2: Run Database Migrations

Note: The Heartbeat module ships no migrations. The API service user, its group and the group membership are created automatically when you activate the module (in the current shop context).

Step 3: Clear Shop Cache

Step 4: Activate Modules

Important: The GraphQL modules must be activated before activating the Heartbeat module.

For more details on OXID GraphQL installation, see the official documentation.


Compatibility

Composer picks the right module version based on the installed OXID eShop. Customers never need to specify a module version manually. Module majors are a repo-wide chronological sequence assigned at release time, not tied to the OXID version.

Branch structure

This repo follows a Symfony / Doctrine style stabilization-branch layout: one long-lived branch per supported OXID line, no main. The most recent line is the default branch on GitHub, so a fresh clone lands on it.

When OXID introduces a new line that needs separate maintenance, a new b-<X.Y>.x branch is cut from the current default.

Where to open your PR:

Updating an existing installation

When a new module version is released:

When upgrading OXID itself, follow the official OXID upgrade guide at https://docs.oxid-esales.com. The only Heartbeat-specific point is to bump OXID and the module together in one resolve, so the module version matching the new OXID is picked up. The commands below are an illustrative example, not a replacement for the official procedure:

Three outcomes:


Components

All four components are optional and can be enabled or disabled independently by the customer in the Admin interface under OXS :: Heartbeat.

1. API User

Additional option to grant OXID Support extended access to the module's GraphQL endpoints, so logs and diagnostics can be evaluated externally. Through this access, Support can also enable or disable other components of this module on demand to improve the data basis for support cases. Enable only if you want Support to read Request Logger configuration, retrieve logs or query diagnostics remotely.

2. Request Logger

Records controller actions, request parameters and the classes loaded during the lifecycle of a request to local log files. Provides a GraphQL API for remote configuration when API User is enabled.

3. Log Sender

Collects log files from various sources and provides them via GraphQL API for remote retrieval when API User is enabled.

4. Diagnostics Provider

Provides shop diagnostic information (modules, PHP config, server info) via GraphQL API when API User is enabled.


Features

Request Logger Features

Remote Configuration (via GraphQL API)


Module Configuration

The module provides configurable settings accessible via OXID Admin under OXS :: Heartbeat.

API User Setup (Required First)

Navigate to: OXS :: Heartbeat → API User → Setup

The API User is required for all components that need remote access. Follow the setup workflow:

  1. GraphQL Base: Ensure GraphQL Base module is activated
  2. Module activation: Activating Heartbeat creates the API service user automatically
  3. Setup Token: Copy the setup token and send it to OXID Support
  4. Activation: Wait for OXID Support to set the API password

Once complete, the API User status shows "Active" and other components can be enabled.

Request Logger Settings

Navigate to: OXS :: Heartbeat → Request Logger → Settings

Note: Requires API User setup to be complete.

1. Component Activation

2. Log Frontend Requests

3. Log Admin Requests

4. Detailed Logging

5. Redact all values

6. Redact Fields

Log Sender Settings

Navigate to: OXS :: Heartbeat → Log Sender → Manage

Note: Requires API User setup to be complete.

Log sources can be registered via:

Diagnostics Provider Settings

Navigate to: OXS :: Heartbeat → Diagnostics Provider → Manage

Note: Requires API User setup to be complete.

Provides the following information via GraphQL API:


Correlation ID System

The module implements a sophisticated correlation ID system that tracks requests across multiple page loads and API calls.

How It Works

  1. ID Resolution: The system attempts to resolve an existing correlation ID from:
    • HTTP Header X-Correlation-Id
    • Cookie X-Correlation-Id
    • If neither exists: Generate new UUID v4
  2. ID Emission: The correlation ID is returned to the client via:
    • HTTP Response Header: X-Correlation-Id: <id>
    • Cookie: X-Correlation-Id=<id>; Max-Age=2592000; Path=/; HttpOnly; SameSite=Lax
  3. Log Association: All log entries include the correlation ID in the context field

Use Cases


Log Events

A request usually emits three entries:

1. request.start

Content:

2. request.symbols

3. request.finish


Output Location & Format

File Location

Logs are written to:

File Organization

Each .log file contains newline-separated log entries in Monolog's format. The context data is JSON-encoded, making it parseable by log analysis tools.


GraphQL API

The Heartbeat module provides GraphQL APIs for remote management of all components.

Authentication

  1. During module activation, an API user ([email protected]) is created
  2. To enable remote access, use the setup token from the Admin interface to set the API user password (via OXID Support: [email protected]) Note: The API user is only used for remote access of the Heartbeats data through the OXID Support and access can be revoked at any time.

    Available Operations

Request Logger:

Log Sender:

Diagnostics Provider:


Testing

Tests run standalone without requiring a full OXID shop installation. The module uses oxideshop-ce as a dev dependency to provide the necessary framework interfaces.

Setup

Run Tests

Test Coverage

The test suite includes unit tests for all components. Some integration tests (e.g., ModuleEvents) are skipped in standalone mode as they require a full shop context.


License

See LICENSE file for details.


All versions of heartbeat with dependencies

PHP Build Version
Package Version
Requires oxid-esales/oxideshop-ce Version >=7.1, <7.7
oxid-esales/graphql-base Version ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0
oxid-esales/graphql-configuration-access Version ^1.1 || ^2.0 || ^3.0 || ^4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package oxid-support/heartbeat contains the following files

Loading the files please wait ...