Package Data | |
---|---|
Maintainer Username: | oburatongoi |
Maintainer Contact: | obura@tongoi.com (Obura Tongoi) |
Package Create Date: | 2017-01-07 |
Package Last Update: | 2018-06-15 |
Language: | Vue |
License: | MIT |
Last Refreshed: | 2024-11-21 03:00:34 |
Package Statistics | |
---|---|
Total Downloads: | 320 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 2 |
Compatible with Laravel 5. To install, run:
$ composer install oburatongoi/productivity
.
Next, add the service provider to the provider array in the app/config.app
file:
Oburatongoi\Productivity\Providers\ProductivityServiceProvider::class,
In your .env file, add the following variables:
SESSION_DOMAIN=.your-domain.com
Note the '.'
before the domain name.
PRODUCTIVITY_LOGO=logo-text
defaults to 'Productivity'
PRODUCTIVITY_DOMAIN=your-domain.com
PRODUCTIVITY_SUBDOMAIN=productivity
If using Scout with Algolia, set the following environment variables
FOLDER_INDEX_NAME=the-name-of-your-folder-index
defaults to prod_FOLDERS
CHECKLIST_INDEX_NAME=the-name-of-your-folder-index
defaults to prod_CHECKLISTS
Be sure to update your DNS 'A' or 'CNAME' settings to include the new name and add SSL encryption for your desired subdomain if you do not have wildcard subdomain encryption.
Next, publish the package's views, migrations and routes:
$ php artisan vendor:publish
You will need to force publish the productivity config. Note that this will add or overwrite the following files in the config folder: productivity.php, fakeid.php and javascript.php:
php artisan vendor:publish --tag=productivity --force
Next, add the Productive trait to your app's User model:
use Oburatongoi\Productivity\Traits\Productive;
class User extends Authenticatable
{
use Notifiable, Productive;
// ... User class methods
}
To properly address certain exceptions, add the following to your app\Exceptions\Handler.php
file:
use Illuminate\Session\TokenMismatchException as TokenMismatchException;
use AlgoliaSearch\AlgoliaException as AlgoliaException;
use Bugsnag;
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that should not be reported.
*
* @var array
*/
protected $dontReport = [
\Illuminate\Session\TokenMismatchException::class,
\AlgoliaSearch\AlgoliaException::class,
];
/**
* Report or log an exception.
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
*
* @param \Exception $exception
* @return void
*/
public function report(Exception $exception)
{
Bugsnag::notifyException($exception);
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $exception)
{
if ($exception instanceof TokenMismatchException) {
Bugsnag::notifyException($exception);
if ($request->expectsJson()) return response()->json([
'tokenMismatch' => true,
'input' => $request->except(['password']),
'url' => $request->fullUrl(),
'method' => $request->method(),
'token' => csrf_token()
]);
}
if ($exception instanceof AlgoliaException) {
Bugsnag::notifyException($exception);
if ($request->expectsJson()) return response()->json([
'algoliaException' => true,
'input' => $request->except(['password'])
]);
}
return parent::render($request, $exception);
}
Finally, run the migration to add productivity's folders to the database. Note that productivity's tables all have the productivity_ prefix, so make sure you don't have any naming conflicts in your database:
$ php artisan migrate
When adding Productivity to a fresh Laravel installation, consider doing the following: