PHPackages                             mtrojan-ub/vufind-module-composer-test - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. mtrojan-ub/vufind-module-composer-test

ActiveLibrary[Testing &amp; Quality](/categories/testing)

mtrojan-ub/vufind-module-composer-test
======================================

An extension module for vufind-org/vufind that can be added via composer, testing several mechanisms for overriding folder structures, versioning etc.

v10.2.1.0(4mo ago)03PHPPHP &gt;=8.0CI passing

Since Jan 9Pushed 1mo agoCompare

[ Source](https://github.com/mtrojan-ub/vufind-module-composer-test)[ Packagist](https://packagist.org/packages/mtrojan-ub/vufind-module-composer-test)[ RSS](/packages/mtrojan-ub-vufind-module-composer-test/feed)WikiDiscussions main Synced 1mo ago

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

[![CI Status](https://github.com/mtrojan-ub/vufind-module-composer-test/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/mtrojan-ub/vufind-module-composer-test/actions/workflows/ci.yaml)vufind-module-composer-test
=========================================================================================================================================================================================================================================

[](#vufind-module-composer-test)

This is a simple extension module for VuFind to be included via composer.

Effects
-------

[](#effects)

- A JavaScript popup will be shown everytime you call a page, similar to the default local\_example\_mixin
- There is a new page being added `Content/mypage` which uses a View Helper from the module to generate a simple example text

To include
----------

[](#to-include)

- Add a "require"-entry to your composer.local.json

```
"require": {
    "mtrojan-ub/vufind-module-composer-test": "dev-main"
}

```

- Execute `composer update`
- Make sure the custom module is loaded in your ENV variables `VUFIND_LOCAL_MODULES=MyModule` (Webserver config, CLI, ... depending on what you want to do)
- Make sure that MyMixin is loaded in your theme.config.php `'mixins' => ['MyMixin']`, see [https://vufind.org/wiki/development:architecture:user\_interface](https://vufind.org/wiki/development:architecture:user_interface)
    - Add a Symlink in your `themes` folder to `../vendor/mtrojan-ub/vufind-module-composer-test/themes/MyMixin`

Special thoughts for further evaluation
---------------------------------------

[](#special-thoughts-for-further-evaluation)

- Typically other modules only add "module"-related code, but we also want to override other parts of the code:
    - Templates: Can we solve the manual symlink in another way? (e.g. a directive in composer.local.json and/or a small sh/bat script)
    - Config: Should we provide separate config files instead of extending existing ones? (might depend on what our module is about)
- What versioning should be used? e.g. if you want the module to be compatible with different VuFind versions, should we provide several tags for each version? Do we need to extend the versioning schema for this? (e.g. if we write a version for 11.0 and the VuFind Version is 11.0.1, and we fix a bug, do we need to use sub-versions like 11.0.1.0, 11.0.1.1 and so on, and provide separate versions for 10.2 like 10.2.0.0, 10.2.0.1, ...)
- QA-Tasks are experimentally included as well (copied from vufind-org/vufindhttp), with the following limitations/changes
    - So far only for "module" and not for "themes"
    - comment-related rules will be skipped in phpcs.xml for now (lots of duplicate stuff with mandatory comments when you have type hinting, redundant information in the same file, etc.)
    - ci.yaml only runs with a single PHP version and without PHPUnit (which is not yet used in this test module anyway)

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance84

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 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

123d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/49ebe1a26634649326f6192d011bc542a6dbf14c6eaaa6825d5478467031f70e?d=identicon)[mtrojan-ub](/maintainers/mtrojan-ub)

---

Top Contributors

[![mtrojan-ub](https://avatars.githubusercontent.com/u/26873381?v=4)](https://github.com/mtrojan-ub "mtrojan-ub (14 commits)")

###  Code Quality

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mtrojan-ub-vufind-module-composer-test/health.svg)

```
[![Health](https://phpackages.com/badges/mtrojan-ub-vufind-module-composer-test/health.svg)](https://phpackages.com/packages/mtrojan-ub-vufind-module-composer-test)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)

PHPackages © 2026

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