WordPress / WordPress/wordpress-playground
Sync Protocol
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2k
- Forks
- 462
- Avg merge
- 18h 44m
- Merged PRs (30d)
- 33
Description
Let's use this core trac issue for discussion:
https://core.trac.wordpress.org/ticket/60375
Let's formalize a protocol for two Playgrounds (and, later on, WordPresses) to exchange updates with each other.
Technically, this would involve:
- Using disjoint numerical space for autoincrement IDs to avoid conflicts
- A network transport
- A local transport (for apps using "Headless Playground" as a storage backend)
- Bits from the Transfer Protocol:
- Replacing host-specific data like site URLs with placeholders
- Providing “export” and “import” extension points for plugins
- Restoring the site URL and other host specific data from placeholders
- Communicate any issues like missing PHP extensions, mismatched PHP version etc
- A hosting connector to publish the changes
- ...more, for sure
Related issues
- https://github.com/WordPress/wordpress-playground/issues/1544
- https://github.com/WordPress/wordpress-playground/issues/1028
- https://github.com/WordPress/wordpress-playground/issues/1563
- https://github.com/WordPress/wordpress-playground/issues/482
- https://github.com/WordPress/wordpress-playground/issues/771
- https://github.com/WordPress/wordpress-playground/pull/727
Open questions
- How to reconcile two plugins writing serialized data to the same database record?
Related reading
cc @dmsnell
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked core Trac ticket 60375 and the related issues and pull request listed in this issue, then review the Transfer Protocol work they reference. The issue has no named file, test, or implementation entry point; done would require an agreed protocol design covering transports, identifiers, host-specific data, plugin extensions, compatibility errors, and conflict handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, wasm
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100