Page MenuHomePhabricator

Implement search endpoint
Closed, InvalidPublic

Description

Acceptance Criteria:

  • Define route for /search/page?q={search term}
  • Define route handler for page search
  • Request:
    • Must support HTTP GET
    • Must support q parameter
      • If no q parameter provided, error
    • Request body must be empty
    • Request headers:
      • Must support If-Modified-Since: only if the result set has changed since this date
      • Must support If-None-Match: only if the result set's etag is different from this
  • Response
    • Response must return JSON
    • Responses JSON must have structure:
{
  "pages": [
  {
"id": 12345,
"title_key": "Talk:Main_Page",
"display_title": "Talk:Main Page",
"excerpt": "The <b>News</b> is the place to find important news..."
  }
  ]
}
  • id must contain the page numeric ID.
  • title_key must contain the pdbk version of the title
  • display_title must contain the version of the title most suited for display, with spaces instead of underscores
  • excerpt must contain the search excerpt HTML of the page
  • Response headers must contain:
    • Last-Modified: last time this result set was modified
    • ETag: etag for this result set

Related Objects

StatusSubtypeAssignedTask
InvalidNone
ResolvedNone
Resolved nnikkhoui
InvalidNone

Event Timeline

We're changing how we do user stories, documentation tasks and engineering tasks so this is no longer applicable.