kaleidoscope / factotum
Laravel-based CMS baked by Kaleidoscope Srl
Package info
github.com/KaleidoscopeSrl/factotum
Type:cms-project
pkg:composer/kaleidoscope/factotum
Requires
- php: ^7.3|^8.0
- ext-curl: *
- ext-json: *
- barryvdh/laravel-debugbar: ^3.1.5
- doctrine/dbal: ~2.3
- intervention/image: ^2.4.2
- laravel/framework: 8.*
- laravel/ui: ^2.1
- spatie/laravel-sitemap: ^5.7
- stripe/stripe-php: ^7.37
This package is auto-updated.
Last update: 2026-06-29 01:33:38 UTC
README
Factotum is a Laravel-based open source CMS, that follow a simple rule: We love KISSing the DRY PIE.
Laravel Setup
- Install a fresh Laravel application and configure your .env file with the database keys.
laravel new [project name]
- 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
- Set the Laravel Application Key
php artisan key:generate
Factotum Setup
- Install factotum wia composer:
composer require kaleidoscope/factotum
- And add these services providers in config/app.php:
'providers' => [ ... Intervention\Image\ImageServiceProvider::class, Barryvdh\Debugbar\ServiceProvider::class, Kaleidoscope\Factotum\FactotumServiceProvider::class, ... ]
Then register Facade class aliases:
'aliases' => [ ... 'Image' => Intervention\Image\Facades\Image::class, 'PrintMenu' => Kaleidoscope\Factotum\Helpers\PrintMenuHelper::class, 'PrintCategories' => Kaleidoscope\Factotum\Helpers\PrintCategoriesHelper::class, ... ]
- Launch the install:
php artisan factotum:install
ENJOY FACTOTUM
You can find the full documentation here: Factotum documentation .
Changing Version from Factotum 1.3 to Factotum 4
-
Change the version in the composer.json from 1.3 to 4.0.0
-
Run these commands:
composer update
php artisan vendor:publish --tag=passport-migrations
php artisan migrate
php artisan passport:install
- 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
-
Rename "content_categories" table to "category_content".
-
Remove "manage_categories" from the "roles" table
Content Migration from Factotum 1.3 to Factotum 4
-
Make a backup copy of your current database
-
Create a new database where the new Factotum will be migrated
-
Configure the .env variables for the new database:
DB_CONNECTION=mysql
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]
- Configure the .env variables for the previous database:
OLD_DB_CONNECTION=old_fm
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]
- To migrate existing content types and content fields, run:
factotum:migrate-content-type-fields {slug of the Content Type}
- To migrate existing media run:
factotum:migrate-media
- To migrate existing contents, run:
factotum:migrate-content-type-fields {slug of the Content Type}
Contributing
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.
License
The Factotum CMS is open-sourced software licensed under the MIT license.