PHPackages                             oxid-esales/graphql-configuration-access - 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. [API Development](/categories/api)
4. /
5. oxid-esales/graphql-configuration-access

ActiveOxideshop-module[API Development](/categories/api)

oxid-esales/graphql-configuration-access
========================================

OXID eSales GraphQL configuration access module

v3.0.0(6mo ago)141.2k↓50%11proprietaryPHPPHP ^8.2CI passing

Since Feb 7Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/OXID-eSales/graphql-configuration-access)[ Packagist](https://packagist.org/packages/oxid-esales/graphql-configuration-access)[ Docs](https://www.oxid-esales.com)[ RSS](/packages/oxid-esales-graphql-configuration-access/feed)WikiDiscussions b-7.5.x Synced 1mo ago

READMEChangelogDependencies (15)Versions (21)Used By (1)

[![Development](https://github.com/OXID-eSales/graphql-configuration-access/actions/workflows/trigger.yml/badge.svg?branch=b-7.4.x)](https://github.com/OXID-eSales/graphql-configuration-access/actions/workflows/trigger.yml)[![Latest Version](https://camo.githubusercontent.com/64c9db0d1b075c1abf3dec0af4d96ea4ebb29304ccc82498bd131dc6eb602501/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f4f5849442d6553616c65732f6772617068716c2d636f6e66696775726174696f6e2d6163636573733f6c6f676f3d636f6d706f736572266c6162656c3d6c617465737426696e636c7564655f70726572656c656173657326636f6c6f723d6f72616e6765)](https://packagist.org/packages/oxid-esales/graphql-configuration-access)[![PHP Version](https://camo.githubusercontent.com/be52682f11b63d09968c017b1ba98ae49f42241f2a39e4fc5358e3c16865ce6f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6f7869642d6573616c65732f6772617068716c2d636f6e66696775726174696f6e2d616363657373)](https://github.com/oxid-esales/graphql-configuration-access)

[![Quality Gate Status](https://camo.githubusercontent.com/0dd1b050c610932de9337cadffccf0a5dcc10a48a47123ba124f3fffd4b0a339/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d4f5849442d6553616c65735f6772617068716c2d636f6e66696775726174696f6e2d616363657373266d65747269633d616c6572745f737461747573)](https://sonarcloud.io/dashboard?id=OXID-eSales_graphql-configuration-access)[![Coverage](https://camo.githubusercontent.com/6ecea18d13404d8f79756b1dfbd629c3a70de2100ecdebeb12b1aba12cd9c291/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d4f5849442d6553616c65735f6772617068716c2d636f6e66696775726174696f6e2d616363657373266d65747269633d636f766572616765)](https://sonarcloud.io/dashboard?id=OXID-eSales_graphql-configuration-access)[![Technical Debt](https://camo.githubusercontent.com/5f9872be6271b18105287db4c06551eaf77ac5595858e3ba845d0be4503032b7/68747470733a2f2f736f6e6172636c6f75642e696f2f6170692f70726f6a6563745f6261646765732f6d6561737572653f70726f6a6563743d4f5849442d6553616c65735f6772617068716c2d636f6e66696775726174696f6e2d616363657373266d65747269633d7371616c655f696e646578)](https://sonarcloud.io/dashboard?id=OXID-eSales_graphql-configuration-access)

graphql-configuration-access
============================

[](#graphql-configuration-access)

OXAPI (GraphQL based) access to configuration settings

### Why we use this schema

[](#why-we-use-this-schema)

To fetch and update the configurations we implemented a different query/mutation per value-type. We have chosen this schema because of GraphQL's strictness which doesn't allow for dynamic types. Without these types, the API consumer would always have to convert the value after queries or before mutations if, for example, we decided to use json encoded strings instead.

To get the specific type of a configuration, we provide queries like `shopSettings`/`moduleSettings`/`themeSettings` to figure out the type for configurations. As a result you get an array of setting types:

```
type SettingType {
  name: string!
  type: FieldType!
  isSupported: boolean!
}

enum FieldType {
  'str'
  'select'
  'bool'
  'num
  'arr'
  'aarr'
}

```

Branch compatibility
--------------------

[](#branch-compatibility)

- 4.x versions (or b-7.5.x branch) are compatible with OXID eShop compilation b-7.5.x (which uses `graphql-base` 13.x version resp. b-7.5.x branch)
- 3.0.x versions (or b-7.4.x branch) are compatible with OXID eShop compilation b-7.4.x (which uses `graphql-base` 12.x version resp. b-7.4.x branch)
- 2.1.x versions (or b-7.3.x branch) are compatible with OXID eShop compilation b-7.3.x (which uses `graphql-base` 11.x version resp. b-7.3.x branch)
- 1.2.x + 2.0.x versions (or b-7.2.x branch) are compatible with OXID eShop compilation b-7.2.x (which uses `graphql-base` 10.x version resp. b-7.2.x branch)
- 1.1.x versions (or b-7.1.x branch) are compatible with OXID eShop compilation b-7.1.x (which uses `graphql-base` 9.x version resp. b-7.1.x branch)

Documentation
-------------

[](#documentation)

- Full documentation can be found [here](https://docs.oxid-esales.com/interfaces/graphql/en/latest/).

### Install

[](#install)

Switch to the shop root directory (the file `composer.json` and the directories `source/` and `vendor/` are located there).

```
# Install desired version of oxid-esales/graphql-configuration-access module, in this case - latest released 4.x version for OXID 7.5
$ composer require oxid-esales/graphql-configuration-access ^4.0.0
```

If you didn't have the `oxid-esales/graphql-base` module installed, composer will do that for you.

After installing the module, you need to activate it, either via OXID eShop admin or CLI.

```
$ vendor/bin/oe-console oe:module:activate oe_graphql_base
$ vendor/bin/oe-console oe:module:activate oe_graphql_configuration_access
```

### How to use

[](#how-to-use)

A good starting point is to check the [How to use section in the GraphQL Base Module](https://github.com/OXID-eSales/graphql-base-module/#how-to-use)

Blocking modules from de/activation via GraphQL
-----------------------------------------------

[](#blocking-modules-from-deactivation-via-graphql)

The file module\_blockilst.yaml contains a list of modules which are necessary to handle configurations or de/activate modules via GraphQL or should be blocked for de/activation via GraphQL in general. Modules like `oe_graphql_base` and `oe_graphql_configuration_access` are listed there.

Testing
-------

[](#testing)

### Linting, syntax check, static analysis

[](#linting-syntax-check-static-analysis)

```
$ composer update
$ composer static
```

### Unit/Integration/Acceptance tests

[](#unitintegrationacceptance-tests)

- install this module into a running OXID eShop
- reset shop's database

```
$ bin/oe-console oe:database:reset --db-host=db-host --db-port=db-port --db-name=db-name --db-user=db-user --db-password=db-password --force
```

- run Unit + Integration tests

```
$ composer phpunit
```

- run Unit tests

```
$ ./vendor/bin/phpunit -c vendor/oxid-esales/graphql-configuration-access/tests/phpunit.xml
```

- run Integration tests

```
$ ./vendor/bin/phpunit --bootstrap=./source/bootstrap.php -c vendor/oxid-esales/graphql-configuration-access/tests/phpintegration.xml
```

- run Acceptance tests

```
$ composer codeception
```

Development installation on OXID eShop SDK
==========================================

[](#development-installation-on-oxid-eshop-sdk)

The installation instructions below are shown for the current [SDK](https://github.com/OXID-eSales/docker-eshop-sdk)for shop 7.5. Make sure your system meets the requirements of the SDK.

1. Ensure all docker containers are down to avoid port conflicts
2. Clone the SDK for the new project

```
echo MyProject && git clone https://github.com/OXID-eSales/docker-eshop-sdk.git $_ && cd $_
```

2. Clone the repository to the source directory

```
git clone --recurse-submodules https://github.com/OXID-eSales/graphql-configuration-access.git --branch=b-7.5.x ./source
```

3. Run the recipe to setup the development environment

```
./source/recipes/setup-development.sh
```

You should be able to access the shop with  and the admin panel with (credentials:  / admin)

### Running tests locally

[](#running-tests-locally)

Check the "scripts" section in the `composer.json` file for the available commands. Those commands can be executed by connecting to the php container and running the command from there, example:

```
make php
composer tests-coverage
```

Commands can be also triggered directly on the container with docker compose, example:

```
docker compose exec -T php composer tests-coverage
```

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance79

Regular maintenance activity

Popularity27

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 57.4% 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 ~71 days

Recently: every ~49 days

Total

10

Last Release

193d ago

Major Versions

v1.2.0 → v2.0.02025-04-25

v2.1.1 → v3.0.02025-11-06

PHP version history (3 changes)v1.0.0PHP ^8.0

v1.1.0-rc.1PHP ^8.1

v1.2.0-rc.1PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1374817?v=4)[oxid](/maintainers/oxid)[@OxID](https://github.com/OxID)

---

Top Contributors

[![MarcelOxid](https://avatars.githubusercontent.com/u/98812941?v=4)](https://github.com/MarcelOxid "MarcelOxid (372 commits)")[![RahatHameed](https://avatars.githubusercontent.com/u/11661532?v=4)](https://github.com/RahatHameed "RahatHameed (117 commits)")[![Sieg](https://avatars.githubusercontent.com/u/98882?v=4)](https://github.com/Sieg "Sieg (107 commits)")[![angel-dimitrov](https://avatars.githubusercontent.com/u/12593227?v=4)](https://github.com/angel-dimitrov "angel-dimitrov (26 commits)")[![NikolaIvanovski](https://avatars.githubusercontent.com/u/8055347?v=4)](https://github.com/NikolaIvanovski "NikolaIvanovski (9 commits)")[![hkreuter](https://avatars.githubusercontent.com/u/3692295?v=4)](https://github.com/hkreuter "hkreuter (7 commits)")[![TitaKoleva](https://avatars.githubusercontent.com/u/22682166?v=4)](https://github.com/TitaKoleva "TitaKoleva (4 commits)")[![tkcreateit](https://avatars.githubusercontent.com/u/42207462?v=4)](https://github.com/tkcreateit "tkcreateit (4 commits)")[![joernott](https://avatars.githubusercontent.com/u/5259518?v=4)](https://github.com/joernott "joernott (2 commits)")

---

Tags

graphqlOXIDmoduleseshop

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/oxid-esales-graphql-configuration-access/health.svg)

```
[![Health](https://phpackages.com/badges/oxid-esales-graphql-configuration-access/health.svg)](https://phpackages.com/packages/oxid-esales-graphql-configuration-access)
```

###  Alternatives

[oxid-esales/graphql-storefront

OXID eSales GraphQL storefront module

2050.4k1](/packages/oxid-esales-graphql-storefront)[oxid-esales/graphql-base

OXID eSales GraphQL base module

24101.0k10](/packages/oxid-esales-graphql-base)[oxid-esales/oxideshop-ce

This package contains OXID eShop CE source code.

2381.1M191](/packages/oxid-esales-oxideshop-ce)[oxid-esales/paypal-module

This is the PayPal module for the OXID eShop.

36513.5k2](/packages/oxid-esales-paypal-module)[ddoe/wysiwyg-editor-module

Summernote WYSIWYG Editor for OXID eShop.

19981.7k2](/packages/ddoe-wysiwyg-editor-module)[oxid-esales/gdpr-optin-module

This is the GDPR opt-in module for the OXID eShop.

20459.1k2](/packages/oxid-esales-gdpr-optin-module)

PHPackages © 2026

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