CMS Packages
The Playground CMS provides a content management system, with pages and snippets, that may be consumed by a Laravel application or served as JSON from a Laravel based API or Resource.
Features:
Pages and Snippets support revisions.
Start, Embargo, End and Planned dates are available for controlling content releases.
Supports custom authorization for each page and snippet: Owner, Groups, po, pg, pw, only_admin, only_user, only_guest, allow_public
Multiple page types to support magazines, books, articles and more.
playground-cms
Provides the models for playground-cms-api and playground-cms-resource.
artisan about for playground-cms
Package Information
- Packagist
- Source on GitHub
Configuration
You can publish the configuration file with:
php artisan vendor:publish --provider="Playground\Cms\ServiceProvider" --tag playground-config
Environment Variables
Migrations
All migrations are disabled by default.
See the contents of the published config file: database/migrations - NOTE: There are four tables that will be created, they do have indexes and unique constraints defined; however, this release does not have the foreign key constraint migrations included at this time.
If you do not wish to publish the migrations to your application, you may use the Environment Variable:
PLAYGROUND_CMS_LOAD_MIGRATIONSin your.env.
PLAYGROUND_CMS_LOAD_MIGRATIONSConfig:
playground-cms.load.migrationsType:
boolDefault:
falseDescription: The loading option for migrations does not take effect if the migrations have been published to your app. The control for loading is handled in the package ServiceProvider.
You can publish the migrations file with:
php artisan vendor:publish --provider="Playground\Cms\ServiceProvider" --tag playground-migrations
Installation
NOTE: This package is required by playground-cms-api and playground-cms-resource.
composer require gammamatrix/playground-cms
playground-cms-api
Package Information
- Continuous Integration with GitHub Actions
- GitHub Actions Workflow
https://github.com/gammamatrix/playground-cms-api/blob/develop/.github/workflows/ci.yml
- Packagist
https://packagist.org/packages/gammamatrix/playground-cms-api
- Source on GitHub
API Documentation
Documentation is generated from the gammamatrix/playground-cms-api/swagger.json.
Swagger Documentation Preview
- OpenAPI Documentation Configuration
- Swagger Editor UI
- Redocly
Configuration
You can publish the configuration file with:
php artisan vendor:publish --provider="Playground\Cms\Api\ServiceProvider" --tag="playground-config"
Environment Variables
Loading
PLAYGROUND_CMS_API_LOAD_POLICIESConfig:
playground-cms-api.load.policiesType:
boolDefault:
truePLAYGROUND_CMS_API_LOAD_ROUTESConfig:
playground-cms-api.load.routesType:
boolDefault:
truePLAYGROUND_CMS_API_LOAD_TRANSLATIONSConfig:
playground-cms-api.load.translationsType:
boolDefault:
true
Revision
PLAYGROUND_CMS_API_ROUTES_OPTIONALConfig:
playground-cms-api.revisions.optionalType:
boolDefault:
truePLAYGROUND_CMS_API_REVISIONS_PAGESConfig:
playground-cms-api.revisions.pagesType:
boolDefault:
truePLAYGROUND_CMS_API_REVISIONS_SNIPPETSConfig:
playground-cms-api.revisions.snippetsType:
boolDefault:
true
Routes
PLAYGROUND_CMS_API_ROUTES_CMSConfig:
playground-cms-api.routes.cmsType:
boolDefault:
truePLAYGROUND_CMS_API_ROUTES_SNIPPETSConfig:
playground-cms-api.routes.snippetsType:
boolDefault:
truePLAYGROUND_CMS_API_ROUTES_PAGESConfig:
playground-cms-api.routes.pagesType:
boolDefault:
true
Installation
NOTE: This package requires playground-cms.
composer require gammamatrix/playground-cms-api
playground-cms-resource
Provides an API and a Laravel Blade UI for the Playground Content Management System.
Package Information
- Continuous Integration with GitHub Actions
https://github.com/gammamatrix/playground-cms-resource/actions
- GitHub Actions Workflow
https://github.com/gammamatrix/playground-cms-resource/blob/develop/.github/workflows/ci.yml
- Packagist
https://packagist.org/packages/gammamatrix/playground-cms-resource
- Source on GitHub
API Documentation
Documentation is generated from the gammamatrix/playground-cms-resource/swagger.json provided in the repository.
Swagger Documentation Preview
- OpenAPI Documentation Configuration
- Swagger Editor UI
- Redocly
Configuration
You can publish the configuration file with:
php artisan vendor:publish --provider="Playground\Cms\Resource\ServiceProvider" --tag playground-config
Environment Variables
About
PLAYGROUND_CMS_RESOURCE_ABOUTConfig:
playground-cms-resource.aboutType:
boolDefault:
trueDescription: Displays information with the artisan about command.
Loading
PLAYGROUND_CMS_RESOURCE_LOAD_POLICIESConfig:
playground-cms-resource.load.policiesType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_LOAD_ROUTESConfig:
playground-cms-resource.load.routesType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_LOAD_TRANSLATIONSConfig:
playground-cms-resource.load.translationsType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_LOAD_VIEWSConfig:
playground-cms-resource.load.viewsType:
boolDefault:
true
Revision
PLAYGROUND_CMS_RESOURCE_ROUTES_OPTIONALConfig:
playground-cms-resource.revisions.optionalType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_REVISIONS_PAGESConfig:
playground-cms-resource.revisions.pagesType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_REVISIONS_SNIPPETSConfig:
playground-cms-resource.revisions.snippetsType:
boolDefault:
true
Routes
PLAYGROUND_CMS_RESOURCE_ROUTES_CMSConfig:
playground-cms-resource.routes.cmsType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_ROUTES_PAGESConfig:
playground-cms-resource.routes.pagesType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_ROUTES_SNIPPETSConfig:
playground-cms-resource.routes.snippetsType:
boolDefault:
true
Sitemap
PLAYGROUND_CMS_RESOURCE_SITEMAP_ENABLEConfig:
playground-cms-resource.sitemap.enableType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_SITEMAP_GUESTConfig:
playground-cms-resource.sitemap.guestType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_SITEMAP_USERConfig:
playground-cms-resource.sitemap.userType:
boolDefault:
truePLAYGROUND_CMS_RESOURCE_SITEMAP_VIEWConfig:
playground-cms-resource.sitemap.viewType:
stringDefault:
playground-cms-resource::sitemapDescription: This blade file will be included on the application sitemap.
UI
PLAYGROUND_CMS_RESOURCE_BLADEConfig:
playground-cms-resource.bladeType:
stringDefault:
playground-cms-resource::Description: Sets the view namespace for the package.
Installation
NOTE: This package requires playground-cms.
composer require gammamatrix/playground-cms-resource
site-playground-cms-angular
Note
This CSR Angular 16 application uses Angular Material and will eventually be generated by playground-make-angular.