Global Survey Settings#
This document describes the global “Forms Settings” for the Plone SurveyJS add-on. It is based on the available screenshots and covers all tabs shown in that UI. Defaults reflect the values visible in the screenshots; adjust them if your installation ships different defaults.
SurveyJS#
These settings control licensing for the SurveyJS components.
Setting |
Possible values |
Default value |
Explanation |
|---|---|---|---|
SurveyJS License Key |
SurveyJS license string (text) / empty |
Empty (unless configured) |
Optional license key used to unlock commercial SurveyJS components. Leave empty to run in evaluation or open-source mode. Store the key exactly as provided by SurveyJS; whitespace or line breaks will invalidate it. |
AI Provider#
These settings select which LLM provider is used for AI-assisted form generation and how it is authenticated.
Setting |
Possible values |
Default value |
Explanation |
|---|---|---|---|
AI Model |
Model identifier string |
|
Name of the model passed to the LLM provider when generating forms. Use provider-specific identifiers (e.g., |
API Key |
Provider API key (secret text) / empty |
Empty |
Secret key used to authenticate with the selected LLM provider. Stored securely by the add-on. If empty, AI generation will fail unless the provider is configured via environment variables or another external mechanism. |
Ollama URL |
URL (HTTP/HTTPS) / empty |
Empty |
Optional base URL of an Ollama server (for example, |
AI Prompts#
These settings define the prompt scaffolding used around the user’s input when building a form. All fields are optional and can be used independently.
Setting |
Possible values |
Default value |
Explanation |
|---|---|---|---|
Prompt before |
Multi-line text / empty |
Empty |
Instructions inserted before the user’s prompt. Use this to enforce global rules, tone, or formatting requirements for generated forms. Keeping it short reduces the risk of prompt conflicts. |
Default prompt |
Multi-line text / empty |
Empty |
Prefilled text shown to the user as a starting prompt. This does not automatically prepend or append to the user’s final prompt; it only provides default input text. |
Prompt after |
Multi-line text / empty |
Empty |
Instructions appended after the user’s prompt. Use this to add constraints or mandatory output structure while still letting users supply their own content. |
Logging#
These settings control what additional client metadata is stored alongside form submissions.
Setting |
Possible values |
Default value |
Explanation |
|---|---|---|---|
Log IP addresses |
On / Off |
Off |
When enabled, the client IP address is stored as part of the submission. This can help with abuse detection and audit trails but may introduce privacy and compliance requirements. |
Log user agent |
On / Off |
Off |
When enabled, the browser user-agent string is stored with the submission. Useful for diagnostics and statistics; consider privacy implications before enabling. |
Result Storage#
These settings control where survey submissions are stored.
Setting |
Possible values |
Default value |
Explanation |
|---|---|---|---|
Result storage backend |
|
|
Selects the storage backend for survey results. The default stores results in Plone’s ZODB. Additional backends may be available depending on installed add-ons. |
Database URI |
SQLAlchemy database URI / empty |
|
Database connection string used by SQL-based storage backends. Examples include |
Security#
These settings secure form submissions with short-lived authenticity tokens.
Setting |
Possible values |
Default value |
Explanation |
|---|---|---|---|
Enable authenticity token |
On / Off |
On |
Requires a short-lived authenticity token for each submission. Enable this to protect against unauthenticated or replayed submissions. When disabled, submissions can be posted without a token. |
Authenticity token secret |
Secret text (HMAC key) |
Configured secret |
HMAC secret used to sign authenticity tokens. Keep this private and rotate it only with careful coordination, as rotating the secret invalidates existing tokens. |
Authenticity token TTL (seconds) |
Positive integer (seconds) |
|
Lifetime of authenticity tokens in seconds. Shorter TTLs reduce replay risk but require clients to refresh tokens more often. |
Authenticity token issuer |
Text identifier |
|
Issuer claim embedded in tokens. Use a stable, unique identifier for your site or add-on instance. |
Authenticity token audience |
Text identifier |
|
Audience claim embedded in tokens. Match this to the expected token consumer; using a distinct value helps prevent token reuse across environments. |
Authenticity token cache path |
Filesystem path |
|
Path to the disk-backed cache used to store token metadata. Ensure the path is writable by the Plone process and protected from public access. |