TryGhost / TryGhost/algolia

Add post/page identity synchronization to Netlify

Open
#226 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ready-for-agent
Dominant language
TypeScript
Stars
22
Forks
19
Avg merge
18h 31m
Merged PRs (30d)
50

Description

Parent

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-published and post-unpublished exports, 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-published and page-unpublished public 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, and page.deleted to 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

  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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.