diff --git a/CHANGELOG.md b/CHANGELOG.md
index ca57fa5712..be5004658e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,78 @@
Mark items as `Added`, `Changed`, `Fixed`, `Removed`, `Untested Features`, `Upcoming Features`, `Known Issues`
+## 5.2.0 - 2023-06-30
+
+`Added`
+
+**forms-flow-web**
+
+* Added `Form bundling` premium feature, refer [here](https://aot-technologies.github.io/forms-flow-ai-doc/#formBundling) for more details.
+* Added RBAC(Role Based Access Control) support in form listing for designer and client.
+* Added admin module for adding keycloak roles and user assignment.
+* Added formsflow-admin group for RBAC support.
+
+
+**forms-flow-web-root-config**
+
+* Added micro-frontend integration using single-spa, for more details checkout [here](./forms-flow-web-root-config/README.md#integrate-micro-front-end-modules-into-host-applications).
+* Added environment variables `MF_FORMSFLOW_WEB_URL`, `MF_FORMSFLOW_NAV_URL`, `MF_FORMSFLOW_SERVICE_URL`, `MF_FORMSFLOW_ADMIN_URL`, `MF_FORMSFLOW_THEME_URL` to get MicroFrontend Components Created.
+* Added environment variables `ENABLE_FORMS_MODULE`, `ENABLE_TASKS_MODULE`, `ENABLE_DASHBOARDS_MODULE`, `ENABLE_PROCESSES_MODULE`, `ENABLE_APPLICATIONS_MODULE` to disable a particular module in forms-flow-web.
+* Added environment variable `CUSTOM_THEME_URL` for providing theming configuration.
+
+
+**forms-flow-bpm**
+
+* Added migration to support new Role Based Access(RBAC) with existing camunda authorizations.
+
+**forms-flow-api**
+
+* Added RBAC(Role Based Access Control) support in form listing for designer and client.
+* Added migration script for existing users to get all forms listed, checkout [here]( ./forms-flow-api/README.md#migration-script-for-existing-users).
+* Added admin module for adding keycloak roles and user assignment.
+* Added formsflow-admin group for RBAC support.
+
+
+`Modified`
+
+**forms-flow-web**
+
+* Application history is modified to Application status and Request status.
+* Environment variable `USER_ACCESS_PERMISSIONS` is replaced with `ENABLE_APPLICATION_ACCESS_PERMISSION_CHECK` to enable Role level permission.
+
+**forms-flow-analytics**
+
+* Redash upgraded from version 10.1.4 to 10.1.5.
+
+`forms-flow-api`
+
+*Upgrade notes:*
+
+* Flask upgraded from version 2.1.3 to 2.3.2.
+
+
+`Fixed`
+
+**forms-flow-web**
+
+* Fixed resubmit issue in form adapter for custom submission.
+
+**forms-flow-bpm**
+
+* Task list variables not updated on re-submission by client issue fixed.
+
+`Generic Changes`
+
+* forms-flow-web is replaced by forms-flow-web-root-config as the deafult web application, for the setup refer [here](./forms-flow-web-root-config)
+* Added Micro-frontend feature to enable component level customisation which includes
+ * forms-flow-admin (includes functionalities available for the user with admin privilages)
+ * forms-flow-navbar (trigger the routing, internationalization, and login/logout functionalities for all users)
+ * forms-flow-service (contains all the common functionalties used by micro front-ends like authentication service, storage APIs etc.)
+ * forms-flow-theme (contains the common style sheet shared by all micro-front-ends)
+ Refer the [forms-flow-ai-micro-front-ends](https://github.com/AOT-Technologies/forms-flow-ai-micro-front-end) repository for further details.
+* Dashboard authorization is moved from designer role to admin user.
+
+
## 5.1.1 - 2023-05-18
`Added`
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
index c9d4b7223b..a922aff040 100644
--- a/DEPENDENCIES.md
+++ b/DEPENDENCIES.md
@@ -8,7 +8,7 @@ In the following document, we’ll describe the details of dependencies of vario
| Component | Version|
| --- | ----- |
- | Redash | 10.1.4 |
+ | Redash | 10.1.5 |
@@ -19,7 +19,7 @@ In the following document, we’ll describe the details of dependencies of vario
| Component | Version |
| --- | ----- |
| Python | 3.9 |
- | Flask | 2.1.3 |
+ | Flask | 2.3.2 |
| Postgres | 11.0 |
@@ -30,8 +30,8 @@ In the following document, we’ll describe the details of dependencies of vario
| Component | Version|
| --- | ----- |
- | Camunda | 7.18|
- | SpringBoot | 2.7.11 |
+ | Camunda | 7.18.0|
+ | SpringBoot | 2.7.12 |
| Postgres | Latest |
@@ -69,3 +69,14 @@ In the following document, we’ll describe the details of dependencies of vario
| React | 17.0.2 |
| Formio | 2.4.1 |
+
+## 7. forms-flow-web-root-config
+
+ To create new front-end modules
+
+ | Component | Version |
+ | --- | --- |
+ | React | 17.0.2 |
+ | Formio | 2.4.1 |
+ | Webpack| 5.76.0|
+
diff --git a/deployment/README.md b/deployment/README.md
index 37f3a3b438..784f32e5ef 100644
--- a/deployment/README.md
+++ b/deployment/README.md
@@ -64,7 +64,8 @@ Install the components in the listed order. *(NOTE: Keycloak, form.io and redash
* [forms-flow-analytics](../forms-flow-analytics) Redash analytics components
* [forms-flow-bpm](../forms-flow-bpm) Camunda Workflow deployment and integration
* [forms-flow-api](../forms-flow-api) REST API of formsflow.ai
- * [forms-flow-web](../forms-flow-web) formsflow.ai integration web UI
+ * [forms-flow-web-root-config](../forms-flow-web-root-config) formsflow.ai integration web UI
+ * [forms-flow-web](../forms-flow-web) formsflow.ai custom web UI
### Openshift Based Installation
@@ -82,6 +83,7 @@ Install the components in the listed order. *(NOTE: Keycloak, form.io and redash
1|`Keycloak`|Authentication|`http://localhost:8080`| `admin/changeme`
2|`forms-flow-forms`|form.io form building. This must be started earlier for resource role id's creation|`http://localhost:3001`|`admin@example.com/changeme`
3|`forms-flow-analytics`|Redash analytics server, This must be started earlier for redash key creation|`http://localhost:7000`|Use the credentials used for registration / [Default user credentials](../forms-flow-idm/keycloak/README.md#formsflow-ai-user-credentials)
-4|`forms-flow-web`|formsflow Landing web app|`http://localhost:3000`|[Default user credentials](../forms-flow-idm/keycloak/README.md#formsflow-ai-user-credentials)
+4|`forms-flow-web-root-config`|formsflow Landing web app|`http://localhost:3000`|[Default user credentials](../forms-flow-idm/keycloak/README.md#formsflow-ai-user-credentials)
5|`forms-flow-api`|API services|`http://localhost:5000`|`Authorization tocken from keycloak role based user credentials`
6|`forms-flow-bpm`|Camunda integration|`http://localhost:8000/camunda`| [Default user credentials](../forms-flow-idm/keycloak/README.md#formsflow-ai-user-credentials)
+7|`forms-flow-web`|Custom web UI|`http://localhost:3004`|[Default user credentials](../forms-flow-idm/keycloak/README.md#formsflow-ai-user-credentials)
diff --git a/forms-flow-analytics/README.md b/forms-flow-analytics/README.md
index df6a0a3862..3576933cca 100644
--- a/forms-flow-analytics/README.md
+++ b/forms-flow-analytics/README.md
@@ -1,6 +1,6 @@
# Analytics Engine
-
+
**formsflow.ai** leverages [Redash](https://github.com/getredash/redash) to build interactive
dashboards and gain insights. To create meaningful visualization for
diff --git a/forms-flow-api-utils/README.md b/forms-flow-api-utils/README.md
index 25fe5d5d22..f108183341 100644
--- a/forms-flow-api-utils/README.md
+++ b/forms-flow-api-utils/README.md
@@ -1,6 +1,6 @@
# formsflow.ai UTILS
-  
+  
[](https://pycqa.github.io/isort/) [](https://github.com/psf/black)[](https://github.com/PyCQA/pylint)
diff --git a/forms-flow-api/README.md b/forms-flow-api/README.md
index 326a091bcc..5a910ad4de 100644
--- a/forms-flow-api/README.md
+++ b/forms-flow-api/README.md
@@ -1,7 +1,7 @@
# formsflow.ai API
[](https://github.com/AOT-Technologies/forms-flow-ai-dev/actions)
-  
+  
[](https://pycqa.github.io/isort/) [](https://github.com/psf/black)[](https://github.com/PyCQA/pylint)
**formsflow.ai** has built this adaptive tier for correlating form management, BPM and analytics together.
@@ -19,6 +19,7 @@ the system. It is built using Python :snake: .
* [Step 4 : Verify the Application Status](#verify-the-application-status)
3. [API Documentation](#api-documentation)
4. [Unit Testing](#unit-testing)
+5. [Migration Script for existing users](#migration-script-for-existing-users) (For listing existing forms for clients)
## Prerequisites
@@ -147,6 +148,13 @@ Things to note when writing tests:
* Isolated: Each test should be an introvert, working in their own isolated bubble. You should never have to think about what other tests have put in the database.
* Tests functions should contain always `app, client, session`
+## Migration Script for existing users
+
+#### If existing forms are to be listed for clients, you need to migrate the existing Camunda authorizations.
For this, do the following:
+* Run a bash script inside the forms-flow-api. If you need to run this script in the instance or server, such as a Kubernetes cluster or Nginx, you have to access the Docker container of the FormsFlow web API and execute the bash script called [migration.sh](./migration.sh).
+* Alternatively, if you are setting up the environment locally and running the Docker container locally, you can get inside the FormsFlow web API container and run the `migration.sh` command.
+* In the case of running the web API with Flask locally, you should activate the virtual environment and run the bash script within it. You can create the virtual environment by following the instructions provided in the [Makefile](./Makefile) inside the forms-flow-api.
+
#### References for Testing in Python
* [pytest](https://docs.pytest.org/en/latest/getting-started.html)
diff --git a/forms-flow-bpm/README.md b/forms-flow-bpm/README.md
index 336127da74..123fa933b2 100644
--- a/forms-flow-bpm/README.md
+++ b/forms-flow-bpm/README.md
@@ -1,7 +1,7 @@
# Workflow Engine
[](https://github.com/AOT-Technologies/forms-flow-ai-dev/actions)
-  
+  
**formsflow.ai** leverages Camunda for workflow and decision automation.
To know more about Camunda, visit https://camunda.com/.
diff --git a/forms-flow-data-analysis-api/README.md b/forms-flow-data-analysis-api/README.md
index 57060a168a..8956eb2a78 100644
--- a/forms-flow-data-analysis-api/README.md
+++ b/forms-flow-data-analysis-api/README.md
@@ -1,8 +1,8 @@
# formsflow.ai Sentiment Analysis Component
-  
-
-
+  
+
+
Sentiment Analysisis used to understand the sentiments of the customer for products, movies, and other such things, whether they feel positive, negative, or neutral about it. BERT is a very good pre-trained language model which helps machines learn excellent representations of text with respect to context in many natural language tasks.
diff --git a/forms-flow-documents/README.md b/forms-flow-documents/README.md
index 94d45dc527..cb79702e0c 100644
--- a/forms-flow-documents/README.md
+++ b/forms-flow-documents/README.md
@@ -1,6 +1,6 @@
# formsflow.ai Documents API
-  
+  
[](https://pycqa.github.io/isort/) [](https://github.com/psf/black)
[](https://github.com/PyCQA/pylint)
diff --git a/forms-flow-web-root-config/LICENSE b/forms-flow-web-root-config/LICENSE
new file mode 100644
index 0000000000..cc235ca76b
--- /dev/null
+++ b/forms-flow-web-root-config/LICENSE
@@ -0,0 +1,203 @@
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ Copyright 2020 AppsOnTime Technologies Ltd.
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/forms-flow-web-root-config/README.md b/forms-flow-web-root-config/README.md
index 8a471ff3e7..acb9df2693 100644
--- a/forms-flow-web-root-config/README.md
+++ b/forms-flow-web-root-config/README.md
@@ -1,9 +1,131 @@
-# Integrate micro front-end modules into host applications.
+# formsflow.ai Web Application
+
+
+
+
+
+**formsflow.ai** delivers progressive web application with React version `17.0.2` and webpack version `5.76.0`. Also currently uses [form.io](https://github.com/formio/formio) version `2.4.1`.
+
+A React library for rendering out forms based on the form.io platform.
The formsflow.ai micro-front ends are built with [create-single-spa](https://single-spa.js.org/docs/create-single-spa),
which can be used to create new front-end modules and migrate existing projects. All front-end modules require a root config to work.
The root config is responsible for orchestrating the modules, routing, and distributing the configurations.
+
+## Table of Content
+1. [Prerequisites](#prerequisites)
+2. [Solution Setup](#solution-setup)
+ - [Step 1 : Keycloak Setup](#keycloak-setup)
+ - [Step 2 : Installation](#installation)
+ - [Step 3 : Running the Application](#running-the-application)
+ - [Step 4 : Health Check](#health-check)
+3. [How to Create Your First Form](#how-to-create-your-first-form)
+4. [Logo change](#logo-change)
+5. [Integrate micro front-end modules into host applications](#integrate-micro-front-end-modules-into-host-applications)
+6. [Additional reference](#additional-reference)
+
+## Prerequisites
+
+* For docker based installation [Docker](https://docker.com) need to be installed.
+* Admin access to a [Keycloak](https://www.keycloak.org/) server. For local development / testing follow [Keycloak installation](../forms-flow-idm/keycloak).
+* Please make sure the [Formio server](../forms-flow-forms/) is up and running.
+
+## Solution Setup
+
+### Keycloak Setup
+
+***Skip this step if you are already having a setup ready.***
+
+* Detailed instructions on setting up Keycloak for **formsflow.ai web application**
+is mentioned on the [link](../forms-flow-idm/keycloak/README.md#create-forms-flow-web-client).
+
+### Installation
+
+ * Make sure you have a Docker machine up and running.
+ * Make sure your current working directory is "forms-flow-ai/forms-flow-web-root-config".
+ * *Skip this if forms-flow-analytics setup is completed* - Start the **analytics server** by following the instructions given on [readme](../forms-flow-analytics/README.md)
+ * Rename the file [sample.env](./sample.env) to **.env**.
+ * Modify the environment variables in the newly created **.env** file if needed. Environment variables are given in the table below,
+ * **NOTE : {your-ip-address} given inside the .env file should be changed to your host system IP address. Please take special care to identify the correct IP address if your system has multiple network cards**
+
+> :information_source: Variables with trailing :triangular_flag_on_post: in below table should be updated in the .env file
+
+ Variable name | Meaning | Possible values | Default value |
+ --- | --- |----------| ---
+ `MF_FORMSFLOW_WEB_URL`:triangular_flag_on_post:| For running locally/ if have custom changes | `//forms-flow-microfrontends.aot-technologies.com/forms-flow-web@v5.2.0/forms-flow-web.gz.js`
For custom changes: `http://{your-ip-address}:3004/forms-flow-web.js` | `//forms-flow-microfrontends.aot-technologies.com/forms-flow-web@v5.2.0/forms-flow-nav.gz.js`
+ `MF_FORMSFLOW_NAV_UR`:triangular_flag_on_post:|For custom implementation of Navbar component, refer [here](https://github.com/AOT-Technologies/forms-flow-ai-micro-front-ends/tree/main/forms-flow-nav)| |`//forms-flow-microfrontends.aot-technologies.com/forms-flow-nav@v5.2.0/forms-flow-nav.gz.js`
+ `MF_FORMSFLOW_SERVICE_URL`:triangular_flag_on_post:|For custom implementation of Service component, refer [here](https://github.com/AOT-Technologies/forms-flow-ai-micro-front-ends/tree/main/forms-flow-service)| |`//forms-flow-microfrontends.aot-technologies.com/forms-flow-nav@v5.2.0/forms-flow-service.gz.js`
+ `MF_FORMSFLOW_ADMIN_URL`:triangular_flag_on_post:|For custom implementation of Admin component, refer [here](https://github.com/AOT-Technologies/forms-flow-ai-micro-front-ends/tree/main/forms-flow-admin)| |`//forms-flow-microfrontends.aot-technologies.com/forms-flow-nav@v5.2.0/forms-flow-admin.gz.js`
+ `MF_FORMSFLOW_THEME_URL`:triangular_flag_on_post:| For custom implementation of Theme component, refer [here](https://github.com/AOT-Technologies/forms-flow-ai-micro-front-ends/tree/main/forms-flow-theme) | | `//forms-flow-microfrontends.aot-technologies.com/forms-flow-nav@v5.2.0/forms-flow-theme.gz.js`
+ `NODE_ENV`| Define project level configuration | `development, test, production` | `production`
+ `FORMIO_DEFAULT_PROJECT_URL`:triangular_flag_on_post:|The URL of the form.io server| |`http://{your-ip-address}:3001`
+ `KEYCLOAK_WEB_CLIENTID`|Your Keycloak Client ID within the realm| eg. forms-flow-web | `forms-flow-web`
+ `KEYCLOAK_URL_REALM`| The Keycloak realm to use| eg. forms-flow-ai | `forms-flow-ai`
+ `KEYCLOAK_URL`:triangular_flag_on_post:| URL to your Keycloak server | | `http://{your-ip-address}:8080`
+ `FORMSFLOW_API_URL`:triangular_flag_on_post:|formsflow Rest API URL| |`http://{your-ip-address}:5000/api`
+ `BPM_API_URL`:triangular_flag_on_post:|Camunda Rest API URL| |`http://{your-ip-address}:8000/camunda`
+ `WEBSOCKET_ENCRYPT_KEY`|Camunda task event streaming. AES encryption of token| | `giert989jkwrgb@DR55`
+ `APPLICATION_NAME`|Application name is used to provide clients application name|
+ `DOCUMENT_SERVICE_URL`|Formsflow document service api url| |`http://{your-ip-address}:5006`
+ `EXPORT_PDF_ENABLED`|Manage export to pdf feature| true/false
+ `PUBLIC_WORKFLOW_ENABLED`|Enable creating workflow for all tenants
+ `DRAFT_POLLING_RATE`|Control draft timing| |1500
+ `DRAFT_ENABLED`|Enable draft feature| true/false
+ `DRAFT_POLLING_RATE`|Control draft timing| |15000
+ `DRAFT_ENABLED`|Enable draft feature| true/false
+ `CUSTOM_SUBMISSION_ENABLED`|Custom Submission Enable for support form adapter| | false
+ `CUSTOM_SUBMISSION_URL`|Custom Submission Enable for support form adapter| URL of custom submission |
+ `ENABLE_APPLICATION_ACCESS_PERMISSION_CHECK`|To Enable Role level permission check for enabling Application| true/false | false
+ `CUSTOM_THEME_URL`|For providing theming configuration in a url| URL of custom theme that returns json format
+ `MULTI_TENANCY_ENABLED`|Multi tenancy enabled flag for the environment| true/false | false |
+ `KEYCLOAK_ENABLE_CLIENT_AUTH`|Client auth mechanism| |`false`
+ `MT_ADMIN_BASE_URL`|Multitenancy admin url| |`http://{your-ip-address}:5010/api`
+ `MT_ADMIN_BASE_URL_VERSION`|Version of multitenancy admin| v1
+ `ENABLE_FORMS_MODULE`|To enable/disable forms module in forms-flow-web| true/false | true
+ `ENABLE_TASKS_MODULE`|To enable/disable tasks module in forms-flow-web| true/false | true
+ `ENABLE_DASHBOARDS_MODULE`|To enable/disable dashboards module in forms-flow-web| true/false | true
+ `ENABLE_PROCESSES_MODULE`|To enable/disable processes module in forms-flow-web| true/false | true
+ `ENABLE_APPLICATIONS_MODULE`|To enable/disable applications module in forms-flow-web| true/false | true
+
+
+
+
+
+
+
+
+
+* NOTE - While configuring ENABLE_APPLICATION_ACCESS_PERMISSION_CHECK the accessAllowApplications will hide / show application tab. To enable this feature you need to add access-allow-applications with the user group in keycloak.
+
+
+
+### Running the application
+
+ * forms-flow-webapi service uses port 5000, make sure the port is available.
+ * `cd {Your Directory}/forms-flow-ai/forms-flow-web-root-config`
+ * Run `docker-compose up -d` to start.
+
+*NOTE: Use --build command with the start command to reflect any future **.env** changes eg : `docker-compose up --build -d`*
+
+#### To stop the application
+ * Run `docker-compose stop` to stop.
+
+### Health Check
+
+ * The application should be up and available for use at port defaulted to 3004 in http://localhost:3000/
+ * Default user credentials are provided [here](../forms-flow-idm/keycloak/README.md#formsflow-ai-user-credentials).
+
+### How to Create Your First Form
+ * Users can create their own form, check [here](https://aot-technologies.github.io/forms-flow-ai-doc/#examples) for more details.
+
+### Logo change
+ * Default Logo can be changed to the users logo by replacing the logo.svg in public folder of forms-flow-web-root-config.
+ The default width and height of the logo is 50 and 55 also the image format is svg
+ * The icon can also be replaced to the users icon by replacing the favicon in the public folder of forms-flow-web
+
+# Integrate micro front-end modules into host applications
+
Please follow the appropriate case for the integration.
Case 1: Creating a brand new application where formsflow.ai modules are to be integrated.
@@ -80,7 +202,7 @@ Steps:
we already containerized the root config implementation of formsflow.ai. [Ref](https://github.com/AOT-Technologies/forms-flow-ai/tree/5.2.0-alpha/forms-flow-web-root-config)
-# Integrate new modules into formsflow.ai
+### Integrate new modules into formsflow.ai
Integrating new module into formsflow is straight forward but the module should have the following prerequisites.
@@ -91,3 +213,10 @@ Integrating new module into formsflow is straight forward but the module should
- Update the import maps with the new module.
- Update the layout and specify the path to activate the module (Not applicable for utility modules).
- We recommend using single-spa CLI to create new module.
+
+### Additional reference
+
+For more details of customisation and features provided in web application, refer [here](../forms-flow-web/README.md)
+
+
+
diff --git a/forms-flow-web-root-config/public/config/config.sample.js b/forms-flow-web-root-config/public/config/config.sample.js
index c51e8d30d3..18d35d384b 100644
--- a/forms-flow-web-root-config/public/config/config.sample.js
+++ b/forms-flow-web-root-config/public/config/config.sample.js
@@ -4,29 +4,35 @@ window["_env_"] = {
// Environment Variables for forms-flow-web
/* URL of forms-flow-forms
- Form-IO API-URL */
+ Form-IO API-URL, default: https://{your-ip-address}:5000/api */
REACT_APP_API_SERVER_URL: "",
- // Form-IO API-PROJECT-URL
+
+ // Form-IO API-PROJECT-URL, default: http://{your-ip-address}:3001
REACT_APP_API_PROJECT_URL: "",
+
// Keycloak-client-name for web
REACT_APP_KEYCLOAK_CLIENT: "forms-flow-web",
// Keycloak-Realm-name
REACT_APP_KEYCLOAK_URL_REALM: "forms-flow-ai",
- // Keycloak URL
+ // Keycloak URL, default: http://{your-ip-address}:8080
REACT_APP_KEYCLOAK_URL: "",
//// Environment Variables for forms-flow-bpm ////
- // bpm base api
+ // bpm base api, default: http://{your-ip-address}:8000/camunda
REACT_APP_BPM_URL: "",
- REACT_APP_WEBSOCKET_ENCRYPT_KEY: "",
- // web Api End point
+//Web Socket encrypt key for Socket IO
+ REACT_APP_WEBSOCKET_ENCRYPT_KEY: "giert989jkwrgb@DR55",
+
+ // web Api End point, default: http://{your-ip-address}:3004/single-spa-build.js
REACT_APP_WEB_BASE_URL: "",
// application name
REACT_APP_APPLICATION_NAME: "formsflow.ai",
- // custom url to set into local Storage
+
+ // custom url to set into local Storage, eg: https://formsflow.ai
REACT_APP_WEB_BASE_CUSTOM_URL: "",
+
// For Custom Submission/Form Adapter Enabled
REACT_APP_CUSTOM_SUBMISSION_URL: "",
REACT_APP_CUSTOM_SUBMISSION_ENABLED: false,
@@ -37,14 +43,14 @@ window["_env_"] = {
// Enable Export Pdf feature
REACT_APP_EXPORT_PDF_ENABLED: false,
- // Document Service api hosted from forms-flow-documents
+ // Document Service api hosted from forms-flow-documents, default: http://{your-ip-address}:5006
REACT_APP_DOCUMENT_SERVICE_URL: "",
// Enable Multitenancy
REACT_APP_MULTI_TENANCY_ENABLED: false,
// Enable creating workflow for all tenants
REACT_APP_PUBLIC_WORKFLOW_ENABLED: false,
- // Multitenancy Admin Api endpoint Required only if Multitenancy is enabled
+ // Multitenancy Admin Api endpoint Required only if Multitenancy is enabled, default: http://{your-ip-address}:5010/api
REACT_APP_MT_ADMIN_BASE_URL: "",
// Version of multitenancy admin api
REACT_APP_MT_ADMIN_BASE_URL_VERSION: "v1",
@@ -54,11 +60,11 @@ window["_env_"] = {
REACT_APP_KEYCLOAK_ENABLE_CLIENT_AUTH: false,
// Only use if need to disable a particular module in forms-flow-web, default is true for all.
- REACT_APP_ENABLE_FORMS_MODULE: true,
- REACT_APP_ENABLE_TASKS_MODULE: true,
- REACT_APP_ENABLE_DASHBOARDS_MODULE: true,
- REACT_APP_ENABLE_PROCESSES_MODULE: true,
- REACT_APP_ENABLE_APPLICATIONS_MODULE: true,
+ REACT_APP_ENABLE_FORMS_MODULE: true,
+ REACT_APP_ENABLE_TASKS_MODULE: true,
+ REACT_APP_ENABLE_DASHBOARDS_MODULE: true,
+ REACT_APP_ENABLE_PROCESSES_MODULE: true,
+ REACT_APP_ENABLE_APPLICATIONS_MODULE: true,
/* Used for providing theming configuration in a url that returns json format
Example to change the theme a theme.json can be given with content:
@@ -69,4 +75,4 @@ window["_env_"] = {
}`
*/
// REACT_APP_CUSTOM_THEME_URL: "",
-};
\ No newline at end of file
+};
diff --git a/forms-flow-web-root-config/sample.env b/forms-flow-web-root-config/sample.env
index f34d68ce6e..4986895b1a 100644
--- a/forms-flow-web-root-config/sample.env
+++ b/forms-flow-web-root-config/sample.env
@@ -6,7 +6,11 @@
# Build variables, mandatory for build time for building custom images
-#The MF Variables below are used to get MicroFrontend Components Created
+#To define project level configuration possible values development,test,production
+#NODE_ENV=production
+
+#++++++++++++++--- MF Variables to get MicroFrontend Components Created - START ---+++++++++++++++++++++++#
+
##For running locally or if have custom changes then change the url to the one forms-flow-web folder content is running
#MF_FORMSFLOW_WEB_URL=https://forms-flow-microfrontends.aot-technologies.com/forms-flow-web@v5.2.0/forms-flow-web.gz.js
@@ -14,22 +18,26 @@
#TODO only for Customised Local delevelopment with code from forms-flow-web folder content use below default values instead
#MF_FORMSFLOW_WEB_URL=//{your-ip-address}:3004/forms-flow-web.js
+## Use this as default values
+## (Note: https://forms-flow-microfrontends.aot-technologies.com/{MF-componet-name}@{version}/{MF-componet-name}.gz.js, will be the default format )
## Refer Github Repo https://github.com/AOT-Technologies/forms-flow-ai-micro-front-ends and update to your own custom implementation for the Components here
#MF_FORMSFLOW_NAV_URL=https://forms-flow-microfrontends.aot-technologies.com/forms-flow-nav@v5.2.0/forms-flow-nav.gz.js
#MF_FORMSFLOW_SERVICE_URL=https://forms-flow-microfrontends.aot-technologies.com/forms-flow-service@v5.2.0/forms-flow-service.gz.js
#MF_FORMSFLOW_ADMIN_URL=https://forms-flow-microfrontends.aot-technologies.com/forms-flow-admin@v5.2.0/forms-flow-admin.gz.js
#MF_FORMSFLOW_THEME_URL=https://forms-flow-microfrontends.aot-technologies.com/forms-flow-theme@v5.2.0/forms-flow-theme.gz.js
+#OR
+
#TODO only for Customised Local delevelopment with code from https://github.com/AOT-Technologies/forms-flow-ai-micro-front-ends use below default values instead
#MF_FORMSFLOW_NAV_URL=//{your-ip-address}:3005/forms-flow-nav.js
#MF_FORMSFLOW_ADMIN_URL=//{your-ip-address}:3006/forms-flow-admin.js
#MMF_FORMSFLOW_SERVICE_URL=://{your-ip-address}:3007/forms-flow-service.js
#MF_FORMSFLOW_THEME_URL=//{your-ip-address}:3008/forms-flow-theme.js
+#++++++++++++++--- MF Variables to get MicroFrontend Components Created - STOP ---+++++++++++++++++++++++#
+
# Runtime variables
-#To define project level configuration possible values development,test,production
-#NODE_ENV=production
#URL of forms-flow-forms
FORMIO_DEFAULT_PROJECT_URL=http://{your-ip-address}:3001
diff --git a/forms-flow-web/README.md b/forms-flow-web/README.md
index 990363b9db..8e71f21c1c 100644
--- a/forms-flow-web/README.md
+++ b/forms-flow-web/README.md
@@ -10,6 +10,8 @@ Also **formsflow.ai** provides a Vue.js based web user interface for easy integr
[formsflow-ai-extension repository](https://github.com/AOT-Technologies/forms-flow-ai-extensions/tree/master/camunda-formio-tasklist-vue), which can be easily intergrated
with your project by installing our [npm package](https://www.npmjs.com/package/camunda-formio-tasklist-vue).
+This component helps to create a customised web application.
+
## Table of Content
1. [Prerequisites](#prerequisites)
2. [Solution Setup](#solution-setup)
@@ -18,9 +20,8 @@ with your project by installing our [npm package](https://www.npmjs.com/package/
- [Step 3 : Running the Application](#running-the-application)
- [Step 4 : Health Check](#health-check)
3. [How to Create Your First Form](#how-to-create-your-first-form)
-4. [Logo change](#logo-change)
-5. [Code coverage](#code-coverage)
-6. [Internationalization](#internationalization)
+4. [Code coverage](#code-coverage)
+5. [Internationalization](#internationalization)
## Prerequisites
@@ -40,6 +41,7 @@ is mentioned on the [link](../forms-flow-idm/keycloak/README.md#create-forms-flo
### Installation
* Make sure you have a Docker machine up and running.
+ * Follow the steps mentioned [here](../forms-flow-web-root-config/README.md#installation)
* Make sure your current working directory is "forms-flow-ai/forms-flow-web".
* *Skip this if forms-flow-analytics setup is completed* - Start the **analytics server** by following the instructions given on [readme](../forms-flow-analytics/README.md)
* Rename the file [sample.env](./sample.env) to **.env**.
@@ -98,11 +100,6 @@ is mentioned on the [link](../forms-flow-idm/keycloak/README.md#create-forms-flo
* Click the button **+ Create Form** to launch the form designer studio.
* Design the form using **Drag and Drop** of components from LHS to RHS and publish by clicking the button **Create Form**.
-### Logo change
- * Default Logo can be changed to the users logo by replacing the logo.svg in public folder of forms-flow-web.
- The default width and height of the logo is 50 and 55 also the image format is svg
- * The icon can also be replaced to the users icon by replacing the favicon in the public folder of forms-flow-web
-
### Code coverage
* Test cases for the files are provided at forms-flow-web using [testing-library/jest-dom](https://testing-library.com/docs/ecosystem-jest-dom/) , [testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) , [msw](https://mswjs.io/) and [redux-mock-store](https://www.npmjs.com/package/redux-mock-store).
diff --git a/jobs/sentiment-analysis/README.md b/jobs/sentiment-analysis/README.md
index 337f278818..46569a3a8e 100644
--- a/jobs/sentiment-analysis/README.md
+++ b/jobs/sentiment-analysis/README.md
@@ -1,6 +1,6 @@
## formsflow.ai Sentiment Analysis Job
-  
+  
### About Sentiment Analysis model
Please [see](../../forms-flow-data-analysis-api/README.md) for details on sentiment analysis.