Skip to content

Release Checklist #7

Description

General

  • Check if documentation presented in console after command ramlo --help is complete.
  • Parse only files with extension *.raml and show error if a file is not a RAML 0.8 or 1.0.
  • Check if ramlo can be installed locally in a project's node_module directory.
  • Install ramlo on different version of Node.js - at least v4.4.5 LTS and v6.2.0 Current
  • Check if schemas defined at the root-level of the RAML file and included from external files are properly treated by RAML parser.
  • Write unit tests.

Code structure & layout

Basic Information

  • Present title of the API in the header (required).
  • Present description of the API in the header (optional - new in RAML 1.0).
  • Present URI of the API below title if defined (optional).
  • Present API version at the end of the title or if baseUri has a version URI parameter, replace it and version should be presented as a part of API URI (optional).
  • Take care of baseUriParameters (optional).
  • Present available API protocols on the left side of API URI as <span class="label"> (optional).
  • Take care of uriParameters used inside baseUri parameter (optional).

Named Parameters

  • Named parameters are used for describing resource's methods, headers, response's schemas, etc. Basically in generated documentation they can be found in tables describing methods, headers, responses. (all parameters are optional). Kamil Zasada (@kamilzasada)

User Documentation

  • Show user documentation added to RAML file using documentation property at the beginning of the middle column documentation. Documentation can be written using Markdown. It can have title and content (optional).

Resources

  • Present top-level resources in the left menu and in the main documentation content. Resource name should be a header of the list of available methods. Resource name can be defined using displayName property or if not, it should be generated from resource's URI (required).
  • Take care of description property which can be used for describing resource. Description should be presented only in the middle section of documentation - below resource's name (optional).
  • Present resource's URI parameters in the table with columns: name, type, description. This is the same table as is used for displaying query parameters and API responses schemas. Values from enum parameter should be presented in the column with description (optional).

Methods

  • Present HTTP methods that can be performed on a resource and sub-resources in the left menu and also in the main content of the documentation. Each method can have description which can be written in Markdown (optional).
  • Take care API's methods headers (optional).
  • Take care API's methods query parameters, for example GET methods (optional).
  • Take care API's methods body, or example POST methods (optional).

Methods' responses

  • Present multiple method's responses using tabs component. Response can have schema and example defined.
  • Check if RAML parser does not have problems with including schemas and examples from external files.
  • Take care of responses' headers (optional).
  • Handle JSON Schemas with type 'array'.
  • Handle nested JSON Schemas.

  • NOTE: All data for missing features can be gathered calling .toJSON() either in the root api or in other functions, then we can combine/parse easily on the template

Data Types

  • Tested with type object, array, string, tables on jade are now dynamic.
  • To test if examples are correctly

Traits

  • Tested and working as they should

Resource Type

  • On simple structures works correctly with the existing code, to be tested with complex structures

Security Schemas

  • tested with oauth2.0, oauth1.0 and basic. Schemes are listed in the bottom of the page
  • To Do: link securedBy in endpoints to schemes

RAML 1.0 Annotations

  • To be implemented

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions