Skip to content
This repository was archived by the owner on Jun 15, 2022. It is now read-only.

Commit 319d7e0

Browse files
authored
Merge pull request #40 from liquidweb/docs/cleanup-docs-for-1.0.0
Clean up documentation
2 parents 86bf7b2 + c83fb58 commit 319d7e0

File tree

5 files changed

+53
-15
lines changed

5 files changed

+53
-15
lines changed

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/.* export-ignore
2+
composer.* export-ignore
3+
CONTRIBUTING.md export-ignore
4+
phpcs.* export-ignore
5+
phpunit.* export-ignore
6+
tests export-ignore

.travis.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ matrix:
3434
allow_failures:
3535
- php: 7.2
3636
env: WP_VERSION=trunk WP_MULTISITE=1 WC_VERSION=latest
37-
- php: 7.1
38-
env: WP_VERSION=latest WP_MULTISITE=0 WC_VERSION=3.2.6
3937

4038

4139
before_script:

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
* Plugin test suite now extends the WooCommerce core test suite, ensuring WooCommerce behaves as expected when the plugin is active ([#26]).
11+
* The custom data store now extends the `WC_Order_Data_Store_CPT` class, eliminating a lot of code duplication in the process ([#28]).
12+
- Includes areas that were previously missing, including reporting.
13+
- Plugin should now have 100% compatibility with default WooCommerce functionality.
14+
* Removed the dependency on a Composer-generated autoloader ([#36]).
15+
* Revert database columns to use `VARCHAR` types for compatibility with WordPress post meta tables.
16+
* Add table indexes on the `order_key`, `customer_id`, and `order_total` columns in the orders table ([#15]).
17+
* Refactor the WP-CLI command, including some changes to accepted arguments ([#35])
18+
* Normalize the plugin name around "WooCommerce Custom Orders Table" ([#38])
19+
* Added changelog and contributing documents ([#12]).
20+
* Massive improvements to test coverage and general WooCommerce compatibility.
21+
822
## [Version 1.0.0 (Beta 2)] - 2017-12-22
923

1024
* Clean up codebase to adhere to the [WordPress coding standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/), and introduce an `.editorconfig` to make this kind of change less likely in the future ([#8])
@@ -24,3 +38,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2438
[#5]: https://github.com/liquidweb/woocommerce-order-tables/pull/5
2539
[#8]: https://github.com/liquidweb/woocommerce-order-tables/pull/8
2640
[#9]: https://github.com/liquidweb/woocommerce-order-tables/pull/9
41+
[#12]: https://github.com/liquidweb/woocommerce-order-tables/pull/12
42+
[#15]: https://github.com/liquidweb/woocommerce-order-tables/pull/15
43+
[#26]: https://github.com/liquidweb/woocommerce-order-tables/pull/26
44+
[#28]: https://github.com/liquidweb/woocommerce-order-tables/pull/28
45+
[#35]: https://github.com/liquidweb/woocommerce-order-tables/pull/35
46+
[#36]: https://github.com/liquidweb/woocommerce-order-tables/pull/36
47+
[#38]: https://github.com/liquidweb/woocommerce-order-tables/pull/38

CONTRIBUTING.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Contributing to WooCommerce Custom Orders Table
22

3-
Thank you for your interest in WooCommerce Custom Orders Table!
3+
Thank you for your interest in contributing to the WooCommerce Custom Orders Table plugin!
44

55

66
## Reporting bugs and/or suggesting new features
@@ -24,7 +24,13 @@ If you're interested in contributing to the plugin by way of code and/or documen
2424

2525
### Coding conventions
2626

27-
This project adheres to the [WordPress coding standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/), and [an `.editorconfig` file](http://editorconfig.org/) is included in the repository to help most <abbr title="Integrated Development Environment">IDE</abbr>s adjust accordingly.
27+
This project adheres to the [WordPress coding standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/), and [an `.editorconfig` file](http://editorconfig.org/) is included in the repository to help most <abbr title="Integrated Development Environment">IDE</abbr>s adjust accordingly. The repository also ships with [the WooCommerce git hooks](https://github.com/woocommerce/woocommerce-git-hooks) to aid in development.
28+
29+
As a general rule, we strive to maintain 100% compatibility with [the latest stable release of WooCommerce](https://github.com/woocommerce/woocommerce/releases/latest):
30+
31+
[![GitHub release](https://img.shields.io/github/release/woocommerce/woocommerce.svg)](https://github.com/woocommerce/woocommerce/releases/latest)
32+
33+
As part of this commitment to compatibility, WooCommerce Custom Orders Table also targets PHP 5.2 as a minimum PHP version for the core plugin files (with the exception of the `WooCommerce_Custom_Orders_Table_CLI` class, which uses the WP-CLI minimum of PHP 5.3). The `tests/` directory, however, is accepting of modern (7.x) PHP.
2834

2935

3036
### Branching strategy
@@ -44,7 +50,7 @@ Once master has been updated, the release should be tagged, then `master` should
4450

4551
### Unit testing
4652

47-
WooCommerce Custom Orders Table uses [the WordPress core testing suite](https://make.wordpress.org/core/handbook/testing/automated-testing/writing-phpunit-tests/) to provide automated tests for its functionality.
53+
WooCommerce Custom Orders Table extends WooCommerce's own test suite (which uses [the WordPress core testing suite](https://make.wordpress.org/core/handbook/testing/automated-testing/writing-phpunit-tests/)) to provide automated tests for its functionality.
4854

4955
When submitting pull requests, please include relevant tests for your new features and bug-fixes. This helps prevent regressions in future iterations of the plugin, and helps instill confidence in store owners using this to enhance their WooCommerce stores.
5056

README.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
11
# WooCommerce Custom Orders Table
22

3-
[![Build Status](https://travis-ci.org/liquidweb/woocommerce-order-tables.svg?branch=fix%2Ftravis-config)](https://travis-ci.org/liquidweb/woocommerce-order-tables)
3+
[![Build Status](https://travis-ci.org/liquidweb/woocommerce-custom-orders-table.svg?branch=develop)](https://travis-ci.org/liquidweb/woocommerce-custom-orders-table)
44

5-
Managed WooCommerce plugin for Liquid Web.
5+
This plugin improves WooCommerce performance by introducing a custom table to hold all of the most common order information in a single, properly-indexed location.
66

7-
## Background & Purpose
8-
WooCommerce even with CRUD classes in core, still uses a custom post type for orders. By moving orders to use a custom table in the site database, will improve store orders performance.
7+
## Background
98

10-
### Here's how
11-
WooCommerce saves more than 40 custom fields per order— including those from plugins— inside the wp_postmeta table. If your store gets ~40 per day, that's 1600 rows (40 * 40) added to the postmeta table in a day.
9+
[WooCommerce 3.0 introduced the notion of CRUD (Create, Read, Update, and Delete) interfaces](https://woocommerce.wordpress.com/2016/10/27/the-new-crud-classes-in-woocommerce-2-7/) in a move to unify the way WooCommerce data is stored and retrieved. However, orders are still stored as custom post types within WordPress, with each piece of order information (billing address, shipping address, taxes, totals, and more) being stored in post meta.
1210

13-
In one month that number can be 48,000 new rows (1600 * 30) added to your postmeta table. The more rows in a table the longer it will take for a query to execute. WooCommerce Custom Orders Table creates a new table for WooCommerce orders which would cut that number tremendously by making each custom field into a column so that 1 order = 1 row.
11+
In fact, WooCommerce will typically create over **40 separate post meta entries** for every single order. If your store receives even 10 orders a day, that means 400 new rows in the table every single day!
1412

15-
## Installation
16-
This plugin uses a Composer autoloader. If you are working with code from the `master` branch in a development environment, the autoloader needs to be generated in order for the plugin to work. After cloning this repository, run `composer install` in the root directory of the plugin.
13+
The larger the post meta table grows, the longer queries will take to execute, potentially slowing down queries (and thus page load times) for you and your visitors.
1714

18-
The packaged version of this plugin, which is available in [releases](https://github.com/liquidweb/WooCommerce-Order-Tables/releases), contains the autoloader. This means that end users should not need to worry about running the `composer install` command to get things working. Just grab the latest release and go, but be sure to backup your database first!
15+
WooCommerce Custom Orders Table uses the WooCommerce CRUD design to save order data into a single, flat table that's optimized for WooCommerce queries; one order means only one new row, with minimal performance impact.
16+
17+
## Requirements
18+
19+
WooCommerce Custom Orders Table requires [WooCommerce 3.2.6 or newer](https://wordpress.org/plugins/woocommerce/).
20+
21+
If you're looking to migrate existing order data, [you'll need to have the ability to run WP-CLI commands in your WooCommerce environment](http://wp-cli.org/).
1922

2023
## Migrating order data
2124

@@ -67,3 +70,7 @@ This command does the opposite of `migrate`, looping through the orders table an
6770
<dt>batch</dt>
6871
<dd>The batch number to start from when migrating data. Default is 1.</dd>
6972
</dl>
73+
74+
## Contributing
75+
76+
If you're interested in contributing to the development of the plugin or need to report an issue, please [see the contributing guidelines for the project](https://github.com/liquidweb/woocommerce-custom-orders-table/blob/develop/CONTRIBUTING.md).

0 commit comments

Comments
 (0)