PHPackages                             lcharette/uf\_configmanager - 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. [Admin Panels](/categories/admin)
4. /
5. lcharette/uf\_configmanager

ActiveUserfrosting-sprinkle[Admin Panels](/categories/admin)

lcharette/uf\_configmanager
===========================

This Sprinkle provides a UI for core and custom site settings

4.1.0(2y ago)78812[1 issues](https://github.com/lcharette/UF_ConfigManager/issues)MITPHPPHP ^8.0CI passing

Since Jun 26Pushed 1y ago4 watchersCompare

[ Source](https://github.com/lcharette/UF_ConfigManager)[ Packagist](https://packagist.org/packages/lcharette/uf_configmanager)[ Docs](https://github.com/lcharette/UF_ConfigManager)[ Fund](https://ko-fi.com/lcharette)[ RSS](/packages/lcharette-uf-configmanager/feed)WikiDiscussions 4.1 Synced 2mo ago

READMEChangelog (8)Dependencies (16)Versions (14)Used By (0)

Configuration Manager Sprinkle for [UserFrosting 5](https://www.userfrosting.com)
=================================================================================

[](#configuration-manager-sprinkle-for-userfrosting-5)

[![Donate](https://camo.githubusercontent.com/99b3d1d7ecb778fca144103318ff19e3419ce2a77bea43c23ee85aa8018fe407/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d4275792532304d6525323061253230436f666665652d626c75653f6c6f676f3d6b6f2d6669266c6f676f436f6c6f723d7768697465)](https://ko-fi.com/A7052ICP)[![Latest Version](https://camo.githubusercontent.com/63916773f3d3436ffdf2f7ccaf98b0b5ff621d64fc01aedac04db22453e09fb6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6c63686172657474652f55465f436f6e6669674d616e616765722e7376673f696e636c7564655f70726572656c656173657326736f72743d73656d766572)](https://github.com/lcharette/UF_ConfigManager/releases)[![UserFrosting Version](https://camo.githubusercontent.com/b6b87b53ad79f08f336f58033c144cb0f74a7518b394fc8834ba476e3b59b69a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5573657246726f7374696e672d2533453d253230352e302d627269676874677265656e2e737667)](https://github.com/userfrosting/UserFrosting)[![Software License](https://camo.githubusercontent.com/074b89bca64d3edc93a1db6c7e3b1636b874540ba91d66367c0e5e354c56d0ea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e737667)](LICENSE)[![Build](https://camo.githubusercontent.com/4c6d67d67b8689ce47f3b3e3a02a793b91e75e1e549ee5dc589ab31ffc884872/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c63686172657474652f55465f436f6e6669674d616e616765722f4275696c642e796d6c3f6272616e63683d352e30266c6f676f3d676974687562)](https://github.com/lcharette/UF_ConfigManager/actions?query=workflow%3ABuild)[![PHPStan](https://camo.githubusercontent.com/e18ece7b7a66e37bf050157676cd67add05337d49356256b70f6dc74929867cc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c63686172657474652f55465f436f6e6669674d616e616765722f5048505374616e2e796d6c3f6272616e63683d352e30266c6162656c3d5048505374616e)](https://github.com/lcharette/UF_ConfigManager/actions/workflows/PHPStan.yml)[![Codecov](https://camo.githubusercontent.com/bf1b4270aa340019aeb787c86d69c4ce25ddcf57d258883879963c280eb81f8c/68747470733a2f2f636f6465636f762e696f2f67682f6c63686172657474652f55465f436f6e6669674d616e616765722f6272616e63682f352e302f67726170682f62616467652e737667)](https://codecov.io/gh/lcharette/UF_ConfigManager)[![StyleCI](https://camo.githubusercontent.com/c34906f0de77a83202ef2c7d2e3999ab6435d10d8b189fd17e05fb453c3eeb9d/68747470733a2f2f7374796c6563692e696f2f7265706f732f37363132373936372f736869656c643f6272616e63683d352e30267374796c653d666c6174)](https://styleci.io/repos/76127967)

Configuration Manager sprinkle for [UserFrosting 5](https://www.userfrosting.com). Lets you edit UserFrosting configs from the interface.

Help and Contributing
=====================

[](#help-and-contributing)

If you need help using this sprinkle or found any bug, feels free to open an issue or submit a pull request. You can also find me on the [UserFrosting Chat](https://chat.userfrosting.com/) most of the time for direct support.

Installation
============

[](#installation)

To install in your Sprinkle :

1. Add this package with Composer :

    ```
    composer require lcharette/uf_configmanager "~4.1.0"

    ```
2. Edit your Sprinkle Recipe to include the ConfigManager as a Sprinkle dependency :

    ```
    \UserFrosting\Sprinkle\ConfigManager\ConfigManager::class

    ```
3. Add Config Manager frontend assets dependencies :

    ```
    npm i --save @lcharette/configmanager@~4.1.0

    ```
4. Add Config Manager &amp; FormGenerator frontend entries to your webpack entries. Open `webpack.config.js` and add in `const sprinkles { ... }`:

    ```
    FormGenerator: require('@lcharette/formgenerator/webpack.entries'),
    ConfigManager: require('@lcharette/configmanager/webpack.entries'),

    ```
5. Run :

    ```
    php bakery bake

    ```

Working example
===============

[](#working-example)

The `public/` directory serves as an example of ConfigManager. You can clone this repository and install as any UserFrosting 5 sprinkle :

1. `composer install`
2. `php bakery bake`
3. `php -S localhost:8080 -t public`

Permissions
-----------

[](#permissions)

The migration will automatically add the `update_site_config` permission to the `Site Administrator` role. If it's not added automatically, you can run the `UserFrosting\Sprinkle\ConfigManager\Database\Seeds\SettingsPermissions` seed using the `php bakery seed` command or add it manually in the admin UI. To give access to the config UI to another user, simply add the `update_site_config` permission slug to that user role.

Add link to the menu
--------------------

[](#add-link-to-the-menu)

The configuration UI is bound to the the `/settings` route. Simply add a link to this route where you want it. The checkAccess make it so it will appear only for users having the appropriate permission. For example, you can add the following to the sidebar menu :

```
{% if checkAccess('update_site_config') %}

     {{ translate("CONFIG_MANAGER.TITLE") }}

{% endif %}
```

Adding custom config
--------------------

[](#adding-custom-config)

Settings are separated by *topics* in the UI. Each topic is represented by a file, located in `schema/config/`. Unlike normal schema files, all entries needs to be wrapped inside a `config` key. A `name` and `desc` top-level entry will allow to define the title and description of the topic.

```
{
    "name" : "SITE.CONFIG",
    "desc" : "SITE.CONFIG.DESC",

    "config": { ... }
}
```

For example, to add an entry for `site.title` text and `site.registration.enabled` checkbox option in a "UserFrosting Settings" topic :

```
{
    "name" : "SITE.CONFIG",
    "desc" : "SITE.CONFIG.DESC",

    "config": {
        "site.title" : {
            "validators" : {
                "required" : {
                    "message" : "SITE.TITLE.REQUIRED"
                }
            },
            "form" : {
                "type" : "text",
                "label" : "SITE.TITLE",
                "icon" : "fa-comment"
            }
        },
        "site.registration.enabled" : {
            "validators" : {},
            "form" : {
                "type" : "checkbox",
                "label" : "SITE.REGISTRATION.ENABLED"
            }
        }
    }
}
```

> *NOTE* Only `.json` are accepted. `Yaml` schemas are cannot be used for now.

License
=======

[](#license)

By [Louis Charette](https://github.com/lcharette). Copyright (c) 2020, free to use in personal and commercial software as per the MIT license.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance24

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 97% 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 ~195 days

Recently: every ~19 days

Total

14

Last Release

708d ago

Major Versions

2.1.0 → 3.0.02020-05-14

3.0.x-dev → 4.0.02023-11-28

PHP version history (3 changes)2.0.0PHP &gt;=5.6

3.0.0PHP &gt;=7.1

4.0.0PHP ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/a58517f6c9aea65a660cb28e0fe5e3139696c6d5a7c96f91576aff0f0267c750?d=identicon)[lcharette](/maintainers/lcharette)

---

Top Contributors

[![lcharette](https://avatars.githubusercontent.com/u/2566513?v=4)](https://github.com/lcharette "lcharette (129 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (1 commits)")

---

Tags

userfrostinguserfrosting-sprinkleSettingsconfigadmin-paneluserfrosting

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/lcharette-uf-configmanager/health.svg)

```
[![Health](https://phpackages.com/badges/lcharette-uf-configmanager/health.svg)](https://phpackages.com/packages/lcharette-uf-configmanager)
```

###  Alternatives

[backpack/crud

Quickly build admin interfaces using Laravel, Bootstrap and JavaScript.

3.4k3.4M207](/packages/backpack-crud)[userfrosting/userfrosting

A secure, modern user management system for PHP.

1.7k11.4k](/packages/userfrosting-userfrosting)[redchamps/module-clean-admin-menu

It will merge all third party extensions menu items to single menu item named 'Extensions'.

164416.3k](/packages/redchamps-module-clean-admin-menu)[optimistdigital/nova-settings

A Laravel Nova tool for editing custom settings using native Nova fields.

297874.5k3](/packages/optimistdigital-nova-settings)[backpack/pagemanager

Create admin panels for presentation websites on Laravel, using page templates and Backpack\\CRUD.

371522.6k6](/packages/backpack-pagemanager)[backpack/langfilemanager

An interface to edit language files, for Laravel Backpack.

91230.1k1](/packages/backpack-langfilemanager)

PHPackages © 2026

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