Skip to content

Kitgenix/kitgenix-multistore-sync

Repository files navigation

=== Kitgenix MultiStore Sync ===
Contributors: kitgenix
Requires at least: 6.4
Tested up to: 6.9.1
Requires PHP: 7.4
Requires Plugins: woocommerce
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Secure WooCommerce multistore synchronization with a fresh architecture, signed inter-store requests, queue processing, pricing rules, connected site management, and built-in exports.

== Description ==

Kitgenix MultiStore Sync is a fresh WooCommerce multistore plugin designed to replace older master-child sync stacks with a cleaner and more secure foundation.

This first delivery includes:

* A new plugin architecture with modular services instead of entity-specific monolith classes.
* HMAC-signed REST communication between connected stores.
* A site registry with inbound, outbound, or bidirectional connections.
* Product synchronization with images, categories, tags, attributes, downloads, variations, stock, and whitelisted meta.
* Coupon synchronization.
* Order import and refund import endpoints.
* Missing-product cloning during order import, using product snapshots included in the order payload.
* Bulk sync batching that stores product batches and feeds them into the queue in chunks.
* Network-style reporting for imported orders, failed jobs, and batch activity.
* Queue processing with retries and log storage.
* Per-site and per-product pricing rules including percentage markup, fixed markup, fixed price, and rounding.
* Admin pages for settings, connected sites, queue operations, and CSV exports.
* Product-level site targeting from the WooCommerce product editor.

Compared with older multistore plugins, this version improves security and maintainability by:

* Replacing unsigned AJAX-based sync calls with signed REST requests.
* Centralizing settings, site data, queue jobs, and logs.
* Adding retry-aware background processing instead of transient-only workflows.
* Enforcing capability checks and nonce validation for admin actions.
* Keeping transport, admin, persistence, and sync logic separate.

== Installation ==

1. Install and activate WooCommerce.
2. Install this plugin on every store that will participate in sync.
3. Activate the plugin.
4. Open MultiStore Sync > Settings on each store and copy the local Site UUID and Shared Secret.
5. Open MultiStore Sync > Connected Sites on the master store and add the remote stores.
6. Choose connection direction, capabilities, sync settings, and pricing strategy per store.
7. Edit a product and choose the connected stores that should receive it.

== Security Model ==

Each site connection stores:

* The remote site URL
* The remote site UUID
* A shared secret used to sign requests
* Direction rules that control inbound and outbound traffic

Every sync request includes:

* Site UUID header
* Timestamp header
* HMAC signature header

Requests outside the configured TTL window or with invalid signatures are rejected.

== Current Scope ==

The new plugin already covers the core sync foundation, bulk sync batching, missing-product cloning during order import, and reporting screens. Remaining parity work is now concentrated in deeper compatibility layers such as WPML-specific translation handling, more advanced analytics views, and broader import/export edge cases.

== Changelog ==

= 0.2.0 =
* Added bulk sync batching with stored product batches and chunked queue feeding.
* Added missing-product cloning during order import using embedded product snapshots.
* Added reports for imported orders, failed jobs, and batch activity.
* Added automatic schema upgrades for new database tables.

= 0.1.0 =
* Initial fresh implementation of Kitgenix MultiStore Sync.
* Added secure site registry, signed REST sync, queue processing, admin UI, pricing rules, product sync, coupon sync, order import, refund import, and exports.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors