Laravel-based CMS baked by Kaleidoscope Srl

Installs: N/A

Dependents: 0

Suggesters: 0

Security: 0

Stars: 9

Watchers: 5

Forks: 1

Open Issues: 0


5.0.27 2021-01-15 11:07 UTC


Factotum is a Laravel-based open source CMS, that follow a simple rule: We love KISSing the DRY PIE.

Laravel Setup

  1. Install a fresh Laravel application and configure your .env file with the database keys.
laravel new [project name]
  1. Set your web server document root to the public folder

Attention!! Be sure that the bootstrap/cache folder and the storage folder are writable by the web server

  1. Set the Laravel Application Key
php artisan key:generate

Factotum Setup

  1. Install factotum wia composer:
composer require kaleidoscope/factotum
  1. And add these services providers in config/app.php:
'providers' => [

Then register Facade class aliases:

'aliases' => [
    'Image'                       => Intervention\Image\Facades\Image::class,
    'PrintMenu'                   => Kaleidoscope\Factotum\Helpers\PrintMenuHelper::class,
    'PrintCategories'             => Kaleidoscope\Factotum\Helpers\PrintCategoriesHelper::class,
  1. Launch the install:
php artisan factotum:install


You can find the full documentation here: Factotum documentation .

Changing Version from Factotum 1.3 to Factotum 4

  1. Change the version in the composer.json from 1.3 to 4.0.0

  2. Run these commands:

composer update
php artisan vendor:publish --tag=passport-migrations
php artisan migrate
php artisan passport:install

  1. In vendor/kaleidoscope/factotum/FactotumServiceProvider.php comment out these lines:
// __DIR__ . '/public/assets'            => public_path('assets'),
// __DIR__ . '/resources/views/frontend' => resource_path( 'views/frontend' )

then run

php artisan vendor:publish --tag=factotum
  1. Rename "content_categories" table to "category_content".

  2. Remove "manage_categories" from the "roles" table

Content Migration from Factotum 1.3 to Factotum 4

  1. Make a backup copy of your current database

  2. Create a new database where the new Factotum will be migrated

  3. Configure the .env variables for the new database:

DB_HOST=[new database host]
DB_PORT=[new database port]
DB_DATABASE=[new database name]
DB_USERNAME=[new database username]
DB_PASSWORD=[new database password]
  1. Configure the .env variables for the previous database:
DB_HOST=[previous database host]
DB_PORT=[previous database port]
DB_DATABASE=[previous database name]
DB_USERNAME=[previous database username]
DB_PASSWORD=[previous database password]
  1. To migrate existing content types and content fields, run:
factotum:migrate-content-type-fields {slug of the Content Type}
  1. To migrate existing media run:
  1. To migrate existing contents, run:
factotum:migrate-content-type-fields {slug of the Content Type}


Thank you for considering contributing to Factotum!

Security Vulnerabilities

If you discover a security vulnerability within Factotum, please send an e-mail to Filippo Matteo Riggio at filippo@kaleidoscope.it. All security vulnerabilities will be promptly addressed.


The Factotum CMS is open-sourced software licensed under the MIT license.