Page MenuHomePhabricator

AQS 2.0 user documentation
Closed, ResolvedPublic

Description

AQS 2.0 is a project to replace the analytics-aqs service (referred to in this task as AQS 1.0) with a set of new microservices. In 2022 and 2023, we completed foundational work to set up API documentation tooling in the new services and make the API specs available. In 2024, we are focusing on making these docs available to users and deprecating the AQS 1.0 docs. The 2024 work is led by @apaskulin and @KBach.

Visit the new AQS user docs site: doc.wikimedia.org/analytics-api

Terms

  • User documentation: documents needed by end users of the API, including the API reference, tutorials, and explanations
  • API reference documentation: In contrast to other types of user documentation like tutorials and explanations, the API reference is the detailed contract describing all the functionality of the API, including endpoints, parameters, error codes, and response schema. For AQS 2.0, the API reference documentation takes the form of machine-readable OpenAPI specifications.
  • Maintainer documentation: documents needed by maintainers of the API, including development and testing guides, deployment guides, monitoring docs, and service-level objectives

Goals

  • Make it easier for development teams to maintain the user docs compared with the AQS 1.0 user documentation.
    • Reference docs are maintained alongside the code they describe.
  • Create a self-service process for development teams to create user docs for new AQS services and endpoints
  • Create a single entry point for all AQS user docs for ease of sharing
  • Create user documentation for AQS services that is:
    • Findable: Users can discover the docs from commonly-used entry points and can find information they need within the docs
      • In-site navigation and search; on-wiki links redirected to new site
    • Useable: Information is organized based on user needs and tasks; users can get started using the API as quickly as possible
      • User research showed users could effectively get started and perform tasks using the site.
    • Accurate: Information is trustworthy and up to date
      • Tutorial code samples are tested as part of the site's CI.
      • Reference docs are maintained alongside the code they describe.
    • Consistent: Common behavior across APIs is documented the same way, limited the learning curve for users
      • API specs updated to conform with published style guide

Scope (April - June 2024)

In scope:

  • User docs for the original set of AQS 2.0 APIs (Device, Geo, Media, Page, Edit, and Editor Analytics)
    • References docs (OpenAPI specs, example)
    • Tutorials and guides (currently on Wikitech, example)
  • Instructions for creating user docs for a new AQS API

Out of scope:

Project plan (April - June 2024)

Subtasks to be created. Note that phases with the same numeral can proceed in parallel.

Scope (2022-2023)

Future work

Documentation work to consider outside the scope of this task:

Appendix: AQS documentation structure as of 2024-01-24

Wikitech

wikimedia.org/api/rest_v1 (RESTBase OpenAPI spec)

  • API reference documentation in the form of API specs (specific endpoints, parameters, error codes, response schemas, etc.)
  • all AQS services merged into one spec along with other RESTBase APIs
  • access policy details
  • link to versioning policy

Related Objects

StatusSubtypeAssignedTask
StalledNone
In ProgressNone
In ProgressNone
Resolvedapaskulin
ResolvedSpikeSfaci
ResolvedSGupta-WMF
Resolvedapaskulin
ResolvedKBach
ResolvedKBach
Resolvedapaskulin
ResolvedKBach
Resolvedapaskulin
ResolvedSfaci
ResolvedSfaci
ResolvedSfaci
ResolvedSfaci
Resolvedapaskulin
ResolvedKBach
ResolvedVirginiaPoundstone
ResolvedKBach
ResolvedVirginiaPoundstone
ResolvedKBach
ResolvedKBach
ResolvedKBach
ResolvedKBach
Resolvedapaskulin
Resolved WDoranWMF
Resolvedapaskulin
Resolvedapaskulin
ResolvedKBach
ResolvedKBach
Resolvedmforns
ResolvedKBach
ResolvedDzahn
ResolvedKBach
Resolvedapaskulin
ResolvedKBach

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
KBach changed the status of subtask T363013: Update Page Analytics API spec from Open to In Progress.
KBach changed the status of subtask T363014: Update Edit Analytics API spec from Open to In Progress.
KBach changed the status of subtask T365437: Write AQS tutorials from Open to In Progress.May 29 2024, 12:57 PM
KBach changed the status of subtask T365436: Add examples for all APIs from In Progress to Open.Jun 5 2024, 7:52 AM
KBach changed the status of subtask T365437: Write AQS tutorials from In Progress to Open.Jun 13 2024, 6:46 AM

This project is now complete! The docs are available at https://doc.wikimedia.org/analytics-api, announced via https://lists.wikimedia.org/hyperkitty/list/[email protected]/thread/TOJL7HQZAIQPEPRGMYKSQSPUXINLP7IU/, with documentation on wiki at https://wikitech.wikimedia.org/wiki/Data_Platform/Systems/AQS#API_documentation, including analytics data available through https://wikitech.wikimedia.org/wiki/Data_Platform/Systems/AQS#Documentation_monitoring.

There is one lingering patch that needs to be merged (https://github.com/wikimedia/restbase/pull/1346), but we'll track that separately. A big thanks to everyone who helped provide feedback for this project!