Kitgenix/kitgenix-multistore-sync
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
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.