WordPress / WordPress/wordpress-playground

Sync Protocol

Open
#797 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

[Feature] Transfer/ Sync Procotol [Type] Enhancement [Type] Mindmap Node [Type] Project
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

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.