Skip to content
This repository has been archived by the owner on Oct 20, 2021. It is now read-only.

Commit

Permalink
feat(contextualDocumentation): add help content for each management p…
Browse files Browse the repository at this point in the history
…ages

This closes gravitee-io/issues#859
  • Loading branch information
tcompiegne committed Nov 7, 2017
1 parent bee64aa commit 804723c
Show file tree
Hide file tree
Showing 49 changed files with 657 additions and 4 deletions.
4 changes: 4 additions & 0 deletions conf/webpack.conf.js
Expand Up @@ -108,6 +108,10 @@ module.exports = {
{
from: './themes',
to: './themes'
},
{
from: './docs',
to: './docs'
}
], {
copyUnmodified: true
Expand Down
6 changes: 6 additions & 0 deletions docs/management-api-analytics.md
@@ -0,0 +1,6 @@
# API Analytics

Analytics collect and report application interactions with the API.
Many metrics are available and can be filtered for a specific period of time and specific applications.

*VIEW LOGS* button let you see a condensed view of the API calls.
18 changes: 18 additions & 0 deletions docs/management-api-documentation.md
@@ -0,0 +1,18 @@
# API Documentation

At this date, three types of document are supported :

* Swagger
* RAML
* Markdown (MD)

You can access to your API data (name, version, description ...) on your API’s documentation by writing: `${api.name}` or `${api.metadata['foo-bar']}` in your documentation's content.

By default, documentation pages are in staging mode and will be visible to API owners and API members with specific documentation roles.
To make documentation visible for all users, you can switch on the *published* button.

You can set a page to be a *homepage* by clicking on the *house* button. API homepage will be visible in the Portal main page of the API.

You can also configure a page by clicking on the *settings* button. Page's configuration let you fetch page's content from an external resource such as Git repositories, or HTTP urls.

(+) button let you create a new documentation page.
3 changes: 3 additions & 0 deletions docs/management-api-events.md
@@ -0,0 +1,3 @@
# API Events

API audit logs listing start and stop API events.
11 changes: 11 additions & 0 deletions docs/management-api-health-check-configure.md
@@ -0,0 +1,11 @@
# API Health Check

Health check configuration let you enable or disable health check service, set a frequency rate, choose an `health` relative path and provide some assertions to control endpoint API's health.

How to write assertion :

Example 1: Check the status of the HTTP response
`#response.status == 200`

Example 2: Check the JSON content of the response
`#jsonPath(#response.content, '$.status') == 'green'`
8 changes: 8 additions & 0 deletions docs/management-api-health-check.md
@@ -0,0 +1,8 @@
# API Health Check

Health monitoring by sending requests to an `health` endpoint on the API.
The API backend should perform the necessary checks by providing some probes and return an indication of its status.

Per-endpoint and per-gateway availability let you finely check the status of your infrastructure.

*settings* button let you configure health check service.
7 changes: 7 additions & 0 deletions docs/management-api-history.md
@@ -0,0 +1,7 @@
# API History

Keep track of every API's changes per deployment.
You can select each history's events and compare changes across time.

In the event of an error during API configuration update,
you have the possibility to roll back your configuration back to a previous stable state by clicking on the *ROLLBACK* button.
3 changes: 3 additions & 0 deletions docs/management-api-logs.md
@@ -0,0 +1,3 @@
# API Logs

Logs let you see a condensed view of the API calls. Logs can be filtered for a specific period of time.
5 changes: 5 additions & 0 deletions docs/management-api-members.md
@@ -0,0 +1,5 @@
# API Members

API members can be a user or group. Each member has roles to manage and perform certain tasks and operations in the API according to their role's permissions.

The (+) button let you create a new member with specific roles.
6 changes: 6 additions & 0 deletions docs/management-api-metadata.md
@@ -0,0 +1,6 @@
# API Metadata

API metadata let you retrieve custom information about your API and not the data itself (like name, version, etc ...).
These metadata are intended for various use cases such as retrieving support email, manage dynamic documentation and configuration template or managing customizations.

(+) button let you create a new metadata.
19 changes: 19 additions & 0 deletions docs/management-api-plans.md
@@ -0,0 +1,19 @@
# API Plans

Retrieve all your registered plans. To subscribe to an API, you must publish one or more Plans. A Plan will allow you to gain access of the API operations.

3 modes are available for plans :

* Staging mode

With a plan in staging mode, you can make changes to the configuration and preview the changes before you make the plan active.

* Published mode

The plan is in active state and consumers can use it to subscribe to the API.

* Closed mode

Plan is closed and cannot be used anymore by the API consumers.

The (+) button let you create a new plan.
9 changes: 9 additions & 0 deletions docs/management-api-policies.md
@@ -0,0 +1,9 @@
# API Policies

Policies let you customize, enhance API behavior and functionalities. Policies can enforce security, enhance performance, transform request/response and let you implement some logic via the Groovy Policy or dynamic routing policy.

Policy can be chained, applied to root path (/**) or for specific paths.

You can drag and drop policy at the center of the screen to apply policy for a specific path, and the right part of the screen let you configure your policy.

The (+) button let you create a new path to specify its behavior via the policies.
15 changes: 15 additions & 0 deletions docs/management-api-properties.md
@@ -0,0 +1,15 @@
# API Properties

As an API publisher, you can define properties for your API. These properties are automatically injected into the expression language context to be used later.

For example, to get the value of the property `my-property` defined in API properties: `{#properties['my-property']}`

The (+) button let you create a new property.

## Dynamic properties

To get access to dynamic properties click on the _settings_ button. Dynamic properties let you fetch API properties from a remote resource, such as web service.

You can set a polling frequency property and apply response transformation thanks to the [JOLT framework](http://bazaarvoice.github.io/jolt/).

Do not forget to switch on dynamic properties and re-deploy the API to unable dynamic properties. Like classical properties, dynamic properties will be injected into the expression language context.
3 changes: 3 additions & 0 deletions docs/management-api-proxy-endpoints.md
@@ -0,0 +1,3 @@
# API Endpoints

Configure Http client options, like timeout, SSL, proxy and health check service.
31 changes: 31 additions & 0 deletions docs/management-api-proxy.md
@@ -0,0 +1,31 @@
# API Proxy

Configure your connection to the backend endpoint(s).

1. Endpoints

Declare new endpoint by clicking on the (+) button and configure existing endpoint by clicking on the *settings* button.

2. Load Balancing

Choose among 4 kinds of load balancing method to manage how to dispatch API calls.

3. Fail over

Configure redirect calls strategy in case of some endpoints failure.

4. CORS

CORS configuration to handle connection from front-end applications.

5. Deployment

Choose registered sharding tags to choose on which gateway the API must be deployed. Sharding tags are configured at Gateway level.

6. Multi-tenant

Enable multi-tenant mode to route incoming calls to the corresponding tenant endpoint. Tenants are configured at Gateway level.

7. Logging

Enable logging at to ease debugging. Logs will be available under API **Logs** section.
16 changes: 16 additions & 0 deletions docs/management-api-resources.md
@@ -0,0 +1,16 @@
# API Resources

Resources are link to the API lifecycle. They are initialized when the API is starting and released when API is stopped.
Resources are used via the API policies to enhance API behavior.

Differents resource types are available :

* Cache

Used to store re-usable data to avoid subsequent calls.

* OAuth 2.0

Used to introspect an access_token via an external OAuth 2.0 authorization server.

The (+) button let you create a new resource.
24 changes: 24 additions & 0 deletions docs/management-api-subscriptions.md
@@ -0,0 +1,24 @@
# API Subscriptions

Retrieve all the registered subscriptions per application. Subscription represents the plans a consumer has subscribed to.

Subscriptions can be :

* Accepted

Subscription is valid and consumer can use its API key to perform operations of the API.
The subscription can be renew, revoked or publisher can set an expiration date.

* Pending

A consumer has asked access for the API, you can accept its subscription or rejected it.

* Rejected

Subscription is rejected and consumer cannot use the API.

* Closed

Subscription is closed and consumer cannot use the API.

The (+) button let you create a new subscription for a given application and a given plan.
10 changes: 10 additions & 0 deletions docs/management-api.md
@@ -0,0 +1,10 @@
# API General

Set general information about your API such as its name, version, picture and description.
You can switch API visibility to restrict access to the API.

Portal section let you add some labels and views to categorize your API and make it easier to find for the consumers.

*IMPORT* button will load and replace API data from the imported API definition.

*EXPORT* button will export your API as API definition json format to easily recreate your API for a different environment for example.
24 changes: 24 additions & 0 deletions docs/management-apis-create-steps.md
@@ -0,0 +1,24 @@
# Create API step by step

4 steps will guide you to create your API.

. General **required**

Configure your API's name, version, description and context-path.

. Proxy **required**

Specify you backend endpoint.

. Plan **optional**

To subscribe to an API, you must publish one or more Plans.
A Plan will allow you to gain access of the API operations.

A Plan can be keyless (public access) or restricted with an API-Key.
Auto-validation mode tells you if a manual action is required to validate a subscription request.

. Documentation **optional**

Import documentation to make them available to the application teams.
Support three types of document : Swagger, Markdown and Raml.
5 changes: 5 additions & 0 deletions docs/management-apis-create.md
@@ -0,0 +1,5 @@
# Create API

You can create from scratch and step by step a new API by clicking on the (->) button.

Or choose to import your API definition or a Swagger descriptor file.
5 changes: 5 additions & 0 deletions docs/management-apis.md
@@ -0,0 +1,5 @@
# Manage APIs

Retrieve all your registered APIs. You can click on each table's row to get API's information.

The (+) button let you create a new API.
6 changes: 6 additions & 0 deletions docs/management-application-analytics.md
@@ -0,0 +1,6 @@
# Application Analytics

Analytics collect and report application interactions with the APIs.
Many metrics are available and can be filtered for a specific period of time and specific APIs.

*VIEW LOGS* button let you see a condensed view of the API calls made by the application.
3 changes: 3 additions & 0 deletions docs/management-application-logs.md
@@ -0,0 +1,3 @@
# Application Logs

Logs let you see a condensed view of the API calls. Logs can be filtered for a specific period of time.
5 changes: 5 additions & 0 deletions docs/management-application-members.md
@@ -0,0 +1,5 @@
# Application Members

Application members can be a user or group. Each member has roles to manage and perform certain tasks and operations in the application according to their role's permissions.

The (+) button let you create a new member with specific roles.
22 changes: 22 additions & 0 deletions docs/management-application-subscriptions.md
@@ -0,0 +1,22 @@
# Application Subscriptions

Retrieve all the registered subscriptions per API. Subscription represents the plans the application has subscribed to.

Subscriptions can be :

* Accepted

Subscription is valid and the application can use its API key to perform operations of the API.
The subscription can be renew, revoked or publisher can set an expiration date.

* Pending

The application has asked access for the API and wait for the API owners approvals.

* Rejected

Subscription is rejected and the application cannot use the API.

* Closed

Subscription is closed and the application cannot use the API.
4 changes: 4 additions & 0 deletions docs/management-application.md
@@ -0,0 +1,4 @@
# Application General

Set general information about your application such as its name, its type (mobile/web) and description.
You can also give access to your application to registered groups.
5 changes: 5 additions & 0 deletions docs/management-applications.md
@@ -0,0 +1,5 @@
# Manage applications

Retrieve all your registered applications. You can click on each table's row to get application's information.

The (+) button let you create a new application.
10 changes: 10 additions & 0 deletions docs/management-configuration-groups.md
@@ -0,0 +1,10 @@
# Groups

A group entity represents an API or an application group of users.
Each member of a group has roles to perform certain actions on an API or an application.

Users are fetched from identity providers configured at Management API level.

In addition, group can be created specific to an API or an application.

(+) button let you create a new group.
5 changes: 5 additions & 0 deletions docs/management-configuration-metadata.md
@@ -0,0 +1,5 @@
# Metadata

Metadata let you retrieve platform custom information. These metadata are intended for various use cases such as retrieving support email, manage dynamic documentation and configuration template or managing customizations.

(+) button let you create a new metadata.
17 changes: 17 additions & 0 deletions docs/management-configuration-portal-pages.md
@@ -0,0 +1,17 @@
# Portal pages

At this date, three types of document are supported :

* Swagger
* RAML
* Markdown (MD)

By default, portal pages are in staging mode and will be visible to administrator or users with management portal roles.
To make documentation visible for all users, you can switch on the *published* button.
Portal pages will be accessible from the *DOCUMENTATION* main section.

You can set a page to be a *homepage* by clicking on the *house* button. Portal homepage will be visible in the Portal landing page.

You can also configure a page by clicking on the *settings* button. Page's configuration let you fetch page's content from an external resource such as Git repositories, or HTTP urls.

(+) button let you create a new documentation page.
23 changes: 23 additions & 0 deletions docs/management-configuration-roles.md
@@ -0,0 +1,23 @@
# Roles

A role can be scoped to an API, an application, the portal or more globally to the platform management.

Each role defines a set of permissions (READ, CREATE, UPDATE, DELETE (CRUD)) on the API Management resources.

An role can be edited by clicking on the *edit* button on each role scope :

* MANAGEMENT role

CRUD operations on : INSTANCE, GROUP, SHARDING TAG, TENANT, API, ROLE, APPLICATION, PLATFORM.

* PORTAL role

CRUD operations on : METADATA, DOCUMENTATION, APPLICATION, VIEW.

* API role

CRUD operations on : DEFINITION, GATEWAY_DEFINITION, PLAN, SUBSCRIPTION, MEMBER, METADATA, ANALYTICS, EVENT, HEALTH, LOG, DOCUMENTATION

* APPLICATION role

CRUD operations on : DEFINITION, MEMBER, ANALYTICS, LOG, SUBSCRIPTION
14 changes: 14 additions & 0 deletions docs/management-configuration-sharding-tags.md
@@ -0,0 +1,14 @@
# Sharding tags

Shard tags let you constraint/deployed certain APIs to certain Gateway instances sharing the same shard tags.

You can create a new shard tag by clicking on the *New tag* input and press *SAVE* button.
A shard tag's ID will be created.

To make the association between APIs and Gateway instances,
you must choose this shard tag in the API configuration page and copy/paste the shard tag's ID to the `gravitee.yml` file of the gateway instance :

<pre>
# Sharding tags configuration
# tags: products,!international
</pre>

0 comments on commit 804723c

Please sign in to comment.