118 lines
3.5 KiB
Markdown

User Activity Log plugin for [Vanguard - Advanced PHP Login and User Management](https://vanguardapp.io)
system.
This plugin was originally part of the Vanguard itself, but it has been extracted as a separate plugin starting from Vanguard 4.
## Installation
This plugin requires Vanguard `5.0.0` or greater.
### Installation via Composer
To install the plugin first you will need to pull it via composer
by running the following command
```
composer require vanguardapp/activity-log
```
The composer will install the plugin for you as well as it's dependencies.
The next step is to register the plugin by adding the
`\Vanguard\UserActivity\UserActivity::class`
to the list of Vanguard plugins inside the `VanguardServiceProvider`:
```php
protected function plugins()
{
return [
//...
\Vanguard\UserActivity\UserActivity::class,
];
}
```
As soon as your plugin is registered, you should publish the
plugins migrations by running the following command:
```
php artisan vendor:publish --provider="Vanguard\UserActivity\UserActivity" --tag="migrations"
```
And, as the last step of the installation, you will need to
run the following commands to make all the necessary database modifications:
```
php artisan migrate
php artisan db:seed --class="ActivityPermissionsSeeder"
```
At this point the plugin will be fully installed and ready to go.
It is configured to listen for most of the events that are coming from
Vanguard and to put the into the activity log.
### Manual Installation
If you plan to make the modifications to the plugin and customize it to
fit your needs, it's much easier if you add it to your project manually.
To do so, you will need to download the ZIP archive from GitHub
by clicking the green "Clone or download" button and then choosing
the "Download ZIP" option from the dropdown.
Once you have the ZIP file on your computer, extract it to the
`plugins/ActivityLog` folder (you will need to create this folder
since it probably won't be present in your Vanguard installation).
Next step is to update your main `composer.json` file located in
Vanguard's root directory and add the following object to the `repositories`
array:
```
{
"type": "path",
"url": "./plugins/ActivityLog"
}
```
This will tell the composer that your plugin is located in `/plugins/ActivityLog`
directory and that it should be installed from there.
Now, add the following to the composer's `require` section
```
"vanguardapp/activity-log": "*"
```
And run `composer update`.
Composer will now install the plugin from your local directory instead
of pulling it from GitHub, which means that you will be able to make
the changes to the plugin itself and customize it to fit your needs.
The rest of the process is the same as when the plugin is installed
by directly fetching it via composer from the GitHub repository, so you
will need to do all the same steps as above, which in short involves
updating the `VanguardServiceProvider` and running the commands to
publish plugin's static assets and to update the database.
## Dashboard Widgets
A plugin provides user activity dashboard widget that is visible for all users with a role `User`.
To activate the widget add the `Vanguard\UserActivity\Widgets\ActivityWidget::class` to the widgets array in `VanguardServiceProvider`:
```php
protected function widgets()
{
return [
//...
\Vanguard\UserActivity\Widgets\ActivityWidget::class,
];
}
```
## License
This plugin is an open-source software licensed under the [MIT license](https://opensource.org/licenses/MIT).