cloudflare / doca

A CLI tool that scaffolds API documentation based on JSON HyperSchemas.
BSD 3-Clause "New" or "Revised" License
228 stars 36 forks source link

Publish doca roadmap (with requirements) #48

Closed handrews closed 7 years ago

handrews commented 7 years ago

We are currently collecting requirements internally and via issues here for doca, and will be putting together a loose road map for the project. We should publish some form of that on the wiki here for community feedback and input. I'm filing this mostly to let people know it's a thing :-)

Of the top of my head, without factoring the requirements-gathering that's just started, I expect something along the lines of:

Take all of the above with a grain of salt, as I literally made it up while typing without consulting anyone else.

If you have specific asks for future releases, please file them as their own issues. If you have more general comments, questions, or concerns, please comment here. When we publish the road map on the wiki I'll ensure everything is addressed in some way and close this issue.

handrews commented 7 years ago

Paging @Relequestual, @habitullence, and (because we're likely to move to Ajv instead of the existing 3rd-party parser library to fix #11, get Draft 06 support, and other reasons) @epoberezkin

Relequestual commented 7 years ago

Looks like the start of a plan! Great stuff. You already have my feedback prior to properly using it. Pretty much the same. Still getting the hang of node and webpack... =]

handrews commented 7 years ago

Getting back to this now and working on improving compliance with draft-04.

handrews commented 7 years ago

I've organized as many of the issues as possible into three milestones, which I'll be working on in roughly the following order:

I may split Draft-04 Conformance into two milestones: essential support (including documenting what is not supported) and full support (for things that we can't justify supporting right now, and may never be able to justify now that Draft-06 is out). For now I'm keeping it all together in hopes that we can support everything that is at all reasonable to consider.

I've also labeled the issues by which part of the suite needs work to implement them, which should make the project a bit more approachable for any potential contributors.

handrews commented 7 years ago

Split a few things out of draft-04 conformance to track the things that are actually broken separately from the things that are just not implemented:

Draft-04 no contradctions

Relequestual commented 7 years ago

Great organisational work!

I probably need to modify our use of doca to make sure we're using a fixed version in production, so we can test changes in develop.

I believe doca currently doesn't specify specific versions of the theme or example loader. I wonder if it should to avoid the situation where an older release of doca no longer works because newer versions of dependancies are not backwards compatible with doca?

Great stuff!

handrews commented 7 years ago

PR #72 proposes a substantial refactoring of the doca suite that will produce a more flexible, extensible, and maintainable architecture (and modernize a few things along the way, since even though doca proper is less than a year old, the loader code is older than that and JS technologies change every year or two anyway).

The most significant reason for the change is that the majority of requested improvements require work on the theme, and currently that work ends up duplicated between the public and internal themes. We will merge the React components into one UI and handle theming at the CSS / static asset level.

There are a number of other refactorings planned to modularize the schema transformations in the loaders and ensure that at every step, including the final loader output, the result is still a valid, standards-compliant JSON Schema.

I'll leave the PR open for a few days for feedback, and then unless there are objections I will merge it and close this. It will be a few weeks before I start on the road map tasks in earnest, so there will be additional time to raise concerns and make changes.

handrews commented 7 years ago

Road map published.

For further discussion, file new issues and reference https://github.com/cloudflare/doca/blob/master/ROADMAP.md