PHPackages                             patrick-blom/article-alert-poc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. patrick-blom/article-alert-poc

ActiveOxideshop-module[Mail &amp; Notifications](/categories/mail)

patrick-blom/article-alert-poc
==============================

This module allows the customer to be informed as soon as a sold out item is available again.

1.0.0(5y ago)15GPL-3.0-onlyPHPPHP &gt;=7.1

Since Jun 26Pushed 5y ago1 watchersCompare

[ Source](https://github.com/patrick-blom/article-alert)[ Packagist](https://packagist.org/packages/patrick-blom/article-alert-poc)[ Docs](https://www.patrick-blom.de/)[ RSS](/packages/patrick-blom-article-alert-poc/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

[![PHP Version](https://camo.githubusercontent.com/cce8ea59a4939ef46480b82ebb8ad8b217ad22070d773d737296747a538babaa/68747470733a2f2f666c61742e62616467656e2e6e65742f7061636b61676973742f7068702f7061747269636b2d626c6f6d2f61727469636c652d616c6572742d706f632f3f63616368653d333030267363616c653d312e31)](https://github.com/patrick-blom/article-alert)[![Stable Version](https://camo.githubusercontent.com/4627636436409ec185eaf4692801f7e11b6534545bd064990317bc2e65b845e7/68747470733a2f2f666c61742e62616467656e2e6e65742f7061636b61676973742f762f7061747269636b2d626c6f6d2f61727469636c652d616c6572742d706f632f6c61746573742f3f6c6162656c3d6c61746573742663616368653d333030267363616c653d312e31)](https://packagist.org/packages/patrick-blom/article-alert-poc)[![Package Name](https://camo.githubusercontent.com/55a3aab71190b91d4863dcde4bf3e1dc679c89456b86370199e2b6196ceebdc9/68747470733a2f2f666c61742e62616467656e2e6e65742f7061636b61676973742f6e616d652f7061747269636b2d626c6f6d2f61727469636c652d616c6572742d706f632f3f6c6162656c3d7061636b61676973742663616368653d333030267363616c653d312e31)](https://packagist.org/packages/patrick-blom/article-alert-poc)[![License](https://camo.githubusercontent.com/e92282d5da0faf6c68fb8f0b70c9bc587d88cb8a2039217647ab9b3aafb3b577/68747470733a2f2f666c61742e62616467656e2e6e65742f7061636b61676973742f6c6963656e73652f7061747269636b2d626c6f6d2f61727469636c652d616c6572742d706f632f3f6c6162656c3d6c6963656e73652663616368653d333030267363616c653d312e31)](https://github.com/patrick-blom/article-alert/blob/master/LICENSE)[![Follow me on twitter](https://camo.githubusercontent.com/5b7e2d292b0ed651de293485cd9638af1b810b733ca259dcb5cebd8ba3cbc405/68747470733a2f2f666c61742e62616467656e2e6e65742f747769747465722f666f6c6c6f772f70626c306d2f3f6c6162656c3d4070626c306d2663616368653d333030267363616c653d312e31)](https://twitter.com/pbl0m)

Article Alert Module POC
========================

[](#article-alert-module-poc)

This is a **proof of concept** to introduce hexagonal module architecture in OXID eShop 6.2

### About the module

[](#about-the-module)

This module adds the possibility to create an email alert for out of stock products to the article details page.

The customer can enter his/her email address on the article details page which will saved with additional information about the article in a storage.

This storage can be consumed e.g. by a micro service which sends a notification if the product is available again. **(Not part of the module!)**

[![Image alt="preview of the module"](module-preview.png)](module-preview.png)

### Delimitation

[](#delimitation)

This module is a proof of concept and not ready for production usage in any kind.

### Compatibility

[](#compatibility)

- The module is OXID eShop 6.2 and higher only
- The module was built and will work on the OXID eShop Community Edition
- The module should work on OXID eShop Professional Edition and OXID eShop Enterprise Edition
- The module was tested on the OXID eShop Community Edition
- The module was **not tested** on OXID eShop Professional Edition and OXID eShop Enterprise Edition

### Requirements

[](#requirements)

- OXID eShop 6.2 Community Edition (or higher)
- PHP 7.1 (or higher)

### Module installation via composer

[](#module-installation-via-composer)

#### Default installation via packagist (recommend)

[](#default-installation-via-packagist-recommend)

- add the module to your shop composer.json
    - `cd `
    - `composer require patrick-blom/article-alert-poc`

#### Alternative installation via GitHub (manual)

[](#alternative-installation-via-github-manual)

- create a new folder called "thirdparty" with the subfolder "pb" at the shop root level (same level as the composer.json)
    - `cd `
    - `mkdir -p thirdparty/pb`
- clone the repository to the new folder
    - `git clone git@github.com:patrick-blom/article-alert.git thirdparty/pb/ArticleAlert`
- navigate back to the shop root level and add the repository to composer.json
    - `composer config repositories.patrick-blom/article-alert-poc path thirdparty/pb/ArticleAlert`
- add the module to your shop composer.json
    - `composer require patrick-blom/article-alert-poc`

#### OXID eShop module activation (identical for default &amp;&amp; alternative installation)

[](#oxid-eshop-module-activation-identical-for-default--alternative-installation)

- prepare the module configuration for eShop 6.2
    - `vendor/bin/oe-console oe:module:install-configuration source/modules/pb/ArticleAlert/`
    - `vendor/bin/oe-console oe:module:apply-configuration`
- activate the module
    - `vendor/bin/oe-console oe:module:activate articlealertpoc`
- regenerate the unified namespace and the views, because the module adds new database fields
    - `vendor/bin/oe-eshop-unified_namespace_generator`
    - `vendor/bin/oe-eshop-db_views_regenerate`

### Usage

[](#usage)

- After the installation and activation the module is ready to use and integrates the functionality in the `details_productmain_tobasket` block on the product details page.
- By default you'll find a file called `article_alert_db` under `/tmp` which holds all information about the alerts.

### Testing

[](#testing)

#### !Attention!

[](#attention)

Even if this is a proof of concept. The testing process should only be done in a development environment or CI pipeline.

#### Preparing

[](#preparing)

- Install the module as described
- Prepare the [OXID Testing Library](https://github.com/OXID-eSales/testing_library) likes described in their repository or use the [oxvm\_eshop](https://github.com/OXID-eSales/oxvm_eshop) / [docker-eshop-sdk](https://github.com/OXID-eSales/docker-eshop-sdk)
- Add `pb/ArticleAlert` to the partial module paths in your test\_config.yml (e.g: `partial_module_paths: 'pb/ArticleAlert'`)
- Copy the `config.inc.TEST.php.dist` from the vendor module directory to your shop root and rename it to `config.inc.TEST.php`
- Adjust the settings in the `config.inc.TEST.php` to your needs (test database name, error reporting, etc)
- Modify your `config.inc.php` and ensure that the `config.inc.TEST.php` will be loaded during the tests

```
    // bottom of config.inc.php
    if (defined('OXID_PHP_UNIT')) {
        include "config.inc.TEST.php";
    }
```

#### Run tests

[](#run-tests)

- Navigate to the shop root
- Run the test using the following command: `php vendor/bin/runtests /source/modules/pb/ArticleAlert/Tests`
- Run the coverage using the following command: `php vendor/bin/runtests-coverage /source/modules/pb/ArticleAlert/Tests`

#### Run static analysis

[](#run-static-analysis)

- Install phpstan using `composer require --dev phpstan/phpstan`
- Run the static analysis using the following commands
    - Navigate to the ``
    - Run phpstan with arguments `vendor/bin/phpstan analyze -c source/modules/pb/ArticleAlert/phpstan.neon`

### License

[](#license)

The module is released under GPL-3.0. For a full overview check the [LICENSE](LICENSE) file.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2146d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/43344843?v=4)[elBlommo](/maintainers/patrickblom)[@PatrickBlom](https://github.com/PatrickBlom)

---

Top Contributors

[![patrick-blom](https://avatars.githubusercontent.com/u/4736591?v=4)](https://github.com/patrick-blom "patrick-blom (8 commits)")

---

Tags

emailOXIDmodulesalertarticleeshop

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/patrick-blom-article-alert-poc/health.svg)

```
[![Health](https://phpackages.com/badges/patrick-blom-article-alert-poc/health.svg)](https://phpackages.com/packages/patrick-blom-article-alert-poc)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
