-
-
Notifications
You must be signed in to change notification settings - Fork 373
Upgrading
Please refer to the Changelog doc as well..
ESDK is now moved to AppBridge. You'll need to update config/shopify-app.php
.
Change
/*
|--------------------------------------------------------------------------
| ESDK Mode
|--------------------------------------------------------------------------
|
| ESDK (embedded apps) are enabled by default. Set to false to use legacy
| mode and host the app inside your own container.
|
*/
'esdk_enabled' => (bool) env('SHOPIFY_ESDK_ENABLED', true),
To:
/*
|--------------------------------------------------------------------------
| AppBridge Mode
|--------------------------------------------------------------------------
|
| AppBridge (embedded apps) are enabled by default. Set to false to use legacy
| mode and host the app inside your own container.
|
*/
'appbridge_enabled' => (bool) env('SHOPIFY_APPBRIDGE_ENABLED', true),
As well, you'll need to migrate your internal views to use AppBridge. The default layout provided by this package (views/layouts/default.blade.php) pulls AppBridge in via CDN; however, you're welcome to override this and use Shopify's NPM package.
Two new config values are required in config/shopify-app.php
:
/*
|--------------------------------------------------------------------------
| Shopify API Version
|--------------------------------------------------------------------------
|
| This option is for the app's API version string.
| Use "YYYY-MM" or "unstable". Refer to Shopify's documentation
| on API versioning for the current stable version.
|
*/
'api_version' => env('SHOPIFY_API_VERSION', null),
/*
|--------------------------------------------------------------------------
| Shopify API Grant Mode
|--------------------------------------------------------------------------
|
| This option is for the grant mode when authenticating.
| Default is "offline", "per-user" is available as well.
| Note: Install will always be in offline mode.
|
*/
'api_grant_mode' => env('SHOPIFY_API_GRANT_MODE', 'offline'),
Follow optional guide for 5.2.x => 5.3.0
if applicable.
This release introduces a new major version bump to the underlying Shopify API library, Basic-Shopify-API. This package was bumped as well in case some of you are are handling errors with API calls through try/catch. The difference is, the underlying package now internally catches 4XX-500 errors for you and provides the error and messaging in the response object, so your catch block will not fire for these issues.
For issue #177, this adds the ability to specify a queue name each job should go to (webhooks, scripttags, and after_authenticate).
By default, you do not need to do anything to upgrade, Laravel will fallback to the default queue if no name is given.
However, if you wish to specify, you can re-publish the config for this package or manually modify your config/shopify-app.php
to add the following:
'job_queues' => [
'webhooks' => env('WEBHOOKS_JOB_QUEUE', null),
'scripttags' => env('SCRIPTTAGS_JOB_QUEUE', null),
'after_authenticate' => env('AFTER_AUTHENTICATE_JOB_QUEUE', null),
],
If you have not extended the package in anyway, you should be fine. Else, please see Changelog, upgrade your code and test to ensure it works. This is a major version release.
Three new entries for config/shopify-app.php
, you can use artisan to vendor:publish the config or add the new entries:
'api_rate_limiting_enabled' => env('SHOPIFY_API_RATE_LIMITING_ENABLED', false),
'api_rate_limit_cycle' => env('SHOPIFY_API_RATE_LIMIT_CYCLE', null),
'api_rate_limit_cycle_buffer' => env('SHOPIFY_API_RATE_LIMIT_CYCLE_BUFFER', null),
Breaking changes. Can not guarentee full workability.
- Run the migrations, which will:
- Add
plan_id
toshops
table - Add
freemium
toshops
table - Add
plan_id
tocharges
table - Create a
plans
table
- Add
php artisan vendor:publish --tag=migrations
and php artisan migrate
-
Remove all billing environment values from your env file or
config/shopify-app.php
execept for:billing_enabled
billing_redirect
-
Add to
config/shopify-app.php
:-
billing_freemium_enabled
withtrue
orfalse
-
-
Create a plan or migrate the existing one in your old config, to the database, with
on_install
set totrue
, see [wiki entry|Creating-a-Billable-App#creating-plans] for exact information -
Set all shops'
plan_id
in the database to the ID of the plan created in step 4
- Run the migrations to change the
shops
table and addnamespace
column:
php artisan vendor:publish --tag=migrations
and php artisan migrate
-
Remove the facade entry for this package in
config/app.php
under the facades array (now handled by auto-discovery). -
Remove the provider entry for this package in
config/app.php
under the providers array (now handled by auto-discovery). -
Run the migrations to change the
charges
table'scharge_id
column fromint
tobigint
via:
php artisan vendor:publish --tag=migrations
and php artisan migrate
Breaking changes.
- Run migrations which will remove
charge_id
from the Shop table and create acharges
table:
php artisan vendor:publish --tag=migrations
and php artisan migrate
- Review the installation guide of the wiki (theres a new section on enabling an optional app/uninstalled webhook job).
That's it. There's currently no script to convert the old charge_id
into the charges table for the shops. You can view our wiki on creating a charge under the billing section and manually write a migration script in the meantime.
No internal code upgrades are required.
Simply upgrade the version in your composer file.
To enable billing feature on existing installs of this package:
Open app/Http/Kernel.php
find routeMiddleware
array. Add a new line with:
'billable' => \OhMyBrew\ShopifyApp\Middleware\Billable::class,
Just under auth.shop
, auth.proxy
, auth.webhook
, etc.
road map
Welcome to the wiki!
Please see the homepage for a list of relevant pages.