PHPackages                             common-gateway/t-junction-bundle - 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. [Framework](/categories/framework)
4. /
5. common-gateway/t-junction-bundle

ActiveSymfony-bundle[Framework](/categories/framework)

common-gateway/t-junction-bundle
================================

An example package for creating symfony flex bundles as plugins

0.0.21(1y ago)039EUPL-1.2PHPPHP &gt;=7.4CI passing

Since Feb 24Pushed 1y ago3 watchersCompare

[ Source](https://github.com/CommonGateway/TJunctionBundle)[ Packagist](https://packagist.org/packages/common-gateway/t-junction-bundle)[ Docs](https://commongateway.nl)[ RSS](/packages/common-gateway-t-junction-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (23)Used By (0)

TJunctionBundle [![Codacy Badge](https://camo.githubusercontent.com/4ed3b4dec36d9776e678dcb89520ca0feac007757bb424ee0381c159b497b307/68747470733a2f2f6170702e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f3938306561326566633835613432376561393039353138663239353036666636)](https://app.codacy.com/gh/CommonGateway/TJunctionBundle/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
========================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#tjunctionbundle-)

This bundle is intended to direct incoming messages to the correct commonground-gateway.

The first section is about installing plugins. The latter part is about custom plugins to extend Common Gateway functionality.

### Installation with the Common Gateway admin user-interface

[](#installation-with-the-common-gateway-admin-user-interface)

Once a bundle is set up correctly (like this repository), the Common Gateway can discover the bundle without additional configuration. Head to the `Plugins` tab to search, select and install plugins.

#### Installing with PHP commands

[](#installing-with-php-commands)

To execute the following command, you will need [Composer](https://getcomposer.org/download/) or a dockerized installation that already has PHP and Composer.

The Composer method in the terminal and root folder:

> for the installation of the plugin

`$composer require common-gateway/pet-store-bundle:dev-main`

> for the installation of schemas

`$php bin/console commongateway:install common-gateway/pet-store-bundle`

The dockerized method in the terminal and root folder:

> for the installation of the plugin

`$docker-compose exec php composer require common-gateway/pet-store-bundle:dev-main`

> for the installation of schemas

`$docker-compose exec php bin/console commongateway:install common-gateway/pet-store-bundle`

---

Creating your Bundle
--------------------

[](#creating-your-bundle)

This section is for developers who want to build plugins to extend Common Gateway functionality without adding to the core codebase.

The following knowledge is assumed and/or installed:

[Composer](https://getcomposer.org/download/)[Packagist](https://packagist.org/)[Docker](https://www.docker.com/products/docker-desktop/)[Schema.json](https://json-schema.org/)Basic knowledge of the [Common Gateway](https://github.com/CommonGateway)

### Using this template

[](#using-this-template)

This template is for rapid Symfony bundle development and meant as a model to base your custom plugin on. Follow the next steps to create your plugin within 45 minutes or less

1. Login on [GitHub](https://github.com)
2. Use [this template](https://github.com/CommonGateway/PetStoreBundle/generate)
3. Name your Bundle (CamelCase). The bundle needs to end with `Bundle` as per Symfony [naming](https://symfony.com/doc/current/bundles/best_practices.html#bundles-naming-conventions) conventions.
4. Press the green button `Create repository from template`
5. Update file names and namespace to your fitting :

    - Open composer.json, and change the name to your fitting. The first word should be the namespace, and the second the bundle's name.

    > Note: this is kebab-case. Also read: [naming your package](https://packagist.org/about#naming-your-package)

    - Check the autoload field to be set accordingly.
    - Open PetStoreBundle.php and change the Bundle `name` and `namespace`. The namespace should be the same as your package name in `composer.json` but in CamelCase. So `common-gateway/pet-store-bundle` becomes `CommonGateway/PetStoreBundle`
    - Rename the `/Service` and `/ActionHandler` accordingly (or delete if not used).
    - Rename the `/DependencyInjection/PetStoreExtension.php` to your `BundleNameExtension.php`
    - Rename the `/Resources/config/services.yaml` namespaces

### Adding schemas

[](#adding-schemas)

You can load [json schemas](https://json-schema.org/learn/getting-started-step-by-step.html#starting-the-schema) as Entities from your [`/Schema`](https://github.com/CommonGateway/PetStoreBundle/tree/main/Schema) folder to use in the Common Gateway and work with objects based on your schemas.

You can add existing schemas or create your own and add them to the`/Schema` folder. There is an example shown here in [`/Schema/example.json`](https://github.com/CommonGateway/PetStoreBundle/blob/main/Schema/example.json).

The following properties are required, and without them, the Gateway won't recognize the schema as valid:

```
- `version` can start on '0.1.0.'

```

> without this property, you can't update schemes

```
- `$schema` (https://docs.commongateway.nl/schemas/Entity.schema.json)
- `$id` (https://example.com/schema/{Your scheme name}.schema.json)

```

> Unique `$id` to be relatable to other schemas.

```
- `type` must be 'object'
- `properties` must be schema properties

```

Once you add schemas to the repository, you can also add objects/data for those schemas. There is an example shown in the [`/Data`](https://github.com/CommonGateway/PetStoreBundle/tree/main/Data) folder.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance43

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.2% 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

Every ~36 days

Recently: every ~157 days

Total

21

Last Release

446d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8a7f1a91dc2ccd4cba1ee706c9691640e75220cdba7efc4b5ca9385290bfe9c1?d=identicon)[rjzondervan](/maintainers/rjzondervan)

---

Top Contributors

[![rjzondervan](https://avatars.githubusercontent.com/u/10433082?v=4)](https://github.com/rjzondervan "rjzondervan (23 commits)")[![WilcoLouwerse](https://avatars.githubusercontent.com/u/3785488?v=4)](https://github.com/WilcoLouwerse "WilcoLouwerse (4 commits)")

---

Tags

symfonycommongatewayconductioncommongatewaycommon-gateway-pluginpet store

### Embed Badge

![Health badge](/badges/common-gateway-t-junction-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/common-gateway-t-junction-bundle/health.svg)](https://phpackages.com/packages/common-gateway-t-junction-bundle)
```

PHPackages © 2026

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