Add post/page identity synchronization to Netlify
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 22
- Forks
- 19
- Avg merge
- 18h 31m
- Merged PRs (30d)
- 50
Description
Parent
- PRD #213 — Deliver the maintained HTML-to-Algolia extraction pipeline
- User stories covered: 37–40, 43, 48–52
What to build
Complete incremental post/page synchronization after the CLI identity migration release exists. Move existing post replacement/deletion to Ghost content identity, add parallel page handlers, document the exact Ghost event wiring, preserve current public post contracts, and publish the Netlify release that delivers page indexing end to end.
Acceptance criteria
- Existing
post-publishedandpost-unpublishedexports, basenames, envelopes, activation/authentication behavior, and valid posts-only outcomes remain compatible. - Post replacement and deletion operate by stable Ghost content ID rather than slug.
- New
page-publishedandpage-unpublishedpublic handlers mirror the post handler contract with type-specific page envelopes. - Documentation maps
post.published,post.published.edited,post.unpublished,post.deleted,page.published,page.published.edited,page.unpublished, andpage.deletedto the four exact handler basenames; generic edited events are not registered. - Publish/edit handlers use the complete type-specific current resource directly, validate/transform/size-check/preflight before mutation, and replace all records for the content ID without a Content API re-fetch.
- Unpublish/delete handlers delete every record for the content ID from current, falling back to previous when required.
- No handler reads or writes Algolia settings.
- Native handler acceptance covers all four public basenames, post compatibility, page envelopes, current/previous fallback, same-slug independence, shrinking replacement, deletion, malformed bodies, external failures, and no re-fetch/settings calls.
- The Netlify minor is released only after the CLI migration release exists; deployment documentation requires a successful complete migration before writes resume.
- Release notes list four handlers, eight events, required migration/settings, deployment order, compatible package floors, verification, and index/package rollback.
- Issue #4 is closed only after npm and packed/native handler verification prove posts-only compatibility plus page synchronization, with exact delivered versions recorded.
Blocked by
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
Begin with blocked issue #225 and the existing Netlify function entry points for the post handlers; the payload names no files or test paths. Review the handler contracts, event wiring, migration and release requirements before starting. Done means all four handlers, documentation, native acceptance coverage, and the ordered Netlify release satisfy the listed compatibility and synchronization criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend, documentation, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100