-
-
Notifications
You must be signed in to change notification settings - Fork 375
Upgrading
Please refer to the Changelog doc as well..
No internal changes are required.
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. Toast messages are also migrated.
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_idtoshopstable - Add
freemiumtoshopstable - Add
plan_idtochargestable - Create a
planstable
- Add
php artisan vendor:publish --tag=migrations and php artisan migrate
-
Remove all billing environment values from your env file or
config/shopify-app.phpexecept for:billing_enabledbilling_redirect
-
Add to
config/shopify-app.php:-
billing_freemium_enabledwithtrueorfalse
-
-
Create a plan or migrate the existing one in your old config, to the database, with
on_installset totrue, see [wiki entry|Creating-a-Billable-App#creating-plans] for exact information -
Set all shops'
plan_idin the database to the ID of the plan created in step 4
- Run the migrations to change the
shopstable and addnamespacecolumn:
php artisan vendor:publish --tag=migrations and php artisan migrate
-
Remove the facade entry for this package in
config/app.phpunder the facades array (now handled by auto-discovery). -
Remove the provider entry for this package in
config/app.phpunder the providers array (now handled by auto-discovery). -
Run the migrations to change the
chargestable'scharge_idcolumn frominttobigintvia:
php artisan vendor:publish --tag=migrations and php artisan migrate
Breaking changes.
- Run migrations which will remove
charge_idfrom the Shop table and create achargestable:
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.