
Security News
Meet Socket at Black Hat Europe and BSides London 2025
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.
zengenti-forms-package
Advanced tools
This is a package to allow you to render Contensis forms in your react/redux app. There are a number of prerequisites in order to get this to work, they are as follows:
This is a package to allow you to render Contensis forms in your react/redux app. There are a number of prerequisites in order to get this to work, they are as follows:
npm i --save zengenti-forms-package
Import the sagas and add them to your rootSaga function: e.g.
import { sagas as formSagas } from 'zengenti-forms-package';
Import the reducer: e.g.
import { reducer as FormsReducer } from 'zengenti-forms-package';
and add it to your combineReducer function, ensure your reducer key is called form: e.g.
const reducers = { form: FormsReducer, ...otherReducers };
Import the server-side api proxy
import { formsApiProxy } from 'zengenti-forms-package/server';
Create the required api endpoints (where you would normally configure server-side features) by calling the imported function supplying the server-side express app instance e.g. formsApiProxy(app);
** this step is not required if you are overriding the rootUrl variable with FORMS_API_CONFIG
<Form> component and use it in JSX where it is needed: e.g.import { Form } from 'zengenti-forms-package';
and supply it with a valid formId prop: e.g.
<MyComponent>
<Form formId={1234} />
</MyComponent>
form containing these fields[]:"fields": [
{
"id": "formName",
"name": {
"en-GB": "Form Name"
},
"dataType": "string",
"dataFormat": "",
"description": {
"en-GB": null
},
"default": null,
"validations": {}
},
{
"id": "formId",
"name": {
"en-GB": "Form - Content ID"
},
"dataType": "string",
"dataFormat": "",
"description": {
"en-GB": null
},
"default": null,
"validations": {}
}
],
Then in your content type or composer content add an entry picker linking back to form content type, this will give the editor the ability to select a particular form entry from the form content type:
Essentially we are just trying to feed a prop called formId to the <Form ... /> component invocation.
You can pass in a localisedPhrases prop to the Form component. e.g. <Form formId={1234} localisedPhrases={...} />
This is an object type where keys relate to specific phrases in the form.
The value will be rendered wherever that phrase is used.
Currently available keys:
| key | type |
|---|---|
| required | string |
| optional | string |
| step | string |
| previousPage | string |
| nextPage | string |
| errorTitle | string |
Note: the form component does not handle any language switching itself. All the localisedPhrases prop does is display the value of what you are passing to the key.
<Form formId={1234} localisedPhrases={{
required: 'gofynnol',
optional: 'dewisol',
step: 'cam',
previousPage: 'blaenorol',
nextPage: 'nesaf',
errorTitle: 'Wps!',
}} />
Ensure a global variable is available called FORM_API_CONFIG containing any of the following values you wish to override:
const FORM_API_CONFIG = {
rootUrl: 'https://cms-mycms.cloud.contensis.com/',
getFormUrl: '/REST/Contensis/content/GetFormSettings',
uploadFileUrl: '/REST/UI/FormsModule/UploadFile',
};
This is normally available in a webpack file and added to the build via some define plugin.
** The server-side forms proxy will not be used if you are overriding rootUrl with the FORM_API_CONFIG global, instead this url will be called directly from the client
Recaptcha v2 support has been added. For those curious here is the implementation used: https://developers.google.com/recaptcha/docs/display#auto_render
Need a content type named formSettings
With a field named recaptchaSiteKey
The form component will check your project for that site key.
Run npm run start and check your network tab for results from 'gstatic.com' you should return a recaptcha__en.js file.
You will likely then get a message stating "Localhost is not in the list of supported domains".
More detail can be found here: https://developers.google.com/recaptcha/docs/faq#im-getting-an-error-localhost-is-not-in-the-list-of-supported-domains.-what-should-i-do
npm install
npm start
This project is licensed under the ISC License. For detailed terms, please refer to the license file included in this repository.
This project makes use of the following dependencies and data sources, which are governed by separate licenses:
caniuse-liteThe project indirectly utilizes data from caniuse-lite as part of its build tooling. The data, sourced from caniuse.com, is made available under the Creative Commons Attribution 4.0 International (CC BY 4.0) license. For more information, visit the repository.
spdx-exceptionsThis project indirectly references the spdx-exceptions package as part of its build tooling. Portions of the data used are derived from version 2.0 of the SPDX specification, licensed under the Creative Commons Attribution 3.0 Unported (CC-BY-3.0) license. For details, see the repository.
FAQs
This is a package to allow you to render Contensis forms in your react/redux app. There are a number of prerequisites in order to get this to work, they are as follows:
The npm package zengenti-forms-package receives a total of 159 weekly downloads. As such, zengenti-forms-package popularity was classified as not popular.
We found that zengenti-forms-package demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.