Skip to content

Explore: distribution and onboarding for self-hosters #155

Description

@apermo

Context

Body Refactoring targets technical users who self-host. The WordPress plugin model gives us a well-known distribution and update path, but onboarding still needs thought.

Distribution Options

WordPress.org Plugin Directory

  • Widest reach, automatic updates, trusted source
  • Review process, guidelines to follow (GPL, no phone-home, etc.)
  • Plugin must work standalone (ActivityPub/Friends as optional enhancers)

GitHub Releases Only

  • Full control, no review process
  • Users install via ZIP upload or Git-based plugin managers
  • Automatic updates possible via GitHub Updater or similar

Both

  • wp.org for discoverability, GitHub for development/bleeding edge

Onboarding Flow

  1. Install & activate plugin
  2. Plugin creates the app page automatically
  3. First visit: schedule upload (or pick from bundled examples)
  4. Optional: enable ActivityPub publishing in settings
  5. Optional: install Friends plugin for social feed

Plugin Settings Page

  • General: App page selection, language
  • Sharing: Which post types to publish (workouts, achievements, PRs)
  • Privacy: Default visibility (private/public), data granularity
  • Schedule: Upload/manage schedules (replaces current schedule editor)

Technical Considerations

  • Minimum PHP version (8.1+ to match current codebase?)
  • WordPress minimum version (6.5+ for script modules?)
  • Must work without ActivityPub/Friends (standalone mode)
  • Graceful feature detection: enhance when social plugins are active
  • Uninstall cleanup: remove tables, options, posts on plugin deletion

Questions

  • Should the plugin bundle example schedules for new users?
  • WordPress multisite support needed?
  • How to handle updates that require database migrations?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions