Download the PHP package aimeos/pagible without Composer
On this page you can find all versions of the php package aimeos/pagible. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aimeos/pagible
More information about aimeos/pagible
Files in aimeos/pagible
Package pagible
Short Description Pagible CMS
License MIT
Homepage https://laravel-cms.org
Informations about the package pagible
Laravel CMS - Powerful as Contentful, simple as Wordpress!
The easy, flexible and scalable API-first Laravel CMS package:
- Manage structured content like in Contentful
- Define new content elements in seconds
- Assign shared content to multiple pages
- Save, publish and revert drafts
- Extremly fast JSON frontend API
- Versatile GraphQL admin API
- Multi-language support
- Multi-domain routing
- Multi-tenancy capable
- Supports soft-deletes
- Fully Open Source
- Scales from single page with SQLite to millions of pages with DB clusters
It can be installed into any existing Laravel application.
Table of contents
- Installation
- Authorization
- Clean up
- Multi-domain
- Multi-tenancy
- Custom authorization
Installation
You need a working Laravel installation. If you don't have one, you can create it using:
The application will be available in the ./pagible
sub-directory.
Then, run this command within your Laravel application directory:
Now, adapt the .env
file of your application and change the APP_URL
setting to your domain. If you are using php artisan serve
for testing, add the port of the internal web server (APP_URL=http://localhost:8000
). Otherwise, the uploading files will fail because they wouldn't be loaded!
Add a line in the "post-update-cmd" section of your composer.json
file to update the admin backend files after each update:
Authorization
To allow existing users to edit CMS content or to create a new users if they don't exist yet, you can use the cms:user
command (replace the e-mail address by the users one):
To disallow users to edit CMS content, use:
The CMS admin backend is available at (replace "mydomain.tld" with your own one):
Publishing
For scheduled publishing, you need to add this line to the routes/console.php
class:
Clean up
To clean up soft-deleted pages, elements and files regularly, add these lines to the routes/console.php
class:
You can configure the timeframe after soft-deleted items will be removed permantently by setting the CMS_PURGE option in your .env
file. It's value must be the number of days after the items will be removed permanently or FALSE if the soft-deleted items shouldn't be removed at all.
Multi-domain
Using multiple page trees with different domains is possible by adding CMS_MULTIDOMAIN=true
to your .env
file.
Multi-tenancy
Laravel CMS supports single database multi-tenancy using existing Laravel tenancy packages or code implemented by your own.
The Tenancy for Laravel package is most often used. How to set up the package is described in the tenancy quickstart and take a look into the single database tenancy article too.
Afterwards, tell Laravel CMS how the ID of the current tenant can be retrieved. Add this code to the boot()
method of your \App\Providers\AppServiceProvider
in the ./app/Providers/AppServiceProvider.php
file:
Custom authorization
If you want to integrate Laravel CMS into another application, you may want to grant access based ony your own authorization scheme. You can replace the Laravel CMS permission handling by adding your own function. Add this code to the boot()
method of your \App\Providers\AppServiceProvider
in the ./app/Providers/AppServiceProvider.php
file:
The first parameter is the action access is requested for, e.g. "page:view" while the second parameter is the user object if authenticated. By default, permissions of CMS users are checked against the authorization bitmap from the cmseditor
column of their user object from the Laravel users
table. The function must return TRUE to grant access or FALSE if access is denied.
Available actions which access can be granted to are:
- page:view (show page tree)
- page:save (update existing pages)
- page:add (add new pages)
- page:drop (soft-delete pages)
- page:keep (restore soft-deleted pages)
- page:purge (delete pages permanently)
- page:publish (publish page meta data)
- page:move (move pages in the tree)
- element:view (show elements)
- element:save (update existing elements)
- element:add (add new elements)
- element:drop (soft-delete elements)
- element:keep (restore soft-deleted elements)
- element:purge (delete elements permanently)
- element:publish (publish elements)
- file:view (show uploaded files)
- file:save (update existing files)
- file:add (add new files)
- file:drop (soft-delete files)
- file:keep (restore soft-deleted files)
- file:purge (delete files permanently)
- file:publish (publish files)
All versions of pagible with dependencies
laravel-json-api/laravel Version ^5.1
mll-lab/graphql-php-scalars Version ^6.4
nuwave/lighthouse Version ^6.54
ezyang/htmlpurifier Version ^4.18
intervention/image Version ^3.11
kalnoy/nestedset Version ^6.0
league/commonmark Version ^2.6
league/csv Version ^9.23
symfony/uid Version ^7.0
prism-php/prism Version ^0.78