rubyforgood / rubyforgood/awbw
Import WordPress stories into the Story Share portal
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 15
- Forks
- 26
- Avg merge
- 12h 42m
- Merged PRs (30d)
- 242
Description
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
mainand reconcile with the portal-parity changes (sector taxonomy,story_share_position, asset pipeline,publicly_visible/publicly_featuredflags). - Map WP
user-categories→ canonical 2026Sectornames (mapping already exists inlib/tasks/migrate_sectors.rakeL152-181; e.g. "Social Justice" → "Racial/Social Justice", "Self-Care & Personal Growth" → "Self-Care/Personal Growth"). - Map WP audience tags →
StoryPopulationcategories (1:1: Children/Teens/Adults/Families/Community/Self/Colleagues). - Import artwork/featured images into the
Assetpipeline (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_emailpublicly (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.
Contributor guide
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 by comparing origin/maebeale/csv-story-importer with current main, especially app/services/story_importer.rb, lib/tasks/import_stories.rake, and the admin import-preview UI. Read the sector mapping in lib/tasks/migrate_sectors.rake L152-181 and reconcile the importer with portal-parity changes and the Asset pipeline. Done means the stories import without exposing facilitator_email, portal home/sector/search pages are populated, and sector counts are spot-checked against the WordPress figures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby, wordpress
- Domain
- backend, content
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100