PHPackages                             locomotivemtl/charcoal-contrib-guide - 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. locomotivemtl/charcoal-contrib-guide

ActiveLibrary[Admin Panels](/categories/admin)

locomotivemtl/charcoal-contrib-guide
====================================

Charcoal Admin Guide Module.

0.1.0.2(6y ago)072MITPHPPHP &gt;=5.6.0 || &gt;=7.0CI failing

Since Jul 24Pushed 6y ago13 watchersCompare

[ Source](https://github.com/locomotivemtl/charcoal-contrib-guide)[ Packagist](https://packagist.org/packages/locomotivemtl/charcoal-contrib-guide)[ Docs](https://locomotivemtl.github.io/charcoal-contrib-guide/)[ RSS](/packages/locomotivemtl-charcoal-contrib-guide/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (4)Versions (4)Used By (0)

Charcoal Guide
==============

[](#charcoal-guide)

Charcoal contrib guide is a contrib set to add videos (youtube's, at some point vimeo's) as tutorials in the charcoal-admin interface.

Upon installation, you will get

Table of Contents
-----------------

[](#table-of-contents)

- [Installation](#installation)
    - [Dependencies](#dependencies)
- [Service Provider](#service-provider)
    - [Parameters](#parameters)
    - [Services](#services)
- [Configuration](#configuration)
- [Usage](#usage)
- [Development](#development)
    - [API Documentation](#api-documentation)
    - [Development Dependencies](#development-dependencies)
    - [Coding Style](#coding-style)
- [Credits](#credits)
- [License](#license)

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

[](#installation)

The preferred (and only supported) method is with Composer:

```
$ composer require locomotivemtl/charcoal-contrib-guide
```

### Dependencies

[](#dependencies)

#### Required

[](#required)

- [**PHP 5.6+**](https://php.net): *PHP 7* is recommended.
- [**charcoal-admin**](https://github.com/locomotivemtl/charcoal-admin): &gt;=0.15=

#### PSR

[](#psr)

- [**PSR-7**](https://www.php-fig.org/psr/psr-7/): Common interface for HTTP messages. Fulfilled by Slim.
- [**PSR-11**](https://www.php-fig.org/psr/psr-11/): Common interface for dependency containers. Fulfilled by Pimple.

Configuration
-------------

[](#configuration)

In your project's config file, require the notification module :

```
{
    "modules": {
        "charcoal/admin/guide/guide": {}
    }
}
```

Then, add an youtube api key: To find an api key, go to `https://console.cloud.google.com`, reach a `billable project` then go to credentials, and add an api key. `Youtube Data Api` must be enabled to restrict key accordingly. To enable the api, go to `Library`, then search for `Youtube Data Api`.

```
{
    "apis": {
        "google": {
            "youtube": {
                "key": "xxxxxxx"
            }
        }
    }
}
```

Usage
-----

[](#usage)

Upon installation, you will get a new item in the system menu `Video tutorials` which will bring you to a menu for the charcoal admin guide interface. To see the scraper interface and the video association interface, you will need to have superuser access or gain access to `charcoal/admin/guide/edit`. Without the proper access, you will only be able to see the videos list.

### Scraping youtube videos

[](#scraping-youtube-videos)

Go to `admin/guide/scrape-video`, type in the playlist ID and press `Import`. You be redirected to the admin/guide/video page with all the newly imported videos, or none if the playlist was not accessible for any reason. Importing videos WILL overwrite existing videos, you cannot import multiple youtube playlist. **Importing videos will remove all attached videos that were previously defined in the admin/guide/associate-video page**.

### Associating videos

[](#associating-videos)

As of version 0.1.0, you can associate a video to either a `form` or a `table` (widget). Meaning you can only associate videos to `objects`, not `templates`. The object list comes from the admin menu.

To associate a video, choose a `Widget`, then a `property` when defined (mostly template\_ident), then, of course, the actual `video`. Not defining any property will results as a default behavior, thus applying the video to all entries from the choosen object. You can then press `save` in the sidebar and that's it. Javascript interpreter will define if a form or a table has a video attached to it.

#### Important notes

[](#important-notes)

The order in which you define the videos has an impact on the displayed video, as only one video can be assigned to an object entry. For example, if you choose to assign a video to a form without defining the property, all subsequent videos will be avoided.

Development
-----------

[](#development)

To install the development environment:

```
$ composer install
```

To run the scripts (phplint, phpcs, and phpunit):

```
$ composer test
```

### Development Dependencies

[](#development-dependencies)

- \[php-coveralls/php-coveralls\]\[phpcov\]
- \[phpunit/phpunit\]\[phpunit\]
- \[squizlabs/php\_codesniffer\]\[phpcs\]

To do list
----------

[](#to-do-list)

- Add support for vimeo
- Add support for custom video URL
- Add support for adding videos without overwriting it all
- Add support for templates as opposed to widgets

### Coding Style

[](#coding-style)

The charcoal-contrib-guide module follows the Charcoal coding-style:

- [*PSR-1*](https://www.php-fig.org/psr/psr-1/)
- [*PSR-2*](https://www.php-fig.org/psr/psr-2/)
- [*PSR-4*](https://www.php-fig.org/psr/psr-4/), autoloading is therefore provided by *Composer*.
- [*phpDocumentor*](http://phpdoc.org/) comments.
- [phpcs.xml.dist](phpcs.xml.dist) and [.editorconfig](.editorconfig) for coding standards.

> Coding style validation / enforcement can be performed with `composer phpcs`. An auto-fixer is also available with `composer phpcbf`.

Credits
-------

[](#credits)

- [Locomotive](https://locomotive.ca/)

License
-------

[](#license)

Charcoal is licensed under the MIT license. See [LICENSE](LICENSE) for details.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~1 days

Total

3

Last Release

2482d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4229f19eecd12c2b651b6502dcc5adfba48c5770db3d2dbea55fc92c7a246b2b?d=identicon)[BeneRoch](/maintainers/BeneRoch)

---

Top Contributors

[![BeneRoch](https://avatars.githubusercontent.com/u/3017380?v=4)](https://github.com/BeneRoch "BeneRoch (7 commits)")

---

Tags

charcoalguidecharcoal-admin

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/locomotivemtl-charcoal-contrib-guide/health.svg)

```
[![Health](https://phpackages.com/badges/locomotivemtl-charcoal-contrib-guide/health.svg)](https://phpackages.com/packages/locomotivemtl-charcoal-contrib-guide)
```

###  Alternatives

[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)[magefan/module-admin-user-guide

Admin panel user guides.

132.5M1](/packages/magefan-module-admin-user-guide)[locomotivemtl/charcoal-admin

The Charcoal Administration Dashboard

1110.8k8](/packages/locomotivemtl-charcoal-admin)

PHPackages © 2026

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