New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Public API v1 Sprint Epic #5976

Closed
ErisDS opened this Issue Oct 20, 2015 · 0 comments

Comments

Projects
None yet
1 participant
@ErisDS
Member

ErisDS commented Oct 20, 2015

Public API

We've been talking for a very long time about making our JSON API publicly accessible via OAuth (See the OAuth Epic).

The plan is to make this a reality in the next release but in a limited way: The read-only public endpoints will be made available to themes via the {{#get}} helper and also to public clients, but without a UI for registering new clients. This means that it will be possible to use the API via ajax from within themes as well as the get helper, in order to fetch what we consider 'public' data - published posts, tags, and active users. This will be considered a 'public beta' of the API.

As well as making the data accessible, we need to push to clean up the API and ensure that the available endpoints are truly useful. The following are a set of must-have and nice-to-have API changes:

Ready:

  • Validation (issues #2756 & #2758)
  • Make the 401 error format consistent (#5499)
  • Add fields parameter (issue #5601)
  • Add the filter parameter (issue #5604)
  • Move top level browse params to filter (issue #5463)
  • Add order parameter (issue #5602, ref #5463)
  • Remove auth from public endpoints (#4181)
  • Implement auth for public clients with a client id (#4180)
  • Default client entry (#4184)
  • Initial get helper (#4439)
  • Update get helper to work with Filter param (Issue #5993)

Nice to haves:

  • Finish 'pipeline' refactor (#5508)
  • Joins & relations cleanup (issue #5615)
  • Cross table ordering (#6008)
  • Cross table count handling (inc ordering) (#6009)
  • Improve the has helper (issue TBD)
  • Complete rewrite of page support

Needed for release:

  • No more staticPages parameter (#5151, requires #5604) sebgie
  • Public permission handling (#5614), at least:
    • ensure count doesn't return wrong value erisds
    • ensure filter cannot be abused to get private data erisds
  • Add labs checkbox for public API access (PR #5984)
  • Move get helper behind labs flag (no issue)
  • API helper for ajax requests (#5942) not assigned
  • API docs (#5588) cobbspur
  • Get helper docs cobbspur
  • Revisit origin validation #6106

Other API issues to consider:

  • Improve error messages
  • Figure out what to do with versioning
  • Slashes in API endpoints?

Other Sprint Items

  • Tag Management UI Updates (issue #5845)
    • routable tags UI (PR #5969)
    • add tags to search (PR #5991)
    • drag-n-drop tag re-ordering when editing post (PR #6010)
    • tag/:slug/edit redirect (PR #6011)

@ErisDS ErisDS added the epic label Oct 20, 2015

@ErisDS ErisDS added this to the Public API v1 milestone Oct 20, 2015

@ErisDS ErisDS referenced this issue Oct 20, 2015

Closed

Ghost 0.7 Overview #5503

13 of 31 tasks complete

kevinansfield added a commit to kevinansfield/Ghost that referenced this issue Oct 26, 2015

Drag-n-drop re-ordering of tags in post settings menu
refs #5976
- adds `onChange` handler to `gh-selectize` component to update the `selection` property when selectize's value is changed (eg, by the drag_drop plugin updating the order)
- adds the `drag_drop` plugin to the list of selectize plugins used by the tags input on the post settings menu

kevinansfield added a commit to kevinansfield/Ghost that referenced this issue Oct 26, 2015

Drag-n-drop re-ordering of tags in post settings menu
refs #5976
- adds `onChange` handler to `gh-selectize` component to update the `selection` property when selectize's value is changed (eg, by the drag_drop plugin updating the order)
- adds the `drag_drop` plugin to the list of selectize plugins used by the tags input on the post settings menu

kevinansfield added a commit to kevinansfield/Ghost that referenced this issue Oct 26, 2015

Drag-n-drop re-ordering of tags in post settings menu
refs #5976
- adds `onChange` handler to `gh-selectize` component to update the `selection` property when selectize's value is changed (eg, by the drag_drop plugin updating the order)
- adds the `drag_drop` plugin to the list of selectize plugins used by the tags input on the post settings menu

ErisDS added a commit to ErisDS/Ghost that referenced this issue Nov 3, 2015

Move get helper behind labs flag
issue #5976

- break out the labs check into a utility
- wrap the get helper in a labs check, so it only works if the checkbox is checked
- make the get helper output an error to both the server and browser console if used when not enabled

@ErisDS ErisDS closed this Dec 1, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment