PHPackages                             inuar/attribute-group-readonly-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. inuar/attribute-group-readonly-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

inuar/attribute-group-readonly-bundle
=====================================

Akeneo PIM bundle to flag attribute groups as read-only on the product edit form.

2.0.0(3mo ago)00↓95.5%proprietaryPHPPHP &gt;=8.1

Since Mar 27Pushed 3mo agoCompare

[ Source](https://github.com/inuartech/AttributeGroupReadonlyBundle)[ Packagist](https://packagist.org/packages/inuar/attribute-group-readonly-bundle)[ RSS](/packages/inuar-attribute-group-readonly-bundle/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (4)Versions (9)Used By (0)

InuarAttributeGroupReadOnlyBundle
=================================

[](#inuarattributegroupreadonlybundle)

A Symfony bundle for **Akeneo PIM Community Edition** that allows you to mark attribute groups as read-only, preventing users from editing any attribute values belonging to those groups on the product edit form.

[![attribute group read-only](https://private-user-images.githubusercontent.com/33385/587113021-c2c76717-36d0-48c8-bb0d-7f49b1c9a299.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODYzNDMyNTYsIm5iZiI6MTc4NjM0Mjk1NiwicGF0aCI6Ii8zMzM4NS81ODcxMTMwMjEtYzJjNzY3MTctMzZkMC00OGM4LWJiMGQtN2Y0OWIxYzlhMjk5LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODEwVDA2MjIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY1NjhlNzg5MmYxZWY4ZmEyZGYxZTg5YWRhMjYzZWYyMWI0MjZlNDQxMTRmMjA1ZDAwOTc2NGI5NDIzMTNiNDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.Imm2rmUFmzGdxrwvGkDp6GfHX5Vt60svJmp2byoLy2k)](https://private-user-images.githubusercontent.com/33385/587113021-c2c76717-36d0-48c8-bb0d-7f49b1c9a299.gif?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODYzNDMyNTYsIm5iZiI6MTc4NjM0Mjk1NiwicGF0aCI6Ii8zMzM4NS81ODcxMTMwMjEtYzJjNzY3MTctMzZkMC00OGM4LWJiMGQtN2Y0OWIxYzlhMjk5LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODEwVDA2MjIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY1NjhlNzg5MmYxZWY4ZmEyZGYxZTg5YWRhMjYzZWYyMWI0MjZlNDQxMTRmMjA1ZDAwOTc2NGI5NDIzMTNiNDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmdpZiJ9.Imm2rmUFmzGdxrwvGkDp6GfHX5Vt60svJmp2byoLy2k)

---

Features
--------

[](#features)

- Toggle any attribute group as **read-only** directly from the attribute group edit page (same UI pattern as Data Quality Insights activation).
- Read-only enforcement is **visual** (fields are disabled in the product edit form) and **backend** (values stripped before save, protecting against API and CLI writes).
- The read-only state is stored in a dedicated database table and survives cache clears.
- Automatically cleans up the read-only flag when an attribute group is deleted.

---

Requirements
------------

[](#requirements)

DependencyVersionPHP^8.1Symfony^5.4 / ^6.xAkeneo PIM CE^7.0Doctrine DBAL^3.x---

Installation
------------

[](#installation)

---

1. Install the bundle
2. Register the bundle

Add the bundle to config/bundles.php:

```
return [
    // ... other bundles
    Inuar\Bundle\AttributeGroupReadOnlyBundle\InuarAttributeGroupReadOnlyBundle::class => ['all' => true],
];
```

---

3. Register the routes

Add the following to config/routes/routes.yml:

```
inuar_attribute_group_readonly:
    resource: "@InuarAttributeGroupReadOnlyBundle/Resources/config/routing.yml"
```

---

4. Run the database migration

```
bin/console doctrine:migrations:migrate
```

This creates the inuar\_readonly\_attribute\_group table used to store which attribute groups are flagged as read-only.

---

5. Install assets and rebuild the frontend

```
bin/console assets:install --symlink
bin/console pim:installer:dump-require-paths
yarn run webpack
bin/console cache:clear
```

---

Usage

1. Go to Settings → Attribute Groups in the Akeneo UI.
2. Open any attribute group.
3. In the Properties tab, find the Read-Only section.
4. Toggle the switch to enable or disable read-only mode for that group.
5. All attributes belonging to that group will be immediately locked on the product edit form — visually disabled with a notice, and protected at the backend level.

---

How it works

Backend enforcement

The bundle decorates Akeneo's pim\_catalog.updater.product service. On every product save (UI, API, or import), it queries the read-only attribute groups, resolves all attribute codes belonging to those groups, and strips those values from the update payload before delegating to the original updater.

Frontend enforcement

A form extension listens to the pim\_enrich:form:field:extension:add event on the product edit form. For each field whose attribute belongs to a read-only group, it calls field.setEditable(false) and appends a footer note: "This attribute is read-only and cannot be edited."

Database

A single table inuar\_readonly\_attribute\_group stores the codes of read-only attribute groups:

```
CREATE TABLE inuar_readonly_attribute_group (
    attribute_group_code VARCHAR(100) NOT NULL,
    PRIMARY KEY (attribute_group_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance81

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% 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 ~6 days

Total

7

Last Release

99d ago

Major Versions

1.0.5 → 2.0.02026-05-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/8104c8ab80e70e6e383abf961bed5e9502062e8ed2587dcaa7bd8152ab93378b?d=identicon)[inuar](/maintainers/inuar)

---

Top Contributors

[![nei](https://avatars.githubusercontent.com/u/33385?v=4)](https://github.com/nei "nei (9 commits)")[![nei-inuartech](https://avatars.githubusercontent.com/u/145705249?v=4)](https://github.com/nei-inuartech "nei-inuartech (1 commits)")

---

Tags

akeneo

### Embed Badge

![Health badge](/badges/inuar-attribute-group-readonly-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/inuar-attribute-group-readonly-bundle/health.svg)](https://phpackages.com/packages/inuar-attribute-group-readonly-bundle)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k18.3M417](/packages/easycorp-easyadmin-bundle)[shopware/storefront

Storefront for Shopware

674.7M282](/packages/shopware-storefront)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.8M666](/packages/shopware-core)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1617.3k16](/packages/2lenet-crudit-bundle)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3693.1k16](/packages/netgen-layouts-core)[heimrichhannot/contao-pwa-bundle

A bundle to provide progressive web app support for contao.

101.2k](/packages/heimrichhannot-contao-pwa-bundle)

PHPackages © 2026

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