evgenmil / versioning

Extensions for Yii2 for data versioning and CRUD watching

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Versioning and CRUD Watching

Extensions for Yii2 for data versioning and CRUD watching. You can manage data version history that edited by user and manage user/group access at record level.

Installation

The preferred way to install this extension is through composer.

Since this package do not have stable release on packagist, you should use these settings in your composer.json file :

"minimum-stability": "dev",
"prefer-stable": true,

After, either run

php composer.phar require --prefer-dist amilna/yii2-versioning "dev-master"

or add

"amilna/yii2-versioning": "dev-master"

to the require section of your composer.json file.

run migration for database

./yii migrate --migrationPath=@amilna/versioning/migrations

add in bootstrap section of main config

	'bootstrap' => [
		...
		'amilna\versioning\components\Versioning',
		...
    	],   

add in modules section of main config

	'gridview' =>  [
		'class' => 'kartik\grid\Module',
	],
	'versioning' => [
		'class' => 'amilna\versioning\Module',
		'userClass' =>  'dektrium\user\models\User',//'common\models\User',            
		'defaults' => ["create"=>"create","view"=>"view"],
		//'onroutes' => ['yes/product','blog/post/update'], /* example to apply versioning on certain routes only */
		//'onmodels' => ['amilna\blog\models\BlogCatPos'], /* example to apply versioning on certain models only */
	]

Usage

Once the extension is installed, check the url: [your application base url]/index.php/versioning

Try it with edit some active record model an see the version that automatically created.

To use notification widget (it will inform you what has changed), just put in your view

	<?php
		echo amilna\versioning\widgets\Notification::widget();              
	?>

About

Extensions for Yii2 for data versioning and CRUD watching

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:PHP 100.0%