For more information and documentation visit: https://dev.entando.org, or https://forum.entando.org. Or for the latest news or product information please visit the main website: https://www.entando.com.
Information below is for running locally or building from source. For usage information see the links above.
The application uses .env
files to set up some environment variables.
Dev instances should be using the .env.development.local
file while production instances use .env.production
a boolean used to determine whether the API calls will be against a real Entando Core or if they are just being mocked internally.
a boolean used to enable EPC's MFE rendering on AppBuilder.
a boolean used to enable the mocking system based on MSW for MFE's, useful for development purpose.
a boolean used to reference the MFE static resources on the /
instead of entando-de-app/cmsresources
, this is useful for testing with a local static server without infrastructure.
a boolean used to reference the MFE static resources on entando-de-app/cmsresources
, this is useful for testing in remote cluster with a local AppBuilder instance.
a string representing the domain name of the Entando Core instance. The protocol is optional and it is possible to specify a subdirectory of the domain. Trailing slashes are valid (but will automatically be removed) and it only validates up to 3rd level domains.
All the following would be valid values:
- http://my.entando.com
- https://my.entando.com
- //my.entando.com
- //my.entando.com/entando-sample
string used for the client id during the OAUTH2 authentication process. Not needed if you're using Keycloak.
string used for the client secret during the OAUTH2 authentication process. Not needed if you're using Keycloak.
a boolean used to determine whether the Component Repository (former Digital Exchange) should be enabled or not.
a boolean that enables authentication through Keycloak. Won't be used if USE_MOCKS
is set to true.
a string containing the path for Keycloak JSON configuration reading endpoint. This is a sample response:
{
"realm":"entando",
"auth-server-url":"http://my.entando.com/auth",
"ssl-required":"external",
"resource":"entando-web",
"public-client":true
}
KEYCLOAK_JSON
won't be used if KEYCLOAK_ENABLED
is set to false
.
KEYCLOAK_JSON
will be appended to DOMAIN
as default if DOMAIN
is set.
That means, for instance, if DOMAIN
=https://my.entando.com, KEYCLOAK_ENABLED
=true and no KEYCLOAK_JSON
set, then KEYCLOAK_JSON
will fallback to https://my.entando.com/keycloak.json
).
For further information about Keycloak installation and configuration, see the official Keycloak website.
Current Keycloak supported version is 11.0.x.
For information how to run app-builder
locally with keycloak
check this readme
USE_MOCKS=false
DOMAIN=//my.entando.com
- Make sure to have
git
,npm
+node
installed and up to date. npm install
: installs npm dependencies.
npm run lint
: runs the linter. It fails if linting rules are not matched.npm run coverage
: runs unit tests. It fails if an unit test fails, or if the minimum coverage threshold is not met.npm run import-plugins
: compiles and imports Entando plugins.npm run build
: compiles the project and creates thebuild
directory.npm run build-full
: runsnpm run lint
,npm run coverage
,npm run import-plugins
andnpm run build
npm start
: starts the application in dev mode (local web server)
This app uses SASS to manage stylesheets.
The style files are located in the src/sass
directory, with the following structure:
sass
├── app
| ├── _App.scss // SASS file for the App component
| └── _TopNavbar.scss // SASS file for the TopNavbar component
├── index.scss // file containing all the SASS imports
└── index.css // output CSS file
The .scss
file names are prefixed with _
in order to avoid the SASS compiler to generate their own output CSS file. All the output CSS should be included in sass/index.scss
.
The app
directory is a domain directory. Domain directories are used to organize files into relevant categories (e.g. there could be also an users
domain directory, containing all the style files of components related to users).
Each Component should have its own .scss
file, and domain directories should reflect those used in the src/ui
directory.
This app uses react-intl
for internationalization.
Translation files are .js
files placed under src/locales
directory, one for each supported language. The files are named after their language ISO 639-1 code, e.g.
src
└── locales
├── en.js
└── it.js
Api requests are being done using @entando/apimanager
.
For more information checkout the documentation on NPM.
For information on the app-builder
apps check its readme