- Created by Robert Reiner, last modified on 26. May 2017
Provide a standard documentation for users of a library for Java.
- Categories
Teams using continuous deployment may choose to create libraries to modularize their code base. Each library is a product of its own with its own release cycle. Especially if the library is made public available, a sound and similar structure of the documentation helps developers to find information on how to use this library easily.
To create a user documentation for a library for Java the projectdoc for Java Developers Add-on for the projectdoc Toolbox provides tools to import information from a Maven POM file. This way all properties specified by the developers are accessible as space properties by authors of the documentation.
Experimental Add-on!
The projectdoc for Java Developers Add-on is available on the Atlassian Marketplace and on Bitbucket. It is still considered to be experimental. So expect to encounter some rough edges.
Please get in touch if you have suggestions for improving the add-on or fork it on Bitbucket!
This approach does require to create a Maven Site with all reports (for example Javadoc Report, Source Code Report, or Changes Report) and link to or transclude from this information. The Information Systems Extension provides macros to access information from remote servers.
Resources
Information Material
The following list of resources provides background information on creating and working documentation for Java libraries based on the projectdoc Toolbox for Confluence.
Resource | Short Description | Type |
---|---|---|
Get started with the projectdoc Toolbox: learning by doing | topic | |
A gentle introduction to page blueprints provided by doctype add-ons. The page blueprints are grouped semantically to make it easier for users to build a conceptual mind map for them. | topic | |
Concepts central to projectdoc. Things users have to understand to get the most out of using projectdoc. | topic | |
Space properties are defined for spaces and are accessed via the Space Property Macro. This tip goes into detail in how to use space properties with inheritence and extension pages. | topic | |
Lists the configuration options at space level. | topic | |
Add-on to extend the projectdoc Toolbox to integrate remote information systems. | topic | |
Add-on to extend projectdoc with an API to access on the web. | topic | |
Add-on to extend projectdoc for Confluence with Maven Tools. | topic |
Doctypes
The following doctypes (blueprints based on the projectdoc Toolbox) provided page blueprints to create documentation for a Java library.
Resource | Short Description | Categories |
---|---|---|
Properties are part of the configuration options of a system. | ||
Metadata documents provide tables of simple key/value pairs. This information can be used as an aspect or as additional space properties to be available for reference on your wiki. | ||
Document a version of a product or service. | ||
Document requirements you impose on artifacts. Artifacts are created by processes defined and used by the team. This includes assemblies created by the build process, source code artifacts or reports. | ||
Describe the codes that are part of the product's API. | ||
Interfaces document how elements of the system communicate with elements of this and other systems. |
Macros
The following macros of the projectdoc Toolbox support creating or working with documentation for a Java library.
Resource | Short Description | Categories |
---|---|---|
Renders a space property value. | ||
Renders all properties referenced by the current space. | ||
Renders an image generated from an Enterprise Architect diagram, transcluded from a server. | ||
Transclude HTML content from a remote server. | ||
Links API documentation pages for Java elements. | ||
Renders a link to an artifact stored on a Nexus server. | ||
Renders an image transcluded from a remote server. | ||
Links to a resource on a server. | ||
Transclude content from a resource from a remote system. | ||
Transclude text content from a remote server. |
Related Use Cases
Resource | Short Description | Categories |
---|---|---|
Provide a standard documentation for users of a plugin for Maven. | ||
Communicate the quality targets, context, and design drivers of your software architecture. |