Factotum 4
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,
'PrintField' => Kaleidoscope\Factotum\Helpers\PrintFieldHelper::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.