Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Purpose

The CloudStack API reference pages do references  do not adequately communicate the details of the APIs. This inadequacy of information seems to have affected the user experience of CloudStack APIs.

The purpose of this document is to suggest methods to improve the CloudStack API reference pagesCloudStack API references. Improved CloudStack API reference pages references that adequately describe APIs help users educate themselves about the purpose and usage of the APIs. This knowledge helps them make appropriate decisions when using CloudStack.

...

The new template that is defined for the CloudStack API describes the information that an ideal CloudStack API  API reference page should contain. Also, this document describes the technical aspects of generating an improved CloudStack API referencereferences.

The current CloudStack API reference page contains references contain the following information:

  • Name of the API, which is the label of the API reference page.
  • Description on the purpose of the API in a single line.
  • List of request parameters, their descriptions in a single-line descriptions, and information on whether these parameters are mandatory. These This information has been documented in a table.
  • List of response tags and their descriptions in a single line-line descriptions. This information has been documented in a table.

...

Current Method of Creating/Generating API References

CloudStack uses Java docs for creating API reference pagesreferences. The developer who create creates an API enters the descriptions for the API reference page in the @ APICommand annotation field in the code. ThenFinally, the API reference pages references are generated from the code.

...

The following are the limitations of the current CloudStack API reference pagesreferences:

  • All the information about an API is are not documented
  • Descriptions are inadequate to explain the purpose and usage of the API. They are mostly single-line descriptions
  • No information on the structure of the request URL. Also, no example for the request URL.
  • No information on the success response

...

The CloudStack API references miss many pieces of information that are crucial for ensuring an excellent user experience. The proposed template for the CloudStack API reference in Appendix A helps you understand these additional information to be documented for the CloudStack API reference pagesreferences.

This document does not suggest any major changes to our current approach in for creating/generating API reference pagesreferences. The developers will continue adding content in the @APICommand annotation fields for the API that when they create an API. The template in Appendix A can guide them in determining the information that they need to add to the @APICommand annotation fields.

Also, this document proposes Tech Pubs review of the API reference page before publishing the API references.

Implementing the

...

New Template for

...

API

...

References

The following figure delineates the workflow for the generation of API docs from the code:

...

  • The APIXMLWriter.java file plays an important role in creating API reference pages. This file collects data from @APICommand annotations of each API and stores in an a .xml file. The API reference pages references in HTML format has have been created from this .xml file as described in the diagram.

...