<COMPONENT NAME> Developer Guide

Overview

Provide an overview of the component. To be clear, the target audience for this guide is a developer who will be developing code for this feature itself.

Architecture and Design

Provide information about feature components and how they work together. Also include information about how the feature integrates with Acumos. An architecture diagram could help. This may be the same as the diagram used in the user guide, but it should likely be less abstract and provide more information that would be applicable to a developer.

Actual diagrams as well as their image output should be stored in git. In this “templates” directory are two folders: images and diagrams. The diagrams folder contains 2 examples created with draw.io Desktop, which is freely available for Windows, Mac, and Linux. If you are unable to install draw.io on your workstation, you can create diagrams using the draw.io plugin on the Acumos wiki. Instructions for using the draw.io wiki plugin are here. Diagrams saved as XML need to be exported as an image and then included in the RST file.

Note

Please remember that the images below are just examples and do not reflect the current design of any specific component!

High-Level Flow

This section contains an example of embedding a high-level architecture diagram. Leave a blank line both before and after the .. image:: directive. templates/diagrams/security-verification-arch.xml` was created using draw.io, saved, and then exported as PNG. The resulting image was saved to the images directory.

../../_images/security-verification-arch.png

Generated HTML output as it appears on docs.acumos.org.

Class Diagrams

This section contains an example of embedding a class diagram. Leave a blank line both before and after the .. image:: directive. templates/images/scantool.png is a class diagram generated by the Eclipse plugin ObjectAid UML Explorer.

../../_images/scantool.png

Sequence Diagrams

This section contains an example of embedding a sequence diagram. Leave a blank line both before and after the .. image:: directive. templates/diagrams/ActorInvokesScan.xml is the editable diagram created with draw.io. The exported image was saved to templates/images/ActorInvovkesScan.png.

../../_images/ActorInvokesScan.png

** Images may be resized. See the .. image:: directive options.

Technology and Frameworks

Provide a list of the development languages, frameworks, etc. For example:

  1. Java 8
  2. Maven 3.x
  3. Spring Tool Suite

Project Resources

Provide gerrit, Jira info, JavaDoc (javadoc.acumos.org) if relevant, link to REST API documentation, etc. For example:

  • Gerrit repo: <name of gerrit repo>
  • Jira <component name>

Development Setup

Instructions for how to set up a local development environment.

How to Run

Provide steps to package and deploy your component, both for local testing and for testing on a server.

How to Test

Provide information how to test your component