Skip to content

Commit

Permalink
Merge pull request #839 from entando/ENDOC-809
Browse files Browse the repository at this point in the history
ENDOC-809 general updates docs/compose & docs/consume
  • Loading branch information
jyunmitch authored Sep 30, 2024
2 parents 34fc364 + 765ca3a commit cf56c90
Show file tree
Hide file tree
Showing 16 changed files with 176 additions and 160 deletions.
10 changes: 5 additions & 5 deletions vuepress/docs/next/docs/compose/preinstalled-widgets.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebarDepth: 2

The Entando Platform includes a number of useful components to accelerate application development. These consist of widgets, page templates, content templates, and content types.

This page introduces the widgets that are available out of the box with an Entando 7 installation. These widgets are categorized by type, where each type implements CMS, navigation, page, SEO or system functionality.
This page introduces the widgets that are available out of the box with Entando. The widgets are categorized by type, each with its own CMS, navigation, pages, SEO and/or system functionality.

## Widget Attributes

Expand All @@ -18,12 +18,12 @@ All widgets are required to have the following attributes. These are mandatory r
- `Group`: A group for which the user has "create" permissions
- `Icon`: A graphic that visually represents the widget via an uploaded icon (SVG file) or one chosen from the icon library
- `Custom UI`: HTML code that constructs the visual layout of the widget
- `Config UI`: A JSON structure that informs the widget's configuration. It requires two properties:
- `Config UI`: A JSON structure that defines the widget's configuration. It requires two properties:
- `customElement`: The custom element name of the widget config component
- `resources`: An array listing the source location of the custom element files for the widget configuration
## Widget Descriptions

The following table lists the notable preinstalled widgets of an Entando instance. They can be accessed from the left menu of the App Builder by selecting `Components``MFE & Widgets`.
The following table lists the notable preinstalled widgets of an Entando instance. They are accessible from the left menu of the App Builder by selecting `Components``MFE & Widgets`.


| Name | Type | Description |
Expand All @@ -32,12 +32,12 @@ The following table lists the notable preinstalled widgets of an Entando instanc
| Content List | CMS | A widget that renders a list of contents, each one displaying information from a template |
| Content Search Query | CMS | A widget that publishes a list of contents based on different settings |
| Content SEO Meta-description | SEO | A component listing the SEO parameters specified when pages are created or modified |
| Internal Servlet | System | A legacy implementation to create server-side widgets using Struts 2. Available for backwards compatibility with older projects. |
| Internal Servlet | System | A legacy implementation to create server-side widgets using Struts 2. Available for backwards compatibility. |
| Legacy Login Form | System | A non-Keycloak form component for logging in |
| Legacy Navigation Menu | Navigation | An interface that is configurable via expression list parameters. A user with admin privileges can easily change its layout. |
| Login | System | The Keycloak-powered login/logout component for the web app |
| Logo | Page | The default Entando logo. It can be used in other projects by changing its fragment reference. |
| Navigation Menu | Navigation | An OOTB widget configurable via expression list parameters |
| Navigation Menu | Navigation | A widget configurable via expression list parameters |
| Search Form | CMS | A basic search form |
| Search Results | CMS | A component that shows the results of the query entered into the Search Form |

Expand Down
14 changes: 10 additions & 4 deletions vuepress/docs/next/docs/compose/welcome-wizard.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
---
sidebarDepth: 2
---

# Welcome Wizard

The Welcome Wizard is displayed when you first log in to the Application Builder. You can also start it later by going to the top navigation bar in the Application Builder, click on the information icon, and click `Begin Welcome Wizard`. You can disable it from the wizard popup by selecting `Don't show next time` and then `Close`, or by going to `My Profile → Preferences` and setting the `Welcome Wizard` preference to `Off`.
The Welcome Wizard is activated and displayed when you first log in to the App Builder. It provides a guided tour of how to begin creating your application.

If you need to review it at any time, click on the information icon in the top navigation bar, then select `Start Welcome Wizard`. You can slso disable it by checking `Don't show next time` in the popup window, or by going to `My Profile``Preferences` and setting the `Welcome Wizard` preference to `Off`.

![./img/welcome-wizard.png](./img/welcome-wizard.png)
![Screenshot-Welcome Wizard popup to create first application](./img/welcome-wizard.png)

The Wizard will guide you through the key steps in designing and publishing a page in your application:
The Wizard will guide you through the key steps in designing and publishing a page for your application. It looks something like this:
1. Create a Page by setting its title, code, location, group, and template.
2. Design the Page by placing a set of pre-configured widgets on the page.
2. Design the Page by placing a set of pre-configured components on the page.
3. Preview the Page
4. Publish the Page

Expand Down
31 changes: 13 additions & 18 deletions vuepress/docs/next/docs/consume/accessibility.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
---
sidebarDepth: 2
---

# Web Accessibility in Entando

> The power of the Web is in its universality.
> Access by everyone regardless of disability is an essential aspect.
**The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.**

`- Tim Berners-Lee, W3C Director and inventor of the World Wide Web`
-- Tim Berners-Lee, W3C Director and inventor of the World Wide Web

Web accessibility means that websites, tools, and technologies are designed and developed so that people with
disabilities can use them. Accessibility is essential for developers and organizations that want to create high-quality
Expand All @@ -12,42 +15,34 @@ See [w3.org](https://www.w3.org/WAI/fundamentals/accessibility-intro/) for an in

## Requirements and Standards

Many projects and programs will have specific requirements in the area of accessibility, particularly for applications
Many projects and programs have specific requirements in terms of accessibility, particularly for applications
or sites with a broad reach or specific governance considerations. Entando's approach to accessibility is to provide the
tools and techniques that allow a development team to meet their own specific accessibility requirements.

Development teams will need someone to become familiar with the relevant accessibility standards and help make design
decisions on how they will be applied to a specific project. Those standards vary by region so please check the
Development teams need someone to become familiar with the relevant accessibility standards to help make design
decisions on how they can be applied to specific projects. These standards may vary by region so please check the
legislation in your area or consult an accessibility specialist. Useful resources include:

* [W3C Web Accessibility Initiative (WAI)](https://www.w3.org/WAI/design-develop/)
* [Web Content Accessibility Guidelines (WCAG)](https://www.w3.org/WAI/standards-guidelines/wcag/)
* USA: [Section 508 of the Rehabilitation Act](https://www.section508.gov/manage/laws-and-policies)

At the end of the day it's up to a development team to make sure their implementation is compliant with a specific
guideline or standard. Typically a team will make use of Entando Page Templates, Content Templates, and custom micro
frontends in order to accomplish this goal.
At the end of the day, it's up to the development team to make sure their implementation is compliant with specific guidelines or standards. Typically a team will make use of Entando Page Templates, Content Templates, and custom micro frontends in order to accomplish this goal.

## Tools

Accessibility requirements are ideally known at the start of a project so the design language and tools can be adopted
early in the project. Using them consistently will ease implementation of the accessibility elements needed to meet the
desired compliance level. Retrofitting a project for accessibility can be done but is typically more involved. Example
Accessibility requirements are ideally known at the start of a project so the design language and tools can be adopted early in the project. Using them consistently will ease implementation of the accessibility elements needed to meet the desired compliance level. Retrofitting a project for inclusive design can be done but is typically more involved. Example
design systems used by Entando clients include:

* [Material-UI](https://material-ui.com/) - a React framework used to build a custom design system and/or one based on
Material Design.
* [Material-UI](https://material-ui.com/) - a React framework used to build a custom design system and/or one based on Material Design.
* [Carbon Design System](https://www.carbondesignsystem.com/) - IBM's open source design system
* [Bootstrap Italia](https://github.com/italia/bootstrap-italia) - a Bootstrap 4-based frontend theme that implements
the Italian Design Guidelines for public websites.

Assessing web accessibility is important throughout the life of a project. There are many tools available in this area. A
useful list can be found [on the W3C site](https://www.w3.org/WAI/ER/tools/) with filters by guideline, region,
language, etc. Entando clients have made good use of the following:
Evaluating web accessibility is important throughout the life of a project. There are many tools available in this area. A useful list can be found [on the W3C site](https://www.w3.org/WAI/ER/tools/) with filters by guideline, region, language, etc. The following resources have been found useful by Entando clients:

* [a11y.css](https://chrome.google.com/webstore/detail/a11ycss/iolfinldndiiobhednboghogkiopppid)
* [Access Assistant](https://chrome.google.com/webstore/detail/access-assistant/ojiighldhdmahfdnhfdebnpmlbiemdfm)
* [Continuum Explorer Pro](https://chrome.google.com/webstore/detail/continuum-explorer-pro/pgkgokkkoamjdmbnegbedepbhbgecplj)
* [Wave (web accessibility evaluation tool)](https://wave.webaim.org/)


Expand Down
15 changes: 8 additions & 7 deletions vuepress/docs/next/docs/consume/entando-apis.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebarDepth: 2
# Accessing Entando APIs


Entando includes the Swagger UI for API access in a quickstart environment. This document presents an overview and instructions on how to enable and access the Swagger UI.
Entando includes the Swagger UI for API access in a quickstart environment. This document presents an overview, and instructions on how to enable and utilize the interface.

## APIs Overview
The Entando App Engine uses REST APIs to enact all the functionality inside the App Builder. For example, APIs are used to add widgets to a page or create components like pages and page templates. APIs can also be used to support automation, testing, and integration with external systems.
Expand All @@ -19,13 +19,14 @@ All of the model classes returned by the Entando App Engine are annotated with d

## Enable the Swagger UI

The Swagger UI can be enabled or disabled in a running Entando instance by modifying the `SPRING_PROFILES_ACTIVE` environment variable for the `entando-de-app` container.
The Swagger UI can be enabled or disabled in a running Entando instance by modifying the environment variable `SPRING_PROFILES_ACTIVE` in the `entando-de-app` container.

1. (Optional) Scale the deployment `spec.replicas` to 0.

>This is necessary if you're using an in-memory database as in the default quickstart configuration. This will prevent database errors on immediate restarts when the deployment is changed.
2. Edit the `entando-de-app` deployment. If you have different names for deployment and namespace, adjust the command below accordingly.
2. Edit the `entando-de-app` deployment. If you have different names for namespace and deployment, adjust the command accordingingly.


>Use the [ent CLI](../getting-started/entando-cli.md) to send commands to Kubernetes from the host machine.
```
Expand All @@ -46,16 +47,16 @@ kubectl -n entando edit deployment/quickstart-deployment

Repeat the steps above, but in step 4, remove `swagger` from the value list.

## Find Your Client Secret
## Retrieve Your Client Secret
You'll need your client credentials to execute Entando APIs.

1. Log in into your Keycloak Administration Console at `http://[YOUR-HOST-NAME]/auth`. To find the Keycloak admin credentials, see the [Entando Identity Management System](./identity-management.md) page.
1. Log in to your Keycloak Administration Console at `http://[YOUR-HOST-NAME]/auth`. To find the Keycloak admin credentials, see the [Entando Identity Management System](./identity-management.md) page.

2. From the left navigation panel, go to `Clients`

3. Select the desired client (e.g. in a quickstart environment, this is `quickstart`)

4. Click on the `Credentials` tab to retrieve the Secret. Save the `Client Id` and `Secret` for the steps below.
4. Click on the `Credentials` tab to find the Secret. Save the `Client Id` and `Secret` for the steps below.

## Access the APIs on Swagger
1. To see the APIs, go to:
Expand All @@ -65,7 +66,7 @@ http://[YOUR-HOST-NAME]/entando-de-app/api/swagger-ui.html

2. Click on the Authorize button in the upper right corner.

3. Enter the client ID and Secret from above. Click Authorize.
3. Enter the `Client ID` and `Secret` from above. Click `Authorize`.

4. You will be prompted to log in to your Keycloak instance as an Entando admin user if you have not already done so. The default credentials are admin/adminadmin.

Expand Down
13 changes: 8 additions & 5 deletions vuepress/docs/next/docs/consume/high-avail-application.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
---
sidebarDepth: 2
---
# High Availability in an Entando Application

## App Engine Clustering and High Availability
Expand All @@ -6,7 +9,7 @@ The Entando App Engine can be deployed as a clustered set of instances using the

This document examines the issues to consider when creating highly availailable clusters of the Entando App Engine.

Microservices clustering that adds functionality to an Entando Application is different from clustering used by the Entando App Engine. Microservices rely on a custom clustering configuration and setup based on implementation and selections made during their creation. Refer to documentation addressing [clustered microservices and caching implementation](../../tutorials/consume/high-availability.md) for configuration and deployment details.
Microservices clustering that adds functionality to an Entando Application is different from clustering used by the Entando App Engine. Microservices rely on a custom clustering configuration and setup based on implementation, and selections made during their creation. Refer to the documentation addressing [clustered microservices and caching implementation](../../tutorials/consume/high-availability.md) for more details.


::: tip
Expand All @@ -31,18 +34,18 @@ The following objects are cached in the base implementation of the Entando App E
- Languages
- Labels (i18n)
- User profiles
- API Catalog (legacy API metadata separate from swagger)
- API Catalog (legacy API metadata separate from Swagger)
- Data models and data types (deprecated)

## Redis Implementation

An Entando Application can be configured to utilize an external [Redis](https://redis.io/) cache. In a Redis implementation of an Entando Application, the cache is deployed independently of the Entando App Engine and the App Engine is configured to connect to the deployed instance.
An Entando Application can be configured to utilize an external [Redis](https://redis.io/) cache. In a Redis implementation of an Entando Application, the cache is deployed independently of the Entando App Engine and the Engine is configured to connect to the deployed instance.

![Redis Caching](./img/redis-caching.png)
![Entando Architecture with Redis Caching](./img/redis-caching.png)

The Redis cache is not deployed by the Entando Operator and must be managed by a DevOps team member or Kubernetes cluster administrator.

Check out the [High Availability on Entando tutorial](../../tutorials/consume/high-availability.md#clustering) for more information and step-by-step instructions to use a Redis cache in an Entando Application.
Check out the [High Availability on Entando tutorial](../../tutorials/consume/high-availability.md#clustering) for more information and step-by-step instructions on using a Redis cache.

## Performance

Expand Down
Loading

0 comments on commit cf56c90

Please sign in to comment.