{"id":19824850,"url":"https://github.com/commongateway/tjunctionbundle","last_synced_at":"2026-02-13T23:30:58.264Z","repository":{"id":91378541,"uuid":"606030222","full_name":"CommonGateway/TJunctionBundle","owner":"CommonGateway","description":"Bundle to introduce the 't-splitsing' (t-junction) for eDiensten","archived":false,"fork":false,"pushed_at":"2024-11-21T14:24:34.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-13T23:46:36.920Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CommonGateway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-02-24T12:49:03.000Z","updated_at":"2024-11-21T14:24:05.000Z","dependencies_parsed_at":"2023-12-15T09:28:47.946Z","dependency_job_id":"746670f4-e964-40a2-a4f9-4bb4d804bb7d","html_url":"https://github.com/CommonGateway/TJunctionBundle","commit_stats":{"total_commits":18,"total_committers":3,"mean_commits":6.0,"dds":"0.16666666666666663","last_synced_commit":"35c810cb04e9e5f7e63c7c2b76b06a0d9a72f8e9"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":"CommonGateway/PetStoreBundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommonGateway%2FTJunctionBundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommonGateway%2FTJunctionBundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommonGateway%2FTJunctionBundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommonGateway%2FTJunctionBundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CommonGateway","download_url":"https://codeload.github.com/CommonGateway/TJunctionBundle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233461000,"owners_count":18679771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T11:06:17.339Z","updated_at":"2025-09-18T08:31:00.748Z","avatar_url":"https://github.com/CommonGateway.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TJunctionBundle [![Codacy Badge](https://app.codacy.com/project/badge/Grade/980ea2efc85a427ea909518f29506ff6)](https://app.codacy.com/gh/CommonGateway/TJunctionBundle/dashboard?utm_source=gh\\\u0026utm_medium=referral\\\u0026utm_content=\\\u0026utm_campaign=Badge_grade)\n\nThis bundle is intended to direct incoming messages to the correct commonground-gateway.\n\nThe first section is about installing plugins. The latter part is about custom plugins to extend Common Gateway functionality.\n\n### Installation with the Common Gateway admin user-interface\n\nOnce 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.\n\n#### Installing with PHP commands\n\nTo execute the following command, you will need [Composer](https://getcomposer.org/download/) or a dockerized installation that already has PHP and Composer.\n\nThe Composer method in the terminal and root folder:\n\n\u003e for the installation of the plugin\n\n`$composer require common-gateway/pet-store-bundle:dev-main`\n\n\u003e for the installation of schemas\n\n`$php bin/console commongateway:install common-gateway/pet-store-bundle`\n\nThe dockerized method in the terminal and root folder:\n\n\u003e for the installation of the plugin\n\n`$docker-compose exec php composer require common-gateway/pet-store-bundle:dev-main`\n\n\u003e for the installation of schemas\n\n`$docker-compose exec php bin/console commongateway:install common-gateway/pet-store-bundle`\n\n***\n\n## Creating your Bundle\n\nThis section is for developers who want to build plugins to extend Common Gateway functionality without adding to the core codebase.\n\nThe following knowledge is assumed and/or installed:\n\n[Composer](https://getcomposer.org/download/)\n[Packagist](https://packagist.org/)\n[Docker](https://www.docker.com/products/docker-desktop/)\n[Schema.json](https://json-schema.org/)\nBasic knowledge of the [Common Gateway](https://github.com/CommonGateway)\n\n### Using this template\n\nThis 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\n\n1. Login on [GitHub](https://github.com)\n2. Use [this template](https://github.com/CommonGateway/PetStoreBundle/generate)\n3. 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.\n4. Press the green button `Create repository from template`\n5. Update file names and namespace to your fitting :\n\n   * Open composer.json, and change the name to your fitting. The first word should be the namespace, and the second the bundle's name.\n\n   \u003e Note: this is kebab-case. Also read: [naming your package](https://packagist.org/about#naming-your-package)\n\n   * Check the autoload field to be set accordingly.\n   * 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`\n   * Rename the `/Service` and `/ActionHandler` accordingly (or delete if not used).\n   * Rename the `/DependencyInjection/PetStoreExtension.php` to your `BundleNameExtension.php`\n   * Rename the `/Resources/config/services.yaml` namespaces\n\n### Adding schemas\n\nYou 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.\n\nYou 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).\n\nThe following properties are required, and without them, the Gateway won't recognize the schema as valid:\n\n```\n- `version` can start on '0.1.0.' \n```\n\n\u003e without this property, you can't update schemes\n\n```\n- `$schema` (https://docs.commongateway.nl/schemas/Entity.schema.json)\n- `$id` (https://example.com/schema/{Your scheme name}.schema.json)\n```\n\n\u003e Unique `$id` to be relatable to other schemas.\n\n```\n- `type` must be 'object'\n- `properties` must be schema properties\n```\n\nOnce 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommongateway%2Ftjunctionbundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcommongateway%2Ftjunctionbundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommongateway%2Ftjunctionbundle/lists"}