Skip to content

Import WordPress stories into the Story Share portal #2145

Description

@maebeale

Context

The Story Share portal (/story_shares) is now fully functional but has little real content — dev seeds provide a handful of demo stories. The live WordPress site (stories.awbw.org) holds ~339 published stories across the sector taxonomy (Domestic Violence 80, Self-Care & Personal Growth 94, Mental Health 68, Schools & Universities 52, Facilitator Spotlights 41, …).

A WordPress CSV story importer already exists but is not on main — it lives on branch origin/maebeale/csv-story-importer (app/services/story_importer.rb + lib/tasks/import_stories.rake + an admin import-preview UI, commits 2cdcefe44, ccb37e0ab).

What's needed

  • Merge/rebase the importer branch onto current main and reconcile with the portal-parity changes (sector taxonomy, story_share_position, asset pipeline, publicly_visible/publicly_featured flags).
  • Map WP user-categories → canonical 2026 Sector names (mapping already exists in lib/tasks/migrate_sectors.rake L152-181; e.g. "Social Justice" → "Racial/Social Justice", "Self-Care & Personal Growth" → "Self-Care/Personal Growth").
  • Map WP audience tags → StoryPopulation categories (1:1: Children/Teens/Adults/Families/Community/Self/Colleagues).
  • Import artwork/featured images into the Asset pipeline (PrimaryAsset/GalleryAsset).
  • Decide visibility defaults on import (published + publicly_visible?) and handle known data gaps the importer logs (original publish date, free-text state, permalink).
  • Do NOT import facilitator_email publicly (WP leaks it via its REST API).

Verification

After import, the portal home/sector rows/search should be populated with real stories; spot-check sector counts against the WP figures above.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions