From ff649553ccdcdd06b85f4d5a2ddb01a6b7adf441 Mon Sep 17 00:00:00 2001 From: Almira Krdzic Date: Mon, 30 Jul 2018 09:08:28 +0200 Subject: [PATCH] Readme changes --- README.md | 76 +++++++++++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index bd70d6a..570c12a 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ Wiaas implementation based on wordpress [woocommerce](https://woocommerce.com/) - Project structure - `Project structure is inspired with [Roots Bedrock structure](https://roots.io/bedrock/). + Project structure is inspired with [Roots Bedrock structure](https://roots.io/bedrock/). ├── composer.json # → Manage versions of WordPress, plugins & dependencies @@ -116,50 +116,50 @@ Wiaas implementation based on wordpress [woocommerce](https://woocommerce.com/) └── wp # → WordPress core (never edit) - This approach enables: - - Better folder structure (wordpress core is in separate folder and is treated as dependency) - - Dependency management with Composer (wordpress core and plugins) - - Easy WordPress configuration with environment specific files - - Environment variables with [Dotenv](https://github.com/vlucas/phpdotenv) - - Enhanced security (all sensitive information is accessed with environment variables) - - Secure passwords with [wp-password-bcrypt](https://github.com/roots/wp-password-bcrypt) - - Composer as task runner for automatic wordpress db updates +This approach enables: +- Better folder structure (wordpress core is in separate folder and is treated as dependency) +- Dependency management with Composer (wordpress core and plugins) +- Easy WordPress configuration with environment specific files +- Environment variables with [Dotenv](https://github.com/vlucas/phpdotenv) +- Enhanced security (all sensitive information is accessed with environment variables) +- Secure passwords with [wp-password-bcrypt](https://github.com/roots/wp-password-bcrypt) +- Composer as task runner for automatic wordpress db updates - Dependencies management - Wordpress core (`"johnpbloch/wordpress"`) and wordpress plugins code are managed with `composer.json` file. - - But using combination of [Composer scripts](https://getcomposer.org/doc/articles/scripts.md) and [WP CLI commands](https://developer.wordpress.org/cli/commands/) - we can automate database updates as well (mainly plugin activation and db updates after plugin version change); - - For adding new plugin from wordpress official repo add `"wpackagist-plugin/{plugin_name}": "{plugin_version}"` to `composer.json`. - Then add package to `"activate-plugins"` composer script in `composer.json` file in order in which you wish them to be activated. - If plugin exposes wp cli command for database updates add it to `"update-db"` composer script in `composer.json` file - (ex: woocommerce plugin exposes `wp wc update` which will apply pending database plugins for woocommerce). - - For updating wordpress core or plugins, update version for package - wordpress core database changes will be applied with `wp core update-db` cli command ). - - After any of these actions run: +Wordpress core (`"johnpbloch/wordpress"`) and wordpress plugins code are managed with `composer.json` file. + +But using combination of [Composer scripts](https://getcomposer.org/doc/articles/scripts.md) and [WP CLI commands](https://developer.wordpress.org/cli/commands/) +we can automate database updates as well (mainly plugin activation and db updates after plugin version change); + +For adding new plugin from wordpress official repo add `"wpackagist-plugin/{plugin_name}": "{plugin_version}"` to `composer.json`. +Then add package to `"activate-plugins"` composer script in `composer.json` file in order in which you wish them to be activated. +If plugin exposes wp cli command for database updates add it to `"update-db"` composer script in `composer.json` file +(ex: woocommerce plugin exposes `wp wc update` which will apply pending database plugins for woocommerce). + +For updating wordpress core or plugins, update version for package +wordpress core database changes will be applied with `wp core update-db` cli command ). + +After any of these actions run: - composer update # → Will download latest code - composer update-db # → Activate plugins and calls all exposed wp cli commands for db updates + composer update # → Will download latest code + composer update-db # → Activate plugins and calls all exposed wp cli commands for db updates - For removing plugin that has no db changes just remove it from composer.json and execute `composer update` which will remove its code; - If plugin has database changes that we wish to be removed that is oneoff migration that can be done from - admin panel or using `wp plugin deactivate {plugin_name} && composer remove wpackagist-plugin/{plugin_name}` script. - - WP CLI is very powerful tool for writing automation scripts without need to track and copy mysql dumps. +For removing plugin that has no db changes just remove it from composer.json and execute `composer update` which will remove its code; +If plugin has database changes that we wish to be removed that is oneoff migration that can be done from +admin panel or using `wp plugin deactivate {plugin_name} && composer remove wpackagist-plugin/{plugin_name}` script. + +WP CLI is very powerful tool for writing automation scripts without need to track and copy mysql dumps. - Wiaas plugin - Our code is placed inside `backend/app/plugins/wiaas` folder. - This folder will be managed by git and commited to repository (check `backend/.gitignore`). - - Wiaas exposes `wp wiaas update-db` command to WP CLI which will execute pending db updates for wiaas. +Our code is placed inside `backend/app/plugins/wiaas` folder. +This folder will be managed by git and commited to repository (check `backend/.gitignore`). - If your feature requires some database updates that can be easiliy executed from wordpress code, then - place this update to `wiaas/includes/db-updates/wiaas-db-update-functions.php` as a function named `wiaas_db_update_{name}`. - Then add this function to `wiaas/includes/class-wiaas-db-update.php` with its timestamp. - This way after `composer update-db` is executed your database update will be applied. +Wiaas exposes `wp wiaas update-db` command to WP CLI which will execute pending db updates for wiaas. + +If your feature requires some database updates that can be easiliy executed from wordpress code, then +place this update to `wiaas/includes/db-updates/wiaas-db-update-functions.php` as a function named `wiaas_db_update_{name}`. +Then add this function to `wiaas/includes/class-wiaas-db-update.php` with its timestamp. +This way after `composer update-db` is executed your database update will be applied. \ No newline at end of file