All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.client-extension-type-instance-settings.schema.json Maven / Gradle / Ivy

There is a newer version: 12.1.5
Show newest version
{
	"oneOf": [
		{
			"properties": {
				"invitationEmailBody": {
					"description": "Provide a localized template for the body of user invitation emails.",
					"properties": {
					},
					"title": "Invitation Email Body",
					"type": "object"
				},
				"invitationEmailSenderEmailAddress": {
					"description": "Define a specific email address for the sender of user invitation emails. If empty, the inviter's email address is used.",
					"title": "Invitation Email Sender Email Address",
					"type": "string"
				},
				"invitationEmailSenderName": {
					"description": "Define a specific name for the sender of user invitation emails. If empty, the inviter's name is used.",
					"title": "Invitation Email Sender Name",
					"type": "string"
				},
				"invitationEmailSubject": {
					"description": "Provide a localized template for the subject of user invitation emails.",
					"properties": {
					},
					"title": "Invitation Email Subject",
					"type": "object"
				},
				"invitationTokenExpirationTime": {
					"default": 48,
					"description": "Define the time (in hours) before the invitation token expires.",
					"title": "Invitation Token Expiration Time",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.account.configuration.AccountEntryEmailConfiguration",
					"title": "Account Email"
				}
			},
			"required": [
				"pid"
			],
			"title": "Account Email"
		},
		{
			"properties": {
				"blockedEmailDomains": {
					"description": "Enter the list of account user email domains that are prohibited from self registration (e.g. gmail.com, yahoo.com, acme.com). Administrators can manually add account users with blocked email domains. Enter one email domain per line.",
					"title": "Blocked Email Domains",
					"type": "string"
				},
				"customTLDs": {
					"description": "Set custom top-level domains that will be used when validating an account's domains. These should not be common.",
					"items": {
						"type": "string"
					},
					"title": "Custom Top-Level Domains",
					"type": "array"
				},
				"enableEmailDomainValidation": {
					"default": false,
					"description": "Enable to allow entering a list of valid email domains when editing an account. Account users must have a matching email domain for self registration. Administrators can manually add account users with non-matching email domains.",
					"title": "Enable Email Domain Validation",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.account.configuration.AccountEntryEmailDomainsConfiguration",
					"title": "Email Domains"
				}
			},
			"required": [
				"pid"
			],
			"title": "Email Domains"
		},
		{
			"properties": {
				"enabled": {
					"default": false,
					"description": "Enable postprocessing of all legacy markup in fragments, web content, and blogs so that Adaptive Media is able to work with it. Enabling this option may impact the performance of your sites.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.adaptive.media.image.content.transformer.backwards.compatibility.internal.configuration.AMBackwardsCompatibilityHtmlContentTransformerConfiguration",
					"title": "Backwards Compatibility HTML Content Transformer"
				}
			},
			"required": [
				"pid"
			],
			"title": "Backwards Compatibility HTML Content Transformer"
		},
		{
			"properties": {
				"imageVariants": {
					"items": {
						"type": "string"
					},
					"title": "Image Variants",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.adaptive.media.image.internal.configuration.AMImageCompanyConfiguration",
					"title": "Variants"
				}
			},
			"required": [
				"pid"
			],
			"title": "Variants"
		},
		{
			"properties": {
				"apiKey": {
					"default": "",
					"title": "API Key",
					"type": "string"
				},
				"enableChatGPTToCreateContent": {
					"default": true,
					"title": "Enable ChatGPT to Create Content",
					"type": "boolean"
				},
				"enableDALLEToCreateImages": {
					"default": true,
					"title": "Enable DALL-E to Create Images",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.ai.creator.openai.configuration.AICreatorOpenAICompanyConfiguration",
					"title": "OpenAI"
				}
			},
			"required": [
				"pid"
			],
			"title": "OpenAI"
		},
		{
			"properties": {
				"commerceSyncEnabledAnalyticsChannelIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"firstSync": {
					"default": true,
					"type": "boolean"
				},
				"hostsAllowed": {
					"type": "string"
				},
				"liferayAnalyticsConnectionType": {
					"type": "string"
				},
				"liferayAnalyticsDataSourceId": {
					"type": "string"
				},
				"liferayAnalyticsEnableAllGroupIds": {
					"type": "boolean"
				},
				"liferayAnalyticsEndpointURL": {
					"type": "string"
				},
				"liferayAnalyticsFaroBackendSecuritySignature": {
					"type": "string"
				},
				"liferayAnalyticsFaroBackendURL": {
					"type": "string"
				},
				"liferayAnalyticsGroupIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"liferayAnalyticsProjectId": {
					"type": "string"
				},
				"liferayAnalyticsURL": {
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.analytics.settings.configuration.AnalyticsConfiguration"
				},
				"previousCommerceSyncEnabledAnalyticsChannelIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncAllAccounts": {
					"type": "boolean"
				},
				"previousSyncAllContacts": {
					"type": "boolean"
				},
				"previousSyncedAccountFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedAccountGroupIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedCommerceChannelIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedContactFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedOrderFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedOrganizationIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedProductFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedUserFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"previousSyncedUserGroupIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"publicKey": {
					"type": "string"
				},
				"siteReportingGrouping": {
					"type": "string"
				},
				"syncAllAccounts": {
					"type": "boolean"
				},
				"syncAllContacts": {
					"type": "boolean"
				},
				"syncedAccountFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedAccountGroupIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedCategoryFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedCommerceChannelIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedContactFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedGroupIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedOrderFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedOrderItemFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedOrganizationIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedProductChannelFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedProductFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedUserFieldNames": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"syncedUserGroupIds": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"token": {
					"type": "string"
				},
				"wizardMode": {
					"default": true,
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			]
		},
		{
			"description": "Auto tag of text using the Cloud Natural Language API.",
			"properties": {
				"apiKey": {
					"description": "Set the API key for the Google Cloud Natural Language API. Billing must be enabled for this API to work. See {0} for more information.",
					"title": "API Key",
					"type": "string"
				},
				"classificationEndpointEnabled": {
					"description": "Enable auto tagging of text using the Cloud Natural Language API Classification endpoint.",
					"title": "Classification Endpoint Enabled",
					"type": "boolean"
				},
				"confidence": {
					"default": 0.5,
					"description": "Set the classifier's confidence of the category. This number represents how certain the classifier is that this category represents the given text.",
					"title": "Confidence",
					"type": "number"
				},
				"enabledClassNames": {
					"default": "",
					"items": {
						"type": "string"
					},
					"title": "Enable Google Cloud Natural Language Text Auto Tagging For",
					"type": "array"
				},
				"entityEndpointEnabled": {
					"description": "Enable auto tagging of text using the Cloud Natural Language API Entity endpoint.",
					"title": "Entity Endpoint Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.asset.auto.tagger.google.cloud.natural.language.internal.configuration.GCloudNaturalLanguageAssetAutoTaggerCompanyConfiguration",
					"description": "Auto tag of text using the Cloud Natural Language API.",
					"title": "Google Cloud Natural Language Text Auto Tagging"
				},
				"salience": {
					"default": 0.02,
					"description": "The salience score for an entity provides information about the importance or centrality of that entity to the entire text.",
					"title": "Salience",
					"type": "number"
				}
			},
			"required": [
				"pid",
				"apiKey"
			],
			"title": "Google Cloud Natural Language Text Auto Tagging"
		},
		{
			"properties": {
				"enabled": {
					"default": true,
					"title": "Enable Auto Tagging of Assets",
					"type": "boolean"
				},
				"maximumNumberOfTagsPerAsset": {
					"description": "Set the maximum number of tags that will be automatically added to a single asset. Set to 0 if there is no limit. The value defined for the system scope takes precedence over the one defined here, so If this value is greater than the one defined at system scope level, the threshold applied will be the one defined at system scope level.",
					"title": "Maximum Number of Tags",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.asset.auto.tagger.internal.configuration.AssetAutoTaggerCompanyConfiguration",
					"title": "Asset Auto Tagging"
				},
				"updateAutoTags": {
					"default": false,
					"description": "If this option is checked, the option to trigger auto tagging when editing an asset will be enabled by default.",
					"title": "Update Auto Tags",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Asset Auto Tagging"
		},
		{
			"description": "OpenNLP Text Auto Tagging is based on three open source models (Location name finder model, Organization finder model, and Person name finder model). Use with caution because its accuracy may be limited.",
			"properties": {
				"confidenceThreshold": {
					"default": 0.1,
					"description": "Set the minimum confidence threshold (from 0 to 1) above which tags will be applied.",
					"title": "Confidence Threshold",
					"type": "number"
				},
				"enabledClassNames": {
					"default": "",
					"items": {
						"type": "string"
					},
					"title": "Enable OpenNLP Text Auto Tagging For",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.asset.auto.tagger.opennlp.internal.configuration.OpenNLPDocumentAssetAutoTaggerCompanyConfiguration",
					"description": "OpenNLP Text Auto Tagging is based on three open source models (Location name finder model, Organization finder model, and Person name finder model). Use with caution because its accuracy may be limited.",
					"title": "OpenNLP Text Auto Tagging"
				}
			},
			"required": [
				"pid"
			],
			"title": "OpenNLP Text Auto Tagging"
		},
		{
			"properties": {
				"includeChildrenCategoriesWhenSearchingParentCategories": {
					"default": true,
					"description": "When checked, assets with child categories also appear in search results. When unchecked, only assets with the exact category matches appear in search results.",
					"title": "Include child categories when searching parent categories.",
					"type": "boolean"
				},
				"maximumNumberOfCategoriesPerVocabulary": {
					"default": 150,
					"description": "Specify the maximum number of categories that a vocabulary can have.",
					"title": "Maximum Number of Categories per Vocabulary",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.asset.categories.configuration.AssetCategoriesCompanyConfiguration",
					"title": "Categorization"
				}
			},
			"required": [
				"pid"
			],
			"title": "Categorization"
		},
		{
			"properties": {
				"csvFileColumnDelimiter": {
					"default": ",",
					"title": "CSV File Column Delimiter",
					"type": "string"
				},
				"exportBatchSize": {
					"default": 100,
					"description": "Set the default size of a batch containing records to be written to an export file.",
					"title": "Export Batch Size",
					"type": "number"
				},
				"importBatchSize": {
					"default": 100,
					"description": "Set the default size of a batch containing records from an import file that will be written to a database.",
					"title": "Import Batch Size",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.batch.engine.configuration.BatchEngineTaskCompanyConfiguration",
					"title": "Batch Engine Task Configuration"
				}
			},
			"required": [
				"pid"
			],
			"title": "Batch Engine Task Configuration"
		},
		{
			"properties": {
				"emailFromAddress": {
					"default": "",
					"title": "Email from Address",
					"type": "string"
				},
				"emailFromName": {
					"default": "",
					"title": "Email from Name",
					"type": "string"
				},
				"invitationEmailBody": {
					"description": "Provide a localized template for the body of user invitation emails.",
					"properties": {
					},
					"title": "Invitation Email Body",
					"type": "object"
				},
				"invitationEmailSubject": {
					"description": "Provide a localized template for the subject of user invitation emails.",
					"properties": {
					},
					"title": "Invitation Email Subject",
					"type": "object"
				},
				"pid": {
					"const": "com.liferay.change.tracking.configuration.CTCollectionEmailConfiguration",
					"title": "Publications Email Notifications"
				}
			},
			"required": [
				"pid"
			],
			"title": "Publications Email Notifications"
		},
		{
			"properties": {
				"modificationDeletionConflictCheckEnabled": {
					"default": true,
					"title": "Modification Deletion Conflict Check Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.change.tracking.configuration.CTConflictConfiguration",
					"title": "Publications Conflicts"
				},
				"schemaVersionCheckEnabled": {
					"default": false,
					"description": "Enabling the schema version check will allow unpublished publications to go out-of-date after an upgrade.",
					"title": "Schema Version Check Enabled",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Publications Conflicts"
		},
		{
			"properties": {
				"defaultCTCollectionTemplateId": {
					"default": 0,
					"title": "Default Publication Template ID",
					"type": "number"
				},
				"defaultSandboxCTCollectionTemplateId": {
					"default": 0,
					"title": "Default Sandbox Publication Template ID",
					"type": "number"
				},
				"enabled": {
					"default": false,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.change.tracking.configuration.CTSettingsConfiguration",
					"title": "Publications Settings"
				},
				"remoteClientId": {
					"title": "Remote Client ID",
					"type": "string"
				},
				"remoteClientSecret": {
					"title": "Remote Client Secret",
					"type": "string"
				},
				"remoteEnabled": {
					"default": false,
					"title": "Remote Enabled",
					"type": "boolean"
				},
				"sandboxEnabled": {
					"default": false,
					"title": "Sandbox Enabled",
					"type": "boolean"
				},
				"unapprovedChangesAllowed": {
					"default": false,
					"title": "Allow Unapproved Changes",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Publications Settings"
		},
		{
			"properties": {
				"hiddenApplications": {
					"description": "These applications will be hidden from the application menu when you are in a publication.",
					"items": {
						"type": "string"
					},
					"title": "Hidden Applications",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.change.tracking.web.internal.configuration.CTConfiguration",
					"title": "Publications View Changes"
				},
				"productionOnlyApplication": {
					"default": "com_liferay_dispatch_web_internal_portlet_DispatchPortlet, com_liferay_my_account_web_portlet_MyAccountPortlet, com_liferay_notification_web_internal_portlet_NotificationTemplatesPortlet, com_liferay_oauth_client_admin_web_internal_portlet_OAuthClientAdminPortlet, com_liferay_oauth2_provider_web_internal_portlet_OAuth2AdminPortlet, com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet, com_liferay_object_web_internal_list_type_portlet_portlet_ListTypeDefinitionsPortlet, com_liferay_password_policies_admin_web_portlet_PasswordPoliciesAdminPortlet, com_liferay_portal_language_override_web_internal_portlet_PLOPortlet, com_liferay_portal_search_tuning_rankings_web_internal_portlet_ResultRankingsPortlet, com_liferay_portal_search_tuning_synonyms_web_internal_portlet_SynonymsPortlet, com_liferay_search_experiences_web_internal_blueprint_admin_portlet_SXPBlueprintAdminPortlet, com_liferay_users_admin_web_portlet_UsersAdminPortlet",
					"description": "These applications do not participate in a publication. Any data saved will be saved directly into production.",
					"items": {
						"type": "string"
					},
					"title": "Production Only Application",
					"type": "array"
				},
				"showAllData": {
					"description": "Show all data in the data tab when reviewing a change as an administrator.",
					"title": "Show All Data When Reviewing Changes",
					"type": "boolean"
				},
				"unsupportedApplication": {
					"default": "com_liferay_account_admin_web_internal_portlet_AccountEntriesAdminPortlet, com_liferay_batch_planner_web_internal_portlet_BatchPlannerPortlet",
					"description": "These applications do not support publications. Any data saved in a publication will result in an error.",
					"items": {
						"type": "string"
					},
					"title": "Unsupported Application",
					"type": "array"
				}
			},
			"required": [
				"pid"
			],
			"title": "Publications View Changes"
		},
		{
			"properties": {
				"chatProviderAccountId": {
					"type": "string"
				},
				"chatProviderId": {
					"type": "string"
				},
				"chatProviderKeyId": {
					"type": "string"
				},
				"chatProviderSecretKey": {
					"type": "string"
				},
				"enabled": {
					"type": "boolean"
				},
				"guestUsersAllowed": {
					"type": "boolean"
				},
				"hideInControlPanel": {
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.click.to.chat.web.internal.configuration.ClickToChatConfiguration",
					"title": "Click to Chat Configuration"
				},
				"siteSettingsStrategy": {
					"type": "string"
				}
			},
			"required": [
				"pid",
				"chatProviderAccountId",
				"chatProviderId",
				"chatProviderKeyId",
				"chatProviderSecretKey",
				"enabled",
				"guestUsersAllowed",
				"hideInControlPanel",
				"siteSettingsStrategy"
			],
			"title": "Click to Chat Configuration"
		},
		{
			"properties": {
				"baseURL": {
					"type": "string"
				},
				"buildTimestamp": {
					"type": "number"
				},
				"description": {
					"type": "string"
				},
				"name": {
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.client.extension.type.configuration.CETConfiguration"
				},
				"properties": {
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				"sourceCodeURL": {
					"type": "string"
				},
				"type": {
					"type": "string"
				},
				"typeSettings": {
					"items": {
						"type": "string"
					},
					"type": "array"
				}
			},
			"required": [
				"pid",
				"baseURL",
				"name",
				"type"
			]
		},
		{
			"properties": {
				"enabled": {
					"default": true,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.commerce.payment.configuration.CommercePaymentEntryAuditConfiguration",
					"title": "Commerce Payment Entry Audit"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Payment Entry Audit"
		},
		{
			"properties": {
				"enabled": {
					"default": true,
					"title": "Enabled",
					"type": "boolean"
				},
				"key": {
					"title": "Key",
					"type": "string"
				},
				"name": {
					"properties": {
					},
					"title": "Name",
					"type": "object"
				},
				"pid": {
					"const": "com.liferay.commerce.payment.configuration.CommercePaymentEntryRefundTypeConfiguration",
					"title": "Refund Reasons"
				},
				"priority": {
					"title": "Priority",
					"type": "number"
				}
			},
			"required": [
				"pid",
				"key"
			],
			"title": "Refund Reasons"
		},
		{
			"properties": {
				"pid": {
					"const": "com.liferay.commerce.product.configuration.CPDefinitionOptionRelConfiguration",
					"title": "Product Options"
				},
				"showUnselectableOptions": {
					"default": false,
					"title": "Show Unselectable Options",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Product Options"
		},
		{
			"properties": {
				"assetCategoryURLSeparator": {
					"default": "g",
					"description": "Do not change it in production as you will introduce SEO issues.",
					"title": "Asset Category URL Separator",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.commerce.product.configuration.CPFriendlyURLConfiguration",
					"title": "Friendly URL"
				},
				"productURLSeparator": {
					"default": "p",
					"description": "You must restart portal after this change. Do not change it in production as you will introduce SEO issues.",
					"title": "Product URL Separator",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Friendly URL"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.AccountEntryCommerceQualifierConfiguration",
					"title": "Account Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Account Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.AccountGroupCommerceQualifierConfiguration",
					"title": "Account Group Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Account Group Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.AddressCommerceQualifierConfiguration",
					"title": "Address Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Address Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"default": "account|account-group,channel,order-type",
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"default": "account|order-type|channel,account|order-type,account|channel,account,account-group|order-type|channel,account-group|order-type,account-group|channel,account-group,order-type|channel,order-type,channel",
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.COREntryCommerceQualifierConfiguration",
					"title": "Commerce Order Rule Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Order Rule Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommerceChannelCommerceQualifierConfiguration",
					"title": "Commerce Channel Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Channel Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommerceCurrencyCommerceQualifierConfiguration",
					"title": "Commerce Currency Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Currency Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"default": "account|account-group,channel,order-type",
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"default": "account|order-type|channel,account|order-type,account|channel,account,account-group|order-type|channel,account-group|order-type,account-group|channel,account-group,order-type|channel,order-type,channel",
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommerceDiscountCommerceQualifierConfiguration",
					"title": "Commerce Discount Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Discount Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommerceInventoryWarehouseCommerceQualifierConfiguration",
					"title": "Commerce Inventory Warehouse Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Inventory Warehouse Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"default": "channel",
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"default": "channel",
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommerceOrderTypeCommerceQualifierConfiguration",
					"title": "Commerce Order Type Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Order Type Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"default": "order-type",
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"default": "order-type",
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommercePaymentMethodGroupRelCommerceQualifierConfiguration",
					"title": "Commerce Payment Method Group Rel Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Payment Method Group Rel Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"default": "account|account-group,channel,order-type",
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"default": "account|order-type|channel,account|order-type,account|channel,account,account-group|order-type|channel,account-group|order-type,account-group|channel,account-group,order-type|channel,order-type,channel",
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommercePriceListCommerceQualifierConfiguration",
					"title": "Commerce Price List Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Price List Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"default": "order-type",
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"default": "order-type",
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommerceShippingFixedOptionCommerceQualifierConfiguration",
					"title": "Commerce Shipping Fixed Option Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Shipping Fixed Option Qualifiers"
		},
		{
			"properties": {
				"allowedTargetKeys": {
					"default": "order-type",
					"items": {
						"type": "string"
					},
					"title": "Allowed Target Keys",
					"type": "array"
				},
				"orderByTargetKeys": {
					"default": "order-type",
					"items": {
						"type": "string"
					},
					"title": "Order by Target Keys",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.commerce.qualifier.configuration.CommerceTermEntryCommerceQualifierConfiguration",
					"title": "Commerce Term Qualifiers"
				}
			},
			"required": [
				"pid"
			],
			"title": "Commerce Term Qualifiers"
		},
		{
			"properties": {
				"accountBaseURI": {
					"type": "string"
				},
				"apiAccountId": {
					"type": "string"
				},
				"apiUsername": {
					"type": "string"
				},
				"enabled": {
					"type": "boolean"
				},
				"environment": {
					"type": "string"
				},
				"integrationKey": {
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.digital.signature.configuration.DigitalSignatureConfiguration",
					"title": "Digital Signature Configuration"
				},
				"rsaPrivateKey": {
					"type": "string"
				},
				"siteSettingsStrategy": {
					"type": "string"
				}
			},
			"required": [
				"pid",
				"accountBaseURI",
				"apiAccountId",
				"apiUsername",
				"enabled",
				"environment",
				"integrationKey",
				"rsaPrivateKey",
				"siteSettingsStrategy"
			],
			"title": "Digital Signature Configuration"
		},
		{
			"description": "Auto tags images using the Google Cloud Vision API.",
			"properties": {
				"apiKey": {
					"description": "Set the API key for the Google Cloud Vision API. Billing must be enabled for this API to work. See {0} for more information.",
					"title": "API Key",
					"type": "string"
				},
				"enabled": {
					"description": "Enable auto tagging of images in the document library using the Google Cloud Vision API.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.document.library.asset.auto.tagger.google.cloud.vision.internal.configuration.GCloudVisionAssetAutoTagProviderCompanyConfiguration",
					"description": "Auto tags images using the Google Cloud Vision API.",
					"title": "Google Cloud Vision Image Auto Tagging"
				}
			},
			"required": [
				"pid",
				"apiKey"
			],
			"title": "Google Cloud Vision Image Auto Tagging"
		},
		{
			"description": "Auto tags images using the Microsoft Cognitive Services Computer Vision API V2.",
			"properties": {
				"apiEndpoint": {
					"description": "Set the endpoint for the Computer Vision API V2 (e.g. {0}). See {1} for more information.",
					"title": "API Endpoint",
					"type": "string"
				},
				"apiKey": {
					"description": "Set the API key for the Computer Vision API V2. See {0} for more information.",
					"title": "API Key",
					"type": "string"
				},
				"enabled": {
					"description": "Enable auto tagging of images in the document library using Microsoft Cognitive Services.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.document.library.asset.auto.tagger.microsoft.cognitive.services.internal.configuration.MSCognitiveServicesAssetAutoTagProviderCompanyConfiguration",
					"description": "Auto tags images using the Microsoft Cognitive Services Computer Vision API V2.",
					"title": "Microsoft Cognitive Services Image Auto Tagging"
				}
			},
			"required": [
				"pid",
				"apiEndpoint",
				"apiKey"
			],
			"title": "Microsoft Cognitive Services Image Auto Tagging"
		},
		{
			"description": "TensorFlow Image Auto Tagging is based on an open source model (Inception 5h). Its accuracy might be limited so please use with caution.",
			"properties": {
				"confidenceThreshold": {
					"default": 0.1,
					"description": "Set the minimum confidence threshold (from 0 to 1) above which tags will be applied.",
					"title": "Confidence Threshold",
					"type": "number"
				},
				"enabled": {
					"default": false,
					"description": "Enable auto tagging of images in the document library using TensorFlow.",
					"title": "Enable TensorFlow Image Auto Tagging",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.document.library.asset.auto.tagger.tensorflow.internal.configuration.TensorFlowImageAssetAutoTagProviderCompanyConfiguration",
					"description": "TensorFlow Image Auto Tagging is based on an open source model (Inception 5h). Its accuracy might be limited so please use with caution.",
					"title": "TensorFlow Image Auto Tagging"
				}
			},
			"required": [
				"pid"
			],
			"title": "TensorFlow Image Auto Tagging"
		},
		{
			"properties": {
				"enableFriendlyURLWithExtension": {
					"default": false,
					"description": "Add the file extension to the file entry friendly URL by default.",
					"title": "Enable Friendly URL With Extension",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.document.library.configuration.DLFileEntryFriendlyURLConfiguration",
					"title": "File Entry Friendly URL"
				}
			},
			"required": [
				"pid"
			],
			"title": "File Entry Friendly URL"
		},
		{
			"properties": {
				"clientId": {
					"description": "Set the OAuth 2 client id for the Google Drive API. Go to {0} to create it.",
					"title": "Client ID",
					"type": "string"
				},
				"clientSecret": {
					"description": "Set the OAuth 2 client secret for the Google Drive API. Go to {0} to create it.",
					"title": "Client Secret",
					"type": "string"
				},
				"pickerAPIKey": {
					"description": "Set the API Key for the Google Picker API. Go to {0} to create it.",
					"title": "Picker API Key",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.document.library.google.drive.configuration.DLGoogleDriveCompanyConfiguration",
					"title": "Google Drive"
				}
			},
			"required": [
				"pid",
				"clientId",
				"clientSecret"
			],
			"title": "Google Drive"
		},
		{
			"properties": {
				"cacheTextExtraction": {
					"default": true,
					"title": "Cache Text Extraction",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.document.library.internal.configuration.DLIndexerConfiguration",
					"title": "Indexer"
				}
			},
			"required": [
				"pid"
			],
			"title": "Indexer"
		},
		{
			"properties": {
				"clientId": {
					"description": "Set the OAuth 2 client id for the OneDrive API. Go to {0} to create it.",
					"title": "Client ID",
					"type": "string"
				},
				"clientSecret": {
					"description": "Set the OAuth 2 client secret for the OneDrive API. Go to {0} to create it.",
					"title": "Client Secret",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.document.library.opener.onedrive.web.internal.configuration.DLOneDriveCompanyConfiguration",
					"title": "OneDrive"
				},
				"tenant": {
					"description": "Set the tenant for the OneDrive API. Go to {0} to obtain it.",
					"title": "Tenant",
					"type": "string"
				}
			},
			"required": [
				"pid",
				"clientId",
				"clientSecret",
				"tenant"
			],
			"title": "OneDrive"
		},
		{
			"properties": {
				"cacheControl": {
					"default": "private, no-cache, no-store, must-revalidate",
					"description": "Set the cache control policy for documents with view permissions for guests.",
					"title": "Cache Control",
					"type": "string"
				},
				"maxAge": {
					"default": 0,
					"description": "Set the number of seconds after a response is generated in which a response will be considered fresh.",
					"title": "Max Age",
					"type": "number"
				},
				"notCacheableMimeTypes": {
					"description": "Set a list of mime types that will be uncacheable.",
					"items": {
						"type": "string"
					},
					"title": "Uncacheable Mime Types",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.document.library.web.internal.configuration.CacheControlConfiguration",
					"title": "Cache Control"
				}
			},
			"required": [
				"pid",
				"cacheControl"
			],
			"title": "Cache Control"
		},
		{
			"description": "The settings in this configuration let you control the export/import, staging, and site template propagation processes.",
			"properties": {
				"includeAllAssetLinks": {
					"default": false,
					"description": "If checked, all asset links are included from the site within the given date range. Uncheck to include only those asset links which are connected to the content.",
					"title": "Include All Asset Links",
					"type": "boolean"
				},
				"includeThumbnailsAndPreviewsDuringStaging": {
					"default": true,
					"description": "If checked, then the generated previews and thumbnails will be included during the staging process.",
					"title": "Include Thumbnails And Previews During Staging",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.exportimport.configuration.ExportImportServiceConfiguration",
					"description": "The settings in this configuration let you control the export/import, staging, and site template propagation processes.",
					"title": "Export/Import, Staging"
				},
				"publishPermissionsByDefault": {
					"default": false,
					"description": "If checked, the permissions assigned for the exported pages and individual portlet windows are always included by default.",
					"title": "Publish Permissions by Default",
					"type": "boolean"
				},
				"replicateIndividualDeletionsByDefault": {
					"default": false,
					"description": "If checked, the delete operations performed for content types will be always replicated in the target site by default.",
					"title": "Replicate Individual Deletions by Default",
					"type": "boolean"
				},
				"showAdvancedStagingConfigurationByDefault": {
					"default": false,
					"description": "If checked, then the advanced publication configuration screen will be displayed by default when publishing pages.",
					"title": "Show Advanced Staging Configuration by Default",
					"type": "boolean"
				},
				"validateFileEntryReferences": {
					"default": true,
					"description": "If checked, publishing or importing some types of content with text in them will cause Liferay to check the content for any links to documents, and ensure that each of these links points to a valid document.",
					"title": "Validate File Entries",
					"type": "boolean"
				},
				"validateJournalFeedReferences": {
					"default": true,
					"description": "If checked, publishing or importing some types of content with text in them will cause Liferay to check the content for any references to web content feeds, and ensure that each one of these references points to a valid feed.",
					"title": "Validate Journal Feed References",
					"type": "boolean"
				},
				"validateLayoutReferences": {
					"default": true,
					"description": "If checked, publishing or importing some types of content with text in them will cause Liferay to check the content for any links that reference one of the portal's virtual hosts, and ensure that each of these links points to a valid page within Liferay. Uncheck this if your virtual host has pages not in Liferay.",
					"title": "Validate Layout References",
					"type": "boolean"
				},
				"validateLayoutReferencesWhitelistedURLPatterns": {
					"description": "Specify a URL pattern that will be whitelisted when validating layout references. URLs that match this pattern will always pass the validation even if they do not point to a valid Liferay page.",
					"items": {
						"type": "string"
					},
					"title": "Validate Layout References Whitelisted URL Pattern",
					"type": "array"
				},
				"validateMissingReferences": {
					"default": true,
					"description": "If checked, publishing or importing will cause Liferay to check missing references. If unchecked, missing reference validation is skipped. As a result, references without existing targets can be published or imported to the target site.",
					"title": "Validate Missing References",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Export/Import, Staging"
		},
		{
			"properties": {
				"emailBody": {
					"default": "com/liferay/flags/dependencies/email_flag_body.tmpl",
					"title": "Email Body",
					"type": "string"
				},
				"emailEntryAddedEnabled": {
					"default": true,
					"title": "Email Entry Added Enabled",
					"type": "boolean"
				},
				"emailFromAddress": {
					"title": "Email from Address",
					"type": "string"
				},
				"emailFromName": {
					"title": "Email from Name",
					"type": "string"
				},
				"emailSubject": {
					"default": "com/liferay/flags/dependencies/email_flag_subject.tmpl",
					"title": "Email Subject",
					"type": "string"
				},
				"guestUsersEnabled": {
					"default": false,
					"title": "Guest Users Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.flags.configuration.FlagsGroupServiceConfiguration",
					"title": "Flags"
				},
				"reasons": {
					"default": "sexual-content|violent-or-repulsive-content|hateful-or-abusive-content|harmful-dangerous-acts|spam|infringes-my-rights",
					"items": {
						"type": "string"
					},
					"title": "Reasons",
					"type": "array"
				}
			},
			"required": [
				"pid"
			],
			"title": "Flags"
		},
		{
			"properties": {
				"javaScriptModuleEnabled": {
					"default": true,
					"description": "When enabled, fragment JavaScript is embedded in a script as a module instead of as a function.",
					"title": "Javascript Module Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.fragment.configuration.FragmentJavaScriptConfiguration",
					"title": "Javascript"
				}
			},
			"required": [
				"pid"
			],
			"title": "Javascript"
		},
		{
			"properties": {
				"pid": {
					"const": "com.liferay.fragment.configuration.FragmentServiceConfiguration",
					"title": "Page Fragments"
				},
				"propagateChanges": {
					"default": false,
					"description": "When enabled, changes will be propagated immediately after publishing a fragment entry. If staging is enabled, this setting does not affect live sites.",
					"title": "Propagate Fragment Changes Automatically",
					"type": "boolean"
				},
				"propagateContributedFragmentChanges": {
					"default": true,
					"description": "When enabled, changes will be propagated immediately during the deploy process. When disabled, changes can be propagated manually after deploy process.",
					"title": "Propagate Default Fragments Changes During Deploy Process Automatically",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Page Fragments"
		},
		{
			"properties": {
				"enable": {
					"default": true,
					"description": "Enable this to allow fragment authors to use FreeMarker.",
					"title": "Enable FreeMarker",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.fragment.entry.processor.freemarker.internal.configuration.FreeMarkerFragmentEntryProcessorConfiguration",
					"title": "FreeMarker Fragment Entry Processor"
				}
			},
			"required": [
				"pid"
			],
			"title": "FreeMarker Fragment Entry Processor"
		},
		{
			"properties": {
				"pid": {
					"const": "com.liferay.fragment.web.internal.configuration.FragmentPortletConfiguration",
					"title": "Fragment Thumbnails"
				},
				"thumbnailExtensions": {
					"default": ".gif,.jpeg,.jpg,.png,.svg",
					"items": {
						"type": "string"
					},
					"title": "Allowed Thumbnail File Extensions",
					"type": "array"
				}
			},
			"required": [
				"pid"
			],
			"title": "Fragment Thumbnails"
		},
		{
			"description": "Choose the default redirection type to use when old friendly URLs are referenced for display page templates or pages.",
			"properties": {
				"pid": {
					"const": "com.liferay.friendly.url.configuration.FriendlyURLRedirectionConfiguration",
					"description": "Choose the default redirection type to use when old friendly URLs are referenced for display page templates or pages.",
					"title": "Friendly URL Redirection"
				},
				"redirectionType": {
					"default": "temporary",
					"description": "This type of redirect will be used when a page or piece of content using a display page template is accessed using an old friendly URL.",
					"enum": [
						"permanent",
						"temporary"
					],
					"title": "Redirection Type",
					"type": "string"
				},
				"showAlternativeLayoutFriendlyURLMessage": {
					"default": true,
					"description": "Enable to show a message when you are redirected to a different layout friendly URL.",
					"title": "Show Alternative Layout Friendly URL Message",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Friendly URL Redirection"
		},
		{
			"properties": {
				"friendlyURLSeparatorsJSON": {
					"default": "{}",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.friendly.url.configuration.FriendlyURLSeparatorCompanyConfiguration"
				}
			},
			"required": [
				"pid"
			]
		},
		{
			"properties": {
				"enabled": {
					"default": false,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.frontend.js.web.internal.configuration.CustomDialogsSettingsConfiguration",
					"title": "Custom Dialogs"
				}
			},
			"required": [
				"pid"
			],
			"title": "Custom Dialogs"
		},
		{
			"properties": {
				"addDefaultStructures": {
					"default": true,
					"title": "Add Default Structures",
					"type": "boolean"
				},
				"articleCommentsEnabled": {
					"default": true,
					"description": "Set this to true to enable comments for journal articles.",
					"title": "Article Comments Enabled",
					"type": "boolean"
				},
				"autogenerateDDMStructureKey": {
					"default": true,
					"description": "Check this if structure keys should always be autogenerated.",
					"title": "Autogenerate Structure Key",
					"type": "boolean"
				},
				"autogenerateDDMTemplateKey": {
					"default": true,
					"description": "Check this if template keys should always be autogenerated.",
					"title": "Autogenerate Template Key",
					"type": "boolean"
				},
				"charactersblacklist": {
					"default": "&|\\\\'|@|\\\\\\\\|]|}|:|=|>|/|<|[|{|%|+|#|`|?|\\\\\\",
					"description": "Specify characters that are not allowed in web content folder names.",
					"items": {
						"type": "string"
					},
					"title": "Characters Blacklist",
					"type": "array"
				},
				"checkInterval": {
					"default": 15,
					"description": "Set the check interval in minutes.",
					"min": 1,
					"title": "Check Interval",
					"type": "number"
				},
				"customTokenNames": {
					"default": "",
					"description": "Set a list of custom token names that will be replaced when article content is rendered.",
					"items": {
						"type": "string"
					},
					"title": "Custom Token Names",
					"type": "array"
				},
				"customTokenValues": {
					"default": "",
					"description": "Set a list of custom token values that will be replaced when article content is rendered.",
					"items": {
						"type": "string"
					},
					"title": "Custom Token Values",
					"type": "array"
				},
				"displayFieldName": {
					"default": false,
					"title": "Display field name in structures UI and allow users to edit it.",
					"type": "boolean"
				},
				"enableContentTransformerListener": {
					"default": false,
					"title": "Enable Content Transformer Listener",
					"type": "boolean"
				},
				"errorTemplateFTL": {
					"title": "Error Template FTL",
					"type": "string"
				},
				"expireAllArticleVersionsEnabled": {
					"default": true,
					"description": "Set this to true to expire all article versions when expiring an article. Set this to false to only expire the latest approved article version when expiring an article.",
					"title": "Expire All Article Versions Enabled",
					"type": "boolean"
				},
				"indexAllArticleVersionsEnabled": {
					"default": true,
					"description": "Set this to true to index all article versions. Set this to false to index only the last indexable version.",
					"title": "Index All Article Versions Enabled",
					"type": "boolean"
				},
				"journalArticleExportImportProcessorCacheEnabled": {
					"default": true,
					"description": "Specify whether processed web content will be cached and reused when running an export or a publish process. Setting this to true will speed up export or publish processes involving web content, but will increase memory usage. The cache size and timeout may be configured for the cache using the cache name \"com.liferay.journal.internal.exportimport.content.processor.JournalArticleExportImportProcessorCache\".",
					"title": "Journal Article Export/Import Processor Cache Enabled",
					"type": "boolean"
				},
				"journalArticleMaxVersionCount": {
					"default": 0,
					"title": "Journal Article Maximum Version Count",
					"type": "number"
				},
				"journalArticlePageBreakToken": {
					"default": "@page_break@",
					"description": "Set the token used when inserting simple page breaks in articles.",
					"title": "Journal Article Page Break Token",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.journal.configuration.JournalServiceConfiguration",
					"title": "Web Content"
				},
				"publishToLiveByDefaultEnabled": {
					"default": true,
					"description": "Set this to true if web content articles should be published to live by default.",
					"title": "Publish to Live by Default",
					"type": "boolean"
				},
				"singleAssetPublishIncludeVersionHistory": {
					"default": false,
					"description": "Set whether the web content version history should be included in single asset publish processes.",
					"title": "Single Asset Publish Process Includes Version History",
					"type": "boolean"
				},
				"termsOfUseJournalArticleGroupId": {
					"default": 0,
					"title": "Terms of Use Web Content Group ID",
					"type": "number"
				},
				"termsOfUseJournalArticleId": {
					"default": "",
					"title": "Terms of Use Web Content Article ID",
					"type": "string"
				},
				"versionHistoryByDefaultEnabled": {
					"default": true,
					"description": "Set this to false if only the latest approved version of web content articles should be published by default.",
					"title": "Version History by Default Enabled",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Web Content"
		},
		{
			"properties": {
				"autoExtendSessionEnabled": {
					"default": true,
					"description": "Enabling will automatically extend the session while the page editor is opened.",
					"title": "Auto Extend Session Enabled",
					"type": "boolean"
				},
				"maxNumberOfItemsInEditMode": {
					"default": 20,
					"description": "The maximum number of items that are shown in a collection are limited in the Edit mode, due to page render performance. This limit does not affect the collection visualization in the published page. Please be aware that increasing this value might have a negative impact on the performance of the Edit mode of a Content Page.",
					"title": "Maximum Number of Items in Edit mode",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.layout.content.page.editor.web.internal.configuration.PageEditorConfiguration",
					"title": "Page Editor"
				}
			},
			"required": [
				"pid"
			],
			"title": "Page Editor"
		},
		{
			"properties": {
				"allowAutomaticUnlockingProcess": {
					"default": true,
					"title": "Allow Automatic Unlocking Process",
					"type": "boolean"
				},
				"autosaveMinutes": {
					"default": 5,
					"max": 99999,
					"min": 1,
					"title": "Time Without Autosave",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.layout.locked.layouts.web.internal.configuration.LockedLayoutsCompanyConfiguration",
					"title": "Locked Pages"
				}
			},
			"required": [
				"pid"
			],
			"title": "Locked Pages"
		},
		{
			"description": "Google PageSpeed Insights can find accessibility and SEO issues in your pages, and provide suggestions to fix them.",
			"properties": {
				"enabled": {
					"default": true,
					"title": "Enable Google PageSpeed Insights",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.layout.reports.web.internal.configuration.LayoutReportsGooglePageSpeedCompanyConfiguration",
					"description": "Google PageSpeed Insights can find accessibility and SEO issues in your pages, and provide suggestions to fix them.",
					"title": "Google PageSpeed Insights"
				}
			},
			"required": [
				"pid"
			],
			"title": "Google PageSpeed Insights"
		},
		{
			"description": "SEO Configuration",
			"properties": {
				"canonicalURL": {
					"default": "default-language-url",
					"description": "Selecting \"Use Default Language URL\" will make all pages use as canonical URL the URL set for the default language of the site. Selecting \"Use Localized URL\" will set for each localized page the URL corresponding to its language as canonical URL.",
					"enum": [
						"default-language-url",
						"localized-url"
					],
					"title": "Canonical URL",
					"type": "string"
				},
				"enableLayoutTranslatedLanguages": {
					"default": false,
					"description": "Generate Hreflang meta data only for languages with translated content.",
					"title": "Enable Only Translated Hreflangs",
					"type": "boolean"
				},
				"enableOpenGraph": {
					"default": true,
					"description": "Enabling will embed Open Graph meta tags on every page so that content can be shared on applications supporting this protocol (e.g. Facebook, Twitter, Slack, etc.).",
					"title": "Enable Open Graph",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.layout.seo.internal.configuration.LayoutSEOCompanyConfiguration",
					"description": "SEO Configuration",
					"title": "SEO"
				}
			},
			"required": [
				"pid"
			],
			"title": "SEO"
		},
		{
			"description": "Configure when automatic propagation is triggered for site templates.",
			"properties": {
				"cancelPropagationImportTask": {
					"default": true,
					"description": "If checked, old site template propagation import tasks will be cancelled when new ones are already scheduled for the same site. This can help to optimize the site template propagation process, when the template itself is frequently changed, and the propagation is also frequently triggered. This way, the sites will only be updated with the latest version of the template.",
					"title": "Cancel old site template propagation import tasks.",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.layout.set.prototype.configuration.LayoutSetPrototypeConfiguration",
					"description": "Configure when automatic propagation is triggered for site templates.",
					"title": "Site Templates"
				},
				"triggerPropagation": {
					"default": false,
					"description": "If unchecked, changes are propagated to sites individually when they are first visited by a user. If checked, enabling propagation in a template also triggers propagation for all connected sites simultaneously.",
					"title": "Trigger Propagation",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Site Templates"
		},
		{
			"properties": {
				"clientId": {
					"description": "Set the OAuth 2 client ID for the Outlook API.",
					"title": "Client ID",
					"type": "string"
				},
				"clientSecret": {
					"description": "Set the OAuth 2 client secret for the Outlook API.",
					"title": "Client Secret",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.mail.outlook.auth.connector.provider.internal.configuration.MailOutlookAuthConnectorCompanyConfiguration",
					"title": "Outlook Auth Connector"
				},
				"pop3ConnectionEnabled": {
					"default": false,
					"description": "If enabled, the POP3 connection will use OAuth 2 as the authentication mechanism.",
					"title": "POP3 Connection Enabled",
					"type": "boolean"
				},
				"smtpConnectionEnabled": {
					"default": false,
					"description": "If enabled, the SMTP connection will use OAuth 2 as the authentication mechanism.",
					"title": "SMTP Connection Enabled",
					"type": "boolean"
				},
				"tenantId": {
					"description": "Set the tenant ID for the Outlook API. Go to {0} to obtain it.",
					"title": "Tenant ID",
					"type": "string"
				}
			},
			"required": [
				"pid",
				"clientId",
				"clientSecret",
				"pop3ConnectionEnabled",
				"smtpConnectionEnabled",
				"tenantId"
			],
			"title": "Outlook Auth Connector"
		},
		{
			"properties": {
				"emailFromAddress": {
					"description": "Set the sender address on the one-time password email.",
					"title": "Template for Email \"From\" Field",
					"type": "string"
				},
				"emailFromName": {
					"title": "Email from Name",
					"type": "string"
				},
				"emailOTPSentBody": {
					"properties": {
					},
					"title": "Template for Email \"Body\" Field",
					"type": "object"
				},
				"emailOTPSentSubject": {
					"properties": {
					},
					"title": "Template for Email \"Subject\" Field",
					"type": "object"
				},
				"enabled": {
					"default": false,
					"description": "Enabling multi-factor authentication implies enabling Email One-Time Password. It is strongly advised that other forms of user authentication that only support a single factor are disabled (e.g. Basic, Digest, WEBDAV).",
					"title": "Enabled",
					"type": "boolean"
				},
				"failedAttemptsAllowed": {
					"default": -1,
					"description": "Set the number of verification attempts allowed before blocking for the retry timeout.",
					"title": "Set the number of allowed failed attempts.",
					"type": "number"
				},
				"order": {
					"default": 10,
					"description": "Set the multi-factor authentication checker order. Checkers with higher order will be shown first.",
					"title": "Order",
					"type": "number"
				},
				"otpSize": {
					"default": 6,
					"description": "Set the length of a one-time password.",
					"title": "One-Time Password Length",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.multi.factor.authentication.email.otp.configuration.MFAEmailOTPConfiguration",
					"title": "Multi-Factor Authentication and Email One-Time Password Configuration"
				},
				"resendEmailTimeout": {
					"default": 30,
					"description": "Set the allowed time in seconds between one-time password requests.",
					"title": "Resend Email Timeout",
					"type": "number"
				},
				"retryTimeout": {
					"default": -1,
					"description": "Set the time in seconds to block requests after reaching the limit for failed attempts allowed.",
					"title": "Retry Timeout",
					"type": "number"
				}
			},
			"required": [
				"pid"
			],
			"title": "Multi-Factor Authentication and Email One-Time Password Configuration"
		},
		{
			"properties": {
				"allowOriginPort": {
					"default": false,
					"description": "Enable to relax the origin matching rule to allow any port number.",
					"title": "Allow Origin Port",
					"type": "boolean"
				},
				"allowOriginSubdomain": {
					"default": false,
					"description": "Enable to relax the origin matching rule to allow any subdomain, of any depth.",
					"title": "Allow Origin Subdomain",
					"type": "boolean"
				},
				"allowedCredentialsPerUser": {
					"default": 1,
					"description": "Set the number of allowed credentials per user.",
					"title": "Allowed Credentials Per User",
					"type": "number"
				},
				"enabled": {
					"default": false,
					"description": "Enable Fast IDentity Online 2.",
					"title": "Enabled",
					"type": "boolean"
				},
				"order": {
					"default": 200,
					"description": "Set the multi-factor authentication checker order. Checkers with higher order will be shown first.",
					"title": "Order",
					"type": "number"
				},
				"origins": {
					"default": "https://localhost",
					"description": "Set the allowed origins that returned authenticator responses will be compared against. The default is the set containing only the string of \"https://\" + Relying Party ID.",
					"items": {
						"type": "string"
					},
					"title": "Origins",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.multi.factor.authentication.fido2.web.internal.configuration.MFAFIDO2Configuration",
					"title": "Fast IDentity Online 2 Configuration"
				},
				"relyingPartyId": {
					"default": "localhost",
					"description": "Set the relying party ID. It must be equal to the origin's effective domain, or a registrable domain suffix of the origin's effective domain. For example an origin of https://login.example.com:1337 can only have relying party ID as one of the following: login.example.com or example.com. This is done in order to match the behavior of pervasively deployed ambient credentials (e.g. cookies, [RFC6265]).",
					"title": "Relying Party ID",
					"type": "string"
				},
				"relyingPartyName": {
					"default": "relying Party",
					"description": "Set the relying party name.",
					"title": "Relying Party Name",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Fast IDentity Online 2 Configuration"
		},
		{
			"properties": {
				"allowedIPAddressAndNetMask": {
					"default": "127.0.0.1/255.0.0.0",
					"description": "Set the allowed IP address and the network mask (can be either IPv4 or IPv6). Use the add button to add multiple ones.",
					"items": {
						"type": "string"
					},
					"title": "Allowed IP Address and Network Mask",
					"type": "array"
				},
				"enabled": {
					"default": false,
					"description": "When the IP address configuration is enabled, the instance will check if the user tries to log in from a valid network ip and will allow the access the portal without showing any other multi-factor authentication verifiers.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.multi.factor.authentication.ip.address.internal.configuration.MFAIPAddressConfiguration",
					"title": "IP Address Configuration"
				}
			},
			"required": [
				"pid"
			],
			"title": "IP Address Configuration"
		},
		{
			"properties": {
				"enabled": {
					"default": false,
					"title": "Enabled",
					"type": "boolean"
				},
				"order": {
					"default": 400,
					"title": "Order",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.multi.factor.authentication.sample.internal.configuration.MFASampleConfiguration",
					"title": "MFA Sample Configuration"
				}
			},
			"required": [
				"pid"
			],
			"title": "MFA Sample Configuration"
		},
		{
			"properties": {
				"algorithmKeySize": {
					"default": 20,
					"description": "Set the size of the algorithm key.",
					"title": "Algorithm Key Size",
					"type": "number"
				},
				"clockSkew": {
					"default": 3000,
					"description": "Set the time in milliseconds that the clocks can differ before a code will be rejected. This means the checker could perform a validation against the current time and then two further validations (+ clock skew time / - clock skew time).",
					"title": "Clock Skew",
					"type": "number"
				},
				"emailTOTPReuseAttemptWarningBody": {
					"properties": {
					},
					"title": "Template for Time-Based One-Time Password Reuse Attempt Warning Email \"Body\" Field",
					"type": "object"
				},
				"emailTOTPReuseAttemptWarningFromAddress": {
					"description": "Set the sender address on the time-based one-time password reuse attempt warning email.",
					"title": "Template for Time-Based One-Time Password Reuse Attempt Warning Email \"From\" Field",
					"type": "string"
				},
				"emailTOTPReuseAttemptWarningFromName": {
					"title": "Time-Based One-Time Password Reuse Attempt Warning Email from Name",
					"type": "string"
				},
				"emailTOTPReuseAttemptWarningSubject": {
					"properties": {
					},
					"title": "Template for Time-Based One-Time Password Reuse Attempt Warning Email \"Subject\" Field",
					"type": "object"
				},
				"enabled": {
					"default": false,
					"description": "Enable time-based one-time password. Take into account that time-based one-time password also needs to be configured by each user. They will find a new section to configure it at \"Account Settings\".",
					"title": "Enabled",
					"type": "boolean"
				},
				"order": {
					"default": 100,
					"description": "Set the multi-factor authentication checker order. Checkers with higher order will be shown first.",
					"title": "Order",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.multi.factor.authentication.timebased.otp.web.internal.configuration.MFATimeBasedOTPConfiguration",
					"title": "Time-Based One-Time Password Configuration"
				}
			},
			"required": [
				"pid"
			],
			"title": "Time-Based One-Time Password Configuration"
		},
		{
			"properties": {
				"issuer": {
					"description": "OAuth 2 Incoming Assertion Issuer",
					"title": "OAuth 2 Incoming Assertion Issuer",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.oauth2.provider.rest.internal.configuration.OAuth2InAssertionConfiguration",
					"title": "OAuth 2 Incoming Assertion Configuration"
				},
				"signatureJSONWebKeySet": {
					"description": "Input signature verification keys in JWKS format. In a typical scenario, one can retrieve them from an assertion issuer's JWKS endpoint.",
					"title": "OAuth 2 Incoming Assertion Signature Verification JSON Web Key Set",
					"type": "string"
				},
				"userAuthType": {
					"default": "UUID",
					"description": "Choose one of the following types to authenticate a user. Assertion issuer must configure assertion's \"sub\" claim to the same type.",
					"enum": [
						"emailAddress",
						"screenName",
						"userId",
						"UUID"
					],
					"title": "OAuth 2 Incoming Assertion User Authentication Type",
					"type": "string"
				}
			},
			"required": [
				"pid",
				"issuer",
				"signatureJSONWebKeySet",
				"userAuthType"
			],
			"title": "OAuth 2 Incoming Assertion Configuration"
		},
		{
			"properties": {
				"authorizeScreenURL": {
					"default": "/?p_p_id=com_liferay_oauth2_provider_web_internal_portlet_OAuth2AuthorizePortlet&p_p_state=maximized",
					"description": "Set the URL to screen where users approve authorization.",
					"title": "Authorize Screen URL",
					"type": "string"
				},
				"loginURL": {
					"default": "/c/portal/login",
					"description": "Set the URL where users can authenticate.",
					"title": "Login URL",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.oauth2.provider.rest.internal.endpoint.authorize.configuration.AuthorizeScreenConfiguration",
					"title": "Authorize Screen"
				}
			},
			"required": [
				"pid"
			],
			"title": "Authorize Screen"
		},
		{
			"properties": {
				"duration": {
					"default": 1,
					"title": "Duration",
					"type": "number"
				},
				"maximumFileSizeForGuestUsers": {
					"default": 25,
					"description": "Set the maximum file size (in megabytes) that a guest user can upload through attachment fields in an object entry.",
					"title": "Maximum File Size for Guest Users",
					"type": "number"
				},
				"maximumNumberOfGuestUserObjectEntriesPerObjectDefinition": {
					"default": 100,
					"description": "Set the maximum number of object entries per object definition that can be created by a guest user. After reaching this limit, object entries created by a guest user will no longer be accepted.",
					"title": "Maximum Number of Guest Object Entries per Object Definition",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.object.configuration.ObjectConfiguration",
					"title": "Object"
				},
				"timeScale": {
					"default": "days",
					"description": "Choose between days or weeks.",
					"enum": [
						"days",
						"weeks"
					],
					"title": "Time Scale",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Object"
		},
		{
			"properties": {
				"configurationName": {
					"description": "Set hash provider configuration name.",
					"title": "Hash Provider Configuration Name",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.crypto.hash.provider.bcrypt.internal.configuration.BCryptCryptoHashProviderConfiguration",
					"title": "BCrypt Crypto Hash Provider Configuration"
				},
				"rounds": {
					"default": 10,
					"description": "BCrypt Rounds",
					"title": "BCrypt Rounds",
					"type": "number"
				}
			},
			"required": [
				"pid",
				"configurationName"
			],
			"title": "BCrypt Crypto Hash Provider Configuration"
		},
		{
			"properties": {
				"algorithm": {
					"default": "SHA-256",
					"description": "Set message digest algorithm.",
					"title": "Message Digest Algorithm",
					"type": "string"
				},
				"configurationName": {
					"description": "Set hash provider configuration name.",
					"title": "Hash Provider Configuration Name",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.crypto.hash.provider.message.digest.internal.configuration.MessageDigestCryptoHashProviderConfiguration",
					"title": "Message Digest Crypto Hash Provider Configuration"
				},
				"saltSize": {
					"default": 32,
					"description": "Set message digest salt size.",
					"title": "Message Digest Salt Size",
					"type": "number"
				}
			},
			"required": [
				"pid",
				"configurationName"
			],
			"title": "Message Digest Crypto Hash Provider Configuration"
		},
		{
			"properties": {
				"defaultPermissions": {
					"title": "Default Permissions",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.defaultpermissions.configuration.PortalDefaultPermissionsCompanyConfiguration",
					"title": "Default Permissions Configuration"
				}
			},
			"required": [
				"pid"
			],
			"title": "Default Permissions Configuration"
		},
		{
			"description": "Enables CORS for matching URLs in the portal.",
			"properties": {
				"enabled": {
					"default": true,
					"title": "Enabled",
					"type": "boolean"
				},
				"filterMappingURLPatterns": {
					"default": "/api/jsonws/*|/documents/*|/image/*|/o/api/*|/o/graphql",
					"description": "Set URL pattern where CORS is enabled.",
					"items": {
						"type": "string"
					},
					"title": "URL Pattern",
					"type": "array"
				},
				"headers": {
					"default": "Access-Control-Allow-Credentials: true|Access-Control-Allow-Headers: *|Access-Control-Allow-Methods: *|Access-Control-Allow-Origin: *",
					"description": "Set the headers to be sent in response to CORS requests in the form of \"Name: Value\".",
					"items": {
						"type": "string"
					},
					"title": "CORS Response Headers",
					"type": "array"
				},
				"name": {
					"description": "Identifies the configuration. The name is not used directly in the application.",
					"title": "Name",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.remote.cors.configuration.PortalCORSConfiguration",
					"description": "Enables CORS for matching URLs in the portal.",
					"title": "Portal Cross-Origin Resource Sharing (CORS)"
				}
			},
			"required": [
				"pid"
			],
			"title": "Portal Cross-Origin Resource Sharing (CORS)"
		},
		{
			"description": "Configure third party providers and other settings to index and search text embeddings. Semantic Search is a beta feature: enable it in Instance Settings > Feature Flags.",
			"properties": {
				"pid": {
					"const": "com.liferay.portal.search.configuration.SemanticSearchConfiguration",
					"description": "Configure third party providers and other settings to index and search text embeddings. Semantic Search is a beta feature: enable it in Instance Settings > Feature Flags.",
					"title": "Semantic Search (Beta)"
				},
				"textEmbeddingCacheTimeout": {
					"default": 604800,
					"title": "Text Embedding Cache Timeout",
					"type": "number"
				},
				"textEmbeddingProviderConfigurationJSONs": {
					"default": "",
					"items": {
						"type": "string"
					},
					"title": "Text Embedding Provider Configuration JSONs",
					"type": "array"
				},
				"textEmbeddingsEnabled": {
					"default": false,
					"title": "Text Embeddings Enabled",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Semantic Search (Beta)"
		},
		{
			"properties": {
				"enableDeepPagination": {
					"default": false,
					"description": "Enable deep pagination to paginate through all the results of a search query.",
					"title": "Enable Deep Pagination",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.search.elasticsearch7.configuration.DeepPaginationConfiguration",
					"title": "Deep Pagination Configuration"
				},
				"pointInTimeKeepAliveSeconds": {
					"default": 60,
					"description": "The amount of time in seconds the search engine will keep a point in time alive (between 1 and 60).",
					"title": "Point in Time Keep Alive",
					"type": "number"
				}
			},
			"required": [
				"pid"
			],
			"title": "Deep Pagination Configuration"
		},
		{
			"properties": {
				"cacheTimeout": {
					"default": 14400,
					"title": "Cache Timeout",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.portal.search.internal.configuration.SiteActivityAsahConfiguration",
					"title": "Analytics Cloud Search Site Activity"
				}
			},
			"required": [
				"pid"
			],
			"title": "Analytics Cloud Search Site Activity"
		},
		{
			"properties": {
				"cacheTimeout": {
					"default": 14400,
					"title": "Cache Timeout",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.portal.search.internal.configuration.UserActivityAsahConfiguration",
					"title": "Analytics Cloud Search User Activity"
				}
			},
			"required": [
				"pid"
			],
			"title": "Analytics Cloud Search User Activity"
		},
		{
			"properties": {
				"enableDeepPagination": {
					"default": false,
					"description": "Enable deep pagination to paginate through all the results of a search query.",
					"title": "Enable Deep Pagination",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.search.opensearch2.configuration.DeepPaginationConfiguration",
					"title": "Deep Pagination Configuration"
				},
				"pointInTimeKeepAliveSeconds": {
					"default": 60,
					"description": "The amount of time in seconds the search engine will keep a point in time alive (between 1 and 60).",
					"title": "Point in Time Keep Alive",
					"type": "number"
				}
			},
			"required": [
				"pid"
			],
			"title": "Deep Pagination Configuration"
		},
		{
			"properties": {
				"enableSuggestionsEndpoint": {
					"default": true,
					"description": "Enable or disable the suggestions REST endpoint. When disabled, search bar suggestions are not available for this virtual instance.",
					"title": "Enable Suggestions Endpoint",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.search.rest.configuration.SearchSuggestionsCompanyConfiguration",
					"title": "Search Suggestions"
				}
			},
			"required": [
				"pid"
			],
			"title": "Search Suggestions"
		},
		{
			"properties": {
				"enabled": {
					"default": false,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.security.auto.login.internal.basic.auth.header.configuration.BasicAuthHeaderAutoLoginConfiguration",
					"title": "Auto Login Basic Authentication Header"
				}
			},
			"required": [
				"pid"
			],
			"title": "Auto Login Basic Authentication Header"
		},
		{
			"properties": {
				"enabled": {
					"default": true,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.security.configuration.BasicAuthHeaderSupportConfiguration",
					"title": "Basic Authentication Protocol Support"
				}
			},
			"required": [
				"pid"
			],
			"title": "Basic Authentication Protocol Support"
		},
		{
			"properties": {
				"blacklist": {
					"items": {
						"type": "string"
					},
					"title": "Blacklist",
					"type": "array"
				},
				"enabled": {
					"default": true,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.security.iframe.sanitizer.configuration.IFrameConfiguration",
					"title": "IFrame Sanitizer"
				},
				"removeIFrameTags": {
					"default": false,
					"title": "Remove IFrame Tags",
					"type": "boolean"
				},
				"sandboxAttributeValues": {
					"default": "",
					"items": {
						"type": "string"
					},
					"title": "Sandbox Attribute Values",
					"type": "array"
				},
				"whitelist": {
					"default": "com.liferay.fragment.model.FragmentEntry|com.liferay.journal.model.JournalArticle",
					"items": {
						"type": "string"
					},
					"title": "Whitelist",
					"type": "array"
				}
			},
			"required": [
				"pid"
			],
			"title": "IFrame Sanitizer"
		},
		{
			"properties": {
				"companyId": {
					"default": 0,
					"title": "Company ID",
					"type": "number"
				},
				"enabled": {
					"default": false,
					"title": "Enabled",
					"type": "boolean"
				},
				"method": {
					"default": "bind",
					"description": "Set either bind or password-compare for the LDAP authentication method. Bind is preferred by most vendors so that you do not have to worry about encryption strategies.",
					"enum": [
						"bind",
						"password-compare"
					],
					"title": "Method",
					"type": "string"
				},
				"passwordEncryptionAlgorithm": {
					"default": "NONE",
					"description": "Set the password encryption to use for comparing passwords during import and to use for encrypting passwords during export. Comparing passwords during import will only be used when the property \"LDAPAuthConfiguration.method\" is set to password-compare. If the encryption is set to NONE, which is the default value, passwords are considered as plain text. The SHA-512 algorithm is currently unsupported.",
					"title": "Password Encryption Algorithm",
					"type": "string"
				},
				"passwordPolicyEnabled": {
					"default": false,
					"description": "Set this to true to use LDAP's password policy instead of the portal password policy. If set to true, it is possible that portal generated passwords will not match the LDAP policy. See the \"passwords.regexptoolkit.*\" properties for details on configuring RegExpToolkit in generating these passwords. Note that if this is enabled, the portal will not check for valid passwords, expired passwords, or users that are locked out. This is now handled by the LDAP server's password policy.",
					"title": "Password Policy Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.security.ldap.authenticator.configuration.LDAPAuthConfiguration",
					"title": "Authentication"
				},
				"required": {
					"default": false,
					"title": "Required",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Authentication"
		},
		{
			"properties": {
				"authSearchFilter": {
					"default": "(mail=@email_address@)",
					"description": "Enter the search filter that is used to test the validity of a user. The tokens @company_id@, @email_address@, @screen_name@, and @user_id@ are replaced at runtime with the correct values.",
					"title": "Authentication Search Filter",
					"type": "string"
				},
				"baseDN": {
					"default": "",
					"description": "The Base DN specifies the initial search context for users and is optional.",
					"title": "Base DN",
					"type": "string"
				},
				"baseProviderURL": {
					"default": "ldap://localhost:10389",
					"title": "Base Provider URL",
					"type": "string"
				},
				"clockSkew": {
					"default": 3000,
					"description": "The system time difference (in milliseconds) between the portal and the LDAP server. This is required for validating the user's modified timestamp during import.",
					"title": "Clock Skew",
					"type": "number"
				},
				"companyId": {
					"default": 0,
					"title": "Company ID",
					"type": "number"
				},
				"contactCustomMappings": {
					"default": "",
					"description": "When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal contact's custom attributes.",
					"items": {
						"type": "string"
					},
					"title": "Contact Custom Mappings",
					"type": "array"
				},
				"contactMappings": {
					"default": "birthday=|facebookSn=|jabberSn=|skypeSn=|smsSn=|twitterSn=",
					"description": "When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal contact attributes.",
					"items": {
						"type": "string"
					},
					"title": "Contact Mappings",
					"type": "array"
				},
				"groupDefaultObjectClasses": {
					"default": "top|groupOfUniqueNames",
					"description": "When a group is exported to LDAP and the group does not exist, the group will be created with the following default object classes.",
					"items": {
						"type": "string"
					},
					"title": "Group Default Object Classes",
					"type": "array"
				},
				"groupMappings": {
					"default": "description=description|groupName=cn|user=uniqueMember",
					"description": "When importing groups, the portal will use this mapping to connect LDAP group attributes and portal user group attributes.",
					"items": {
						"type": "string"
					},
					"title": "Group Mappings",
					"type": "array"
				},
				"groupSearchFilter": {
					"default": "(objectClass=groupOfUniqueNames)",
					"description": "Settings for importing groups from LDAP to the portal. These settings are not used unless the property \"LDAPImportConfiguration.enabled\" is set to true.",
					"title": "Group Search Filter",
					"type": "string"
				},
				"groupSearchFilterEnabled": {
					"default": true,
					"title": "Group Search Filter Enabled",
					"type": "boolean"
				},
				"groupsDN": {
					"default": "",
					"description": "New groups will be created at the specified DN. This will only be active if the property \"LDAPAuthConfiguration.enabled\" and \"LDAPExportConfiguration.enabled\" are set to true.",
					"title": "Groups DN",
					"type": "string"
				},
				"ignoreUserSearchFilterForAuth": {
					"default": true,
					"description": "When checked, users do not need to match the LDAP server's search filter to authenticate.",
					"title": "Ignore User Search Filter for Authentication",
					"type": "boolean"
				},
				"ldapServerId": {
					"default": 0,
					"title": "LDAP Server ID",
					"type": "number"
				},
				"modifiedDate": {
					"default": "",
					"title": "Modified Date",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.security.ldap.configuration.LDAPServerConfiguration",
					"title": "Servers"
				},
				"securityCredential": {
					"default": "secret",
					"title": "Security Credential",
					"type": "string"
				},
				"securityPrincipal": {
					"default": "",
					"title": "Security Principal",
					"type": "string"
				},
				"serverName": {
					"default": "",
					"title": "Server Name",
					"type": "string"
				},
				"userCustomMappings": {
					"default": "",
					"description": "When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal user's custom attributes.",
					"items": {
						"type": "string"
					},
					"title": "User Custom Mappings",
					"type": "array"
				},
				"userDefaultObjectClasses": {
					"default": "top|person|inetOrgPerson|organizationalPerson",
					"description": "When a user is exported to LDAP and the user does not exist, the user will be created with the following default object classes.",
					"items": {
						"type": "string"
					},
					"title": "User Default Object Classes",
					"type": "array"
				},
				"userIgnoreAttributes": {
					"default": "",
					"description": "Set the user attributes that are controlled from the portal. When adding or updating a user from LDAP, these attributes will be skipped.",
					"items": {
						"type": "string"
					},
					"title": "User Ignore Attributes",
					"type": "array"
				},
				"userMappings": {
					"default": "emailAddress=mail|firstName=givenName|group=groupMembership|jobTitle=title|lastName=sn|password=userPassword|screenName=cn|uuid=uuid",
					"description": "When importing and exporting users, the portal will use this mapping to connect LDAP user attributes and portal user attributes.",
					"items": {
						"type": "string"
					},
					"title": "User Mappings",
					"type": "array"
				},
				"userSearchFilter": {
					"default": "(objectClass=inetOrgPerson)",
					"description": "Settings for importing users from LDAP to the portal. These settings are not used unless the property \"LDAPImportConfiguration.enabled\" is set to true.",
					"title": "User Search Filter",
					"type": "string"
				},
				"usersDN": {
					"default": "",
					"description": "New users will be created at the specified DN. This will only be active if the property \"LDAPAuthConfiguration.enabled\" and \"LDAPExportConfiguration.enabled\" are set to true.",
					"title": "Users DN",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Servers"
		},
		{
			"properties": {
				"companyId": {
					"default": 0,
					"title": "Company ID",
					"type": "number"
				},
				"connectionProperties": {
					"default": "com.sun.jndi.ldap.connect.pool=true|com.sun.jndi.ldap.connect.timeout=500|com.sun.jndi.ldap.read.timeout=15000",
					"items": {
						"type": "string"
					},
					"title": "Connection Properties",
					"type": "array"
				},
				"errorPasswordAgeKeywords": {
					"default": "age",
					"items": {
						"type": "string"
					},
					"title": "Error Password Age Keywords",
					"type": "array"
				},
				"errorPasswordExpiredKeywords": {
					"default": "expired",
					"items": {
						"type": "string"
					},
					"title": "Error Password Expired Keywords",
					"type": "array"
				},
				"errorPasswordHistoryKeywords": {
					"default": "history",
					"items": {
						"type": "string"
					},
					"title": "Error Password History Keywords",
					"type": "array"
				},
				"errorPasswordNotChangeableKeywords": {
					"default": "not allowed to change",
					"items": {
						"type": "string"
					},
					"title": "Error Password Not Changeable Keywords",
					"type": "array"
				},
				"errorPasswordSyntaxKeywords": {
					"default": "syntax",
					"items": {
						"type": "string"
					},
					"title": "Error Password Syntax Keywords",
					"type": "array"
				},
				"errorPasswordTrivialTextKeywords": {
					"default": "trivial",
					"items": {
						"type": "string"
					},
					"title": "Error Password Trivial Text Keywords",
					"type": "array"
				},
				"errorUserLockoutKeywords": {
					"default": "retry limit",
					"items": {
						"type": "string"
					},
					"title": "Error User Lockout Keywords",
					"type": "array"
				},
				"factoryInitial": {
					"default": "com.sun.jndi.ldap.LdapCtxFactory",
					"title": "Factory Initial",
					"type": "string"
				},
				"pageSize": {
					"default": 1000,
					"description": "Set the page size for directory servers that support paging. This value needs to be 1000 or less for the Microsoft Active Directory Server.",
					"title": "Page Size",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.portal.security.ldap.configuration.SystemLDAPConfiguration",
					"title": "Connection"
				},
				"rangeSize": {
					"default": 1000,
					"description": "Set the number of values to return in each query to a multivalued attribute for directory servers that support range retrieval. The range size must be 1000 or less for Windows 2000 and 1500 or less for Windows Server 2003.",
					"title": "Range Size",
					"type": "number"
				},
				"referral": {
					"default": "follow",
					"enum": [
						"follow",
						"ignore",
						"throws"
					],
					"title": "Referral",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Connection"
		},
		{
			"properties": {
				"companyId": {
					"default": 0,
					"title": "Company ID",
					"type": "number"
				},
				"exportEnabled": {
					"default": false,
					"description": "Settings for exporting users from the portal to LDAP. This allows a user to modify his first name, last name, etc. in the portal and have that change pushed to the LDAP server. This setting is not used unless the property \"LDAPAuthConfiguration.enabled\" is set to true.",
					"title": "Export Enabled",
					"type": "boolean"
				},
				"exportGroupEnabled": {
					"default": true,
					"description": "Set this to true if groups and their associations should be exported from the portal to LDAP. This setting is not used unless the property \"LDAPAuthConfiguration.enabled\" is set to true.",
					"title": "Export Group Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.portal.security.ldap.exportimport.configuration.LDAPExportConfiguration",
					"title": "Export"
				}
			},
			"required": [
				"pid"
			],
			"title": "Export"
		},
		{
			"properties": {
				"companyId": {
					"default": 0,
					"title": "Company ID",
					"type": "number"
				},
				"importCreateRolePerGroup": {
					"default": false,
					"description": "Set this to true if the portal should automatically create a role per group imported from LDAP. The role will be assigned to the group so that users can automatically inherit that role when they are assigned to the group.",
					"title": "Create Role per Group",
					"type": "boolean"
				},
				"importEnabled": {
					"default": false,
					"title": "Enable Import",
					"type": "boolean"
				},
				"importGroupCacheEnabled": {
					"default": true,
					"description": "Specify whether time-group DN lookups will be cached during LDAP import and login. If set to true, this will speed up LDAP import and login, but updates to group attributes will not be recognized until the cache entry expires. The cache size and timeout may be configured for the cache using the cache name \"com.liferay.portal.security.exportimport.UserImporter\".",
					"title": "Enable Group Cache",
					"type": "boolean"
				},
				"importInterval": {
					"default": 10,
					"min": 1,
					"title": "Import Interval",
					"type": "number"
				},
				"importLockExpirationTime": {
					"default": 86400000,
					"description": "Set the lock expiration time for LDAP import. By default, the expiration time is 1 day.",
					"title": "Lock Expiration Time",
					"type": "number"
				},
				"importMethod": {
					"default": "user",
					"description": "Set either user or group for import method. If set to user, the portal imports all users and the groups associated with those users. If set to group, the portal imports all groups and the users associated with those groups. This value should be set based on how your LDAP server stores group membership information.",
					"enum": [
						"group",
						"user"
					],
					"title": "Import Method",
					"type": "string"
				},
				"importOnStartup": {
					"default": false,
					"title": "Enable Import on Startup",
					"type": "boolean"
				},
				"importUserPasswordAutogenerated": {
					"default": false,
					"title": "Autogenerate User Password",
					"type": "boolean"
				},
				"importUserPasswordDefault": {
					"default": "test",
					"title": "Default User Password",
					"type": "string"
				},
				"importUserPasswordEnabled": {
					"default": true,
					"title": "Enable User Password",
					"type": "boolean"
				},
				"importUserSyncStrategy": {
					"default": "auth-type",
					"enum": [
						"auth-type",
						"uuid"
					],
					"title": "Import User Synchronization Strategy",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.security.ldap.exportimport.configuration.LDAPImportConfiguration",
					"title": "Import"
				}
			},
			"required": [
				"pid"
			],
			"title": "Import"
		},
		{
			"properties": {
				"authorizationEndPoint": {
					"default": "",
					"description": "Set the authorization endpoint for the OpenID Connect provider.",
					"title": "Authorization Endpoint",
					"type": "string"
				},
				"customAuthorizationRequestParameters": {
					"default": "",
					"description": "Add custom authorization request parameters, e.g.: resource=https://contacts.google.com https://maps.google.com",
					"items": {
						"type": "string"
					},
					"title": "Custom Authorization Request Parameters",
					"type": "array"
				},
				"customTokenRequestParameters": {
					"default": "",
					"description": "Add custom token request parameters, e.g.: resource=https://contacts.google.com https://maps.google.com",
					"items": {
						"type": "string"
					},
					"title": "Custom Token Request Parameters",
					"type": "array"
				},
				"discoveryEndPoint": {
					"default": "",
					"description": "Set the discovery endpoint for the OpenID Connect provider. If this is set, manually set endpoints will be ignored.",
					"title": "Discovery Endpoint",
					"type": "string"
				},
				"discoveryEndPointCacheInMillis": {
					"default": 360000,
					"description": "Discovery endpoint metadata will be cached on this interval in milliseconds. If 0 is set, the metadata is never refreshed.",
					"title": "Discovery Endpoint Cache in Milliseconds",
					"type": "number"
				},
				"idTokenSigningAlgValues": {
					"default": "RS256",
					"description": "Set the supported ID token signing algorithms for the OpenID Connect Provider. If the discovery endpoint is not specified, these algorithms are used. In this case, the algorithm RS256 must be included and must be the first algorithm in the list. If the discovery endpoint is specified, no algorithms should be specified here since the supported signing algorithms for the identity token are obtained from the discovery endpoint.",
					"items": {
						"type": "string"
					},
					"title": "ID Token Signing Algorithms",
					"type": "array"
				},
				"issuerURL": {
					"default": "",
					"description": "Set the issuer URL for the OpenID Connect provider.",
					"title": "Issuer URL",
					"type": "string"
				},
				"jwksURI": {
					"default": "",
					"description": "Set the JWKS URI for the OpenID Connect provider.",
					"title": "JWKS URI",
					"type": "string"
				},
				"openIdConnectClientId": {
					"default": "",
					"description": "Set the client ID for the OpenID Connect provider.",
					"title": "OpenID Connect Client ID",
					"type": "string"
				},
				"openIdConnectClientSecret": {
					"default": "",
					"description": "Set the client secret for the OpenID Connect provider.",
					"title": "OpenID Connect Client Secret",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.security.sso.openid.connect.internal.configuration.OpenIdConnectProviderConfiguration",
					"title": "OpenID Connect Provider Connection"
				},
				"providerName": {
					"default": "",
					"description": "Set the name for the OpenID Connect provider.",
					"title": "Provider Name",
					"type": "string"
				},
				"registeredIdTokenSigningAlg": {
					"default": "",
					"description": "Set the ID token signing algorithm registered with the OpenId Connect provider. The default is RS256.",
					"title": "Registered ID Token Signing Algorithm",
					"type": "string"
				},
				"scopes": {
					"default": "openid email profile",
					"description": "Set the scopes Liferay will request during authentication. Scopes are delimited with spaces.",
					"title": "Scopes",
					"type": "string"
				},
				"subjectTypes": {
					"default": "",
					"description": "Set the subject types for the OpenID Connect provider.",
					"items": {
						"type": "string"
					},
					"title": "Subject Types",
					"type": "array"
				},
				"tokenConnectionTimeout": {
					"default": 1000,
					"description": "Set the amount of time to wait (in milliseconds) when establishing a connection to validate the token before timing out. A value of 0 means infinity and is not recommended.",
					"title": "Token Connection Timeout in Milliseconds",
					"type": "number"
				},
				"tokenEndPoint": {
					"default": "",
					"description": "Set the token endpoint for the OpenID Connect provider.",
					"title": "Token Endpoint",
					"type": "string"
				},
				"userInfoEndPoint": {
					"default": "",
					"description": "Set the user information endpoint for the OpenID Connect provider.",
					"title": "User Information Endpoint",
					"type": "string"
				}
			},
			"required": [
				"pid",
				"openIdConnectClientId",
				"openIdConnectClientSecret",
				"providerName",
				"scopes"
			],
			"title": "OpenID Connect Provider Connection"
		},
		{
			"properties": {
				"pageSizeLimit": {
					"default": 500,
					"description": "Set the page size limit of elements that can be recovered through REST. Enter a negative number or zero for unlimited page size.",
					"title": "Page Size Limit",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.portal.vulcan.internal.configuration.HeadlessAPICompanyConfiguration",
					"title": "Headless API"
				},
				"queryDepthLimit": {
					"default": 20,
					"description": "Set the query depth limit for GraphQL. Enter a negative number or zero for an unlimited query depth.",
					"title": "Query Depth Limit",
					"type": "number"
				}
			},
			"required": [
				"pid"
			],
			"title": "Headless API"
		},
		{
			"properties": {
				"excludedOperationIds": {
					"title": "Excluded Operation IDs",
					"type": "string"
				},
				"graphQLEnabled": {
					"default": true,
					"title": "GraphQL API",
					"type": "boolean"
				},
				"path": {
					"default": "/api",
					"title": "Path",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.portal.vulcan.internal.configuration.VulcanCompanyConfiguration",
					"title": "Headless API Endpoint"
				},
				"restEnabled": {
					"default": true,
					"title": "REST API",
					"type": "boolean"
				}
			},
			"required": [
				"pid",
				"path"
			],
			"title": "Headless API Endpoint"
		},
		{
			"properties": {
				"enableApplicationsMenu": {
					"default": true,
					"description": "When enabled, the control panel applications and cross-site applications will be accessible through the new applications menu which can be accessed by clicking the grid menu icon in the upper-right corner.",
					"title": "Enable Applications Menu",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.product.navigation.applications.menu.configuration.ApplicationsMenuInstanceConfiguration",
					"title": "Applications Menu"
				}
			},
			"required": [
				"pid"
			],
			"title": "Applications Menu"
		},
		{
			"properties": {
				"personalApplicationsLookAndFeel": {
					"default": "current-site",
					"description": "Define the look and feel for personal applications. Use the same look and feel of the current site or My Dashboard pages.",
					"enum": [
						"current-site",
						"my-dashboard"
					],
					"title": "Personal Applications Look and Feel",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.product.navigation.personal.menu.configuration.PersonalMenuConfiguration",
					"title": "Personal Menu"
				},
				"showInControlMenu": {
					"default": false,
					"description": "Enable to always show the Personal Menu in the Control Menu. This guarantees users can always access the Personal Menu even if a theme does not provide it.",
					"title": "Show in Control Menu",
					"type": "boolean"
				},
				"showNotificationBadgeInPersonalMenu": {
					"default": true,
					"description": "Enable to show the notification badge in the Personal Menu.",
					"title": "Show Notification Badge in Personal Menu",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Personal Menu"
		},
		{
			"description": "Configure which domains or IP addresses can be redirected to.",
			"properties": {
				"allowedDomains": {
					"default": "localhost|PORTAL_DOMAINS",
					"description": "Set the domains which the portal is allowed to redirect to. Remove all entries to allow any domain. Specifying a domain with a leading \"*.\" allows redirects to subdomains. PORTAL_DOMAINS will be replaced with the current domain of the portal or site.",
					"items": {
						"type": "string"
					},
					"title": "Allowed Domains",
					"type": "array"
				},
				"allowedIPs": {
					"default": "127.0.0.1|SERVER_IP",
					"description": "Set the IPs which the portal is allowed to redirect to. Remove all entries to allow any IP. SERVER_IP will be replaced with the IP of the host server.",
					"items": {
						"type": "string"
					},
					"title": "Allowed IPs",
					"type": "array"
				},
				"pid": {
					"const": "com.liferay.redirect.internal.configuration.RedirectURLConfiguration",
					"description": "Configure which domains or IP addresses can be redirected to.",
					"title": "Redirect URLs"
				},
				"securityMode": {
					"default": "domain",
					"description": "If you are redirecting by domain, the portal will only redirect users to domains defined in the \"Redirect URL Domains Allowed\" fields. If you are redirecting by IP, the portal will only redirect to domains whose IP address resolves to an IP address defined in one of the \"Redirect URL IPs Allowed\" fields.",
					"enum": [
						"domain",
						"ip"
					],
					"title": "Security Mode",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Redirect URLs"
		},
		{
			"properties": {
				"allowShowingTheLoginPortlet": {
					"default": true,
					"description": "Allow showing the login portlet when no SAML IdP is matched to the login request.",
					"title": "Allow showing the login portlet.",
					"type": "boolean"
				},
				"assertionSignatureRequired": {
					"description": "Choose whether assertions must be signed by the IdP",
					"title": "Require Assertion Signature?",
					"type": "boolean"
				},
				"authnRequestSignatureRequired": {
					"default": true,
					"description": "Choose whether the IdP Authn requests from SPs must be signed.",
					"title": "Require Authn Request Signature?",
					"type": "boolean"
				},
				"authnRequestSigningAllowsDynamicACSURL": {
					"default": true,
					"description": "When the Authn request is signed, the service provider can request to use other ACS (Assertion Consumer Service) URLs not specified in the metadata for receiving the Authn response.",
					"title": "Authn Request Signing Allows Dynamic ACS URL",
					"type": "boolean"
				},
				"clockSkew": {
					"default": 3000,
					"description": "The system time difference (in milliseconds) between this SP and the IdP. Required for correct message validation.",
					"title": "Clock Skew",
					"type": "number"
				},
				"companyId": {
					"default": 0,
					"title": "Company ID",
					"type": "number"
				},
				"defaultAssertionLifetime": {
					"default": 1800,
					"description": "Defines how long IdP assertions last (in seconds). Used when configuring new SP connections.",
					"title": "Default Assertion Lifetime",
					"type": "number"
				},
				"enabled": {
					"title": "Enabled",
					"type": "boolean"
				},
				"entityId": {
					"description": "The local SAML entity's ID",
					"title": "Entity ID",
					"type": "string"
				},
				"keyStoreCredentialPassword": {
					"default": "liferay",
					"description": "Set the password used to protect the entry within the keystore.",
					"title": "Keystore Credential Password",
					"type": "string"
				},
				"keyStoreEncryptionCredentialPassword": {
					"default": "liferay",
					"description": "Password used to protect the encryption entry within the keystore",
					"title": "Keystore Encryption Credential Password",
					"type": "string"
				},
				"ldapImportEnabled": {
					"description": "After IdP authentication, import user attributes from the LDAP servers configured via This SP's instance settings",
					"title": "LDAP Import Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.saml.runtime.configuration.SamlProviderConfiguration",
					"title": "SAML Provider Configuration"
				},
				"role": {
					"title": "SAML Role",
					"type": "string"
				},
				"sessionMaximumAge": {
					"description": "SSO session time limit managed by the IdP (in seconds)",
					"title": "Session Maximum Age",
					"type": "number"
				},
				"sessionTimeout": {
					"description": "Time (in seconds) till idle session expires",
					"title": "Session Idle Timeout",
					"type": "number"
				},
				"signAuthnRequest": {
					"default": true,
					"description": "Sign Authn Requests from This SP",
					"title": "Sign Authn Requests?",
					"type": "boolean"
				},
				"signMetadata": {
					"default": true,
					"description": "Sign metadata provided to peer SAML entities",
					"title": "Sign Metadata?",
					"type": "boolean"
				},
				"sslRequired": {
					"description": "Require SAML messages to be exchanged over SSL. URLs in the metadata provided to peer SAML entities become https.",
					"title": "SSL Required",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "SAML Provider Configuration"
		},
		{
			"properties": {
				"apiKey": {
					"default": "",
					"title": "API Key",
					"type": "string"
				},
				"apiURL": {
					"default": "http://api.ipstack.com",
					"title": "API URL",
					"type": "string"
				},
				"cacheTimeout": {
					"default": 604800,
					"title": "Cache Timeout",
					"type": "number"
				},
				"enabled": {
					"default": false,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.search.experiences.internal.configuration.IpstackConfiguration",
					"title": "Ipstack"
				}
			},
			"required": [
				"pid"
			],
			"title": "Ipstack"
		},
		{
			"properties": {
				"apiKey": {
					"default": "",
					"title": "API Key",
					"type": "string"
				},
				"apiURL": {
					"default": "http://api.openweathermap.org/data/2.5/weather",
					"title": "API URL",
					"type": "string"
				},
				"cacheTimeout": {
					"default": 604800,
					"title": "Cache Timeout",
					"type": "number"
				},
				"enabled": {
					"default": false,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.search.experiences.internal.configuration.OpenWeatherMapConfiguration",
					"title": "OpenWeatherMap"
				},
				"units": {
					"default": "metric",
					"enum": [
						"imperial",
						"metric",
						"standard"
					],
					"title": "Units",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "OpenWeatherMap"
		},
		{
			"properties": {
				"anonymousUserSegmentsCacheExpirationTime": {
					"default": 86400,
					"description": "Define the time (in seconds) before clearing the Anonymous Segment cache.",
					"title": "Anonymous User Segments Cache Expiration Time",
					"type": "number"
				},
				"interestTermsCacheExpirationTime": {
					"default": 86400,
					"description": "Define the time (in seconds) before clearing the Interest Terms cache.",
					"title": "Interest Terms Cache Expiration Time",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.segments.asah.connector.internal.configuration.SegmentsAsahCompanyConfiguration",
					"title": "Analytics Cloud Segments"
				}
			},
			"required": [
				"pid"
			],
			"title": "Analytics Cloud Segments"
		},
		{
			"properties": {
				"pid": {
					"const": "com.liferay.segments.configuration.SegmentsCompanyConfiguration",
					"title": "Segments Service"
				},
				"roleSegmentationEnabled": {
					"default": false,
					"description": "When checked, this option allows assigning roles to users dynamically.",
					"title": "Enable Assign Roles by Segment",
					"type": "boolean"
				},
				"segmentationEnabled": {
					"default": true,
					"description": "Disable this option to prevent user segmentation on every request. If disabled, collections and experiences personalization will not be available.",
					"title": "Enable Segmentation",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Segments Service"
		},
		{
			"description": "Link a session property to a vocabulary.",
			"properties": {
				"assetVocabularyName": {
					"title": "Vocabulary Name",
					"type": "string"
				},
				"entityFieldName": {
					"title": "Session Property Name",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.segments.context.vocabulary.internal.configuration.SegmentsContextVocabularyCompanyConfiguration",
					"description": "Link a session property to a vocabulary.",
					"title": "Session Property Vocabularies"
				}
			},
			"required": [
				"pid",
				"assetVocabularyName",
				"entityFieldName"
			],
			"title": "Session Property Vocabularies"
		},
		{
			"properties": {
				"authorizationGrantEndpoint": {
					"title": "Authorization Grant Endpoint",
					"type": "string"
				},
				"authorizationTokenEndpoint": {
					"title": "Authorization Token Endpoint",
					"type": "string"
				},
				"clientId": {
					"title": "Client ID",
					"type": "string"
				},
				"clientSecret": {
					"title": "Client Secret",
					"type": "string"
				},
				"name": {
					"title": "Name",
					"type": "string"
				},
				"pid": {
					"const": "com.liferay.sharepoint.rest.repository.internal.configuration.SharepointRepositoryConfiguration",
					"title": "Sharepoint OAuth2"
				},
				"resource": {
					"title": "Resource",
					"type": "string"
				},
				"scope": {
					"title": "Scope",
					"type": "string"
				},
				"siteDomain": {
					"title": "Site Domain",
					"type": "string"
				},
				"tenantId": {
					"title": "Tenant ID",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Sharepoint OAuth2"
		},
		{
			"properties": {
				"enabled": {
					"default": true,
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.sharing.internal.configuration.SharingCompanyConfiguration",
					"title": "Sharing"
				}
			},
			"required": [
				"pid"
			],
			"title": "Sharing"
		},
		{
			"properties": {
				"companySitemapGroupIds": {
					"default": "",
					"items": {
						"type": "string"
					},
					"title": "Sites Included in the XML Sitemap",
					"type": "array"
				},
				"includeCategories": {
					"default": true,
					"title": "Include Category URLs in the XML Sitemap",
					"type": "boolean"
				},
				"includePages": {
					"default": true,
					"title": "Include Page URLs in the XML Sitemap",
					"type": "boolean"
				},
				"includeWebContent": {
					"default": true,
					"title": "Include Web Content URLs in the XML Sitemap",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.site.internal.configuration.SitemapCompanyConfiguration",
					"title": "XML Sitemap"
				},
				"xmlSitemapIndexEnabled": {
					"default": true,
					"title": "XML Sitemap Index Enabled",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "XML Sitemap"
		},
		{
			"properties": {
				"enableUserSocialActivityTracking": {
					"default": true,
					"title": "Enable User Social Activity Tracking",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.social.activity.internal.configuration.SocialActivityCompanyConfiguration",
					"title": "Social Activity"
				}
			},
			"required": [
				"pid"
			],
			"title": "Social Activity"
		},
		{
			"description": "The settings in this configuration let you control the staging process.",
			"properties": {
				"pid": {
					"const": "com.liferay.staging.configuration.StagingConfiguration",
					"description": "The settings in this configuration let you control the staging process.",
					"title": "Staging"
				},
				"publishDisplayedContent": {
					"default": false,
					"description": "If checked, the displayed content will be published to Live for Dynamic Data Lists Display, Form, Web Content Display and Wiki Display. These widgets will publish the displayed content to Live independently of the Publish Process settings. For example, a Web Content Display will publish the Web Content even if Web Contents were not selected on the Publish Process screen. This can be useful to make sure that Staging and Live display the same content. However, in most cases the content is already available in Live and publishing it again can slow down the process unnecessarily. Uncheck to not publish the displayed content.",
					"title": "Publish Displayed Content by Default",
					"type": "boolean"
				},
				"publishParentLayoutsByDefault": {
					"default": true,
					"description": "If checked, parent pages are always published to live.",
					"title": "Publish Parent Pages by Default",
					"type": "boolean"
				},
				"stagingDeleteTempLAROnFailure": {
					"default": true,
					"description": "Uncheck to avoid deleting the temporary LAR during a failed staging publish process. In remote staging contexts, this only applies for the staging environment.",
					"title": "Delete temporary LAR during a failed staging publish process.",
					"type": "boolean"
				},
				"stagingDeleteTempLAROnSuccess": {
					"default": true,
					"description": "Uncheck to avoid deleting the temporary LAR during a successful staging publish process. In remote staging contexts, this only applies for the staging environment.",
					"title": "Delete temporary LAR during a successful staging publish process.",
					"type": "boolean"
				},
				"stagingUseVirtualHostForRemoteSite": {
					"default": false,
					"description": "The remote environment's virtual host is used when accessing the remote live site from the staged site.",
					"title": "Use the virtual host of the remote site.",
					"type": "boolean"
				}
			},
			"required": [
				"pid"
			],
			"title": "Staging"
		},
		{
			"properties": {
				"accessKey": {
					"default": "",
					"title": "Access Key",
					"type": "string"
				},
				"enabled": {
					"default": false,
					"description": "Enable or disable the integration with Amazon Translate API for automatic translations.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.translation.translator.aws.internal.configuration.AWSTranslatorConfiguration",
					"title": "Translator Using Amazon Translate"
				},
				"region": {
					"default": "us-west-1",
					"title": "Region",
					"type": "string"
				},
				"secretKey": {
					"default": "",
					"title": "Secret Key",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Translator Using Amazon Translate"
		},
		{
			"properties": {
				"enabled": {
					"default": false,
					"description": "Enable or disable the integration with Microsoft Translate API for automatic translations.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.translation.translator.azure.internal.configuration.AzureTranslatorConfiguration",
					"title": "Translator Using Microsoft Translate"
				},
				"resourceLocation": {
					"default": "",
					"title": "Resource Location",
					"type": "string"
				},
				"subscriptionKey": {
					"default": "",
					"title": "Subscription Key",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Translator Using Microsoft Translate"
		},
		{
			"properties": {
				"authKey": {
					"title": "Token",
					"type": "string"
				},
				"enabled": {
					"default": false,
					"description": "Enable or disable the integration with DeepL Translate API for automatic translations.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.translation.translator.deepl.internal.configuration.DeepLTranslatorConfiguration",
					"title": "Translator Using DeepL Translate"
				},
				"url": {
					"default": "https://api-free.deepl.com/v2/translate",
					"title": "API URL",
					"type": "string"
				},
				"validateLanguageURL": {
					"default": "https://api-free.deepl.com/v2/languages",
					"title": "DeepL Validation API",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Translator Using DeepL Translate"
		},
		{
			"properties": {
				"enabled": {
					"default": false,
					"description": "Enable or disable the integration with Google Cloud Translation API for automatic translations.",
					"title": "Enabled",
					"type": "boolean"
				},
				"pid": {
					"const": "com.liferay.translation.translator.google.cloud.internal.configuration.GoogleCloudTranslatorConfiguration",
					"title": "Translator Using Google Cloud"
				},
				"serviceAccountPrivateKey": {
					"default": "",
					"description": "Specify the service account private key in JSON format.",
					"title": "Service Account Private Key",
					"type": "string"
				}
			},
			"required": [
				"pid"
			],
			"title": "Translator Using Google Cloud"
		},
		{
			"properties": {
				"pid": {
					"const": "com.liferay.user.associated.data.web.internal.configuration.AnonymousUserConfiguration",
					"title": "Anonymous User"
				},
				"userId": {
					"default": 0,
					"description": "The user ID of the user designated as the anonymous user. This user will be used to replace a given user's data when an anonymization operation is requested.",
					"title": "User ID",
					"type": "number"
				}
			},
			"required": [
				"pid"
			],
			"title": "Anonymous User"
		},
		{
			"properties": {
				"imageCheckToken": {
					"default": true,
					"description": "Enable to check the image token for user portraits and organization logos before displaying them.",
					"title": "Check Image Token",
					"type": "boolean"
				},
				"imageDefaultUseInitials": {
					"default": true,
					"description": "Enable to set the user's initials as the default user portrait. Otherwise, the default portrait image files will be used. The default portrait image path is set by the \"image.default.user.portrait\" property in portal.properties.",
					"title": "Use Initials For Default User Portrait",
					"type": "boolean"
				},
				"imageMaxHeight": {
					"default": 290,
					"description": "Set the maximum user portrait height in pixels. A value of 0 indicates no restrictions on user portrait dimensions.",
					"title": "Maximum Height",
					"type": "number"
				},
				"imageMaxSize": {
					"default": 307200,
					"description": "Set the maximum file size in bytes for user portraits. A value of 0 indicates no limit. Regardless of the value entered here, uploaded files cannot exceed the \"Max Size\" set in System Settings > Infrastructure > Upload Servlet Request.",
					"title": "Maximum File Size",
					"type": "number"
				},
				"imageMaxWidth": {
					"default": 290,
					"description": "Set the maximum user portrait width in pixels. A value of 0 indicates no restrictions on user portrait dimensions.",
					"title": "Maximum Width",
					"type": "number"
				},
				"pid": {
					"const": "com.liferay.users.admin.configuration.UserFileUploadsConfiguration",
					"title": "User Images"
				}
			},
			"required": [
				"pid"
			],
			"title": "User Images"
		}
	],
	"properties": {
		"pid": {
			"enum": [
				"com.liferay.account.configuration.AccountEntryEmailConfiguration",
				"com.liferay.account.configuration.AccountEntryEmailDomainsConfiguration",
				"com.liferay.adaptive.media.image.content.transformer.backwards.compatibility.internal.configuration.AMBackwardsCompatibilityHtmlContentTransformerConfiguration",
				"com.liferay.adaptive.media.image.internal.configuration.AMImageCompanyConfiguration",
				"com.liferay.ai.creator.openai.configuration.AICreatorOpenAICompanyConfiguration",
				"com.liferay.analytics.settings.configuration.AnalyticsConfiguration",
				"com.liferay.asset.auto.tagger.google.cloud.natural.language.internal.configuration.GCloudNaturalLanguageAssetAutoTaggerCompanyConfiguration",
				"com.liferay.asset.auto.tagger.internal.configuration.AssetAutoTaggerCompanyConfiguration",
				"com.liferay.asset.auto.tagger.opennlp.internal.configuration.OpenNLPDocumentAssetAutoTaggerCompanyConfiguration",
				"com.liferay.asset.categories.configuration.AssetCategoriesCompanyConfiguration",
				"com.liferay.batch.engine.configuration.BatchEngineTaskCompanyConfiguration",
				"com.liferay.change.tracking.configuration.CTCollectionEmailConfiguration",
				"com.liferay.change.tracking.configuration.CTConflictConfiguration",
				"com.liferay.change.tracking.configuration.CTSettingsConfiguration",
				"com.liferay.change.tracking.web.internal.configuration.CTConfiguration",
				"com.liferay.click.to.chat.web.internal.configuration.ClickToChatConfiguration",
				"com.liferay.client.extension.type.configuration.CETConfiguration",
				"com.liferay.commerce.payment.configuration.CommercePaymentEntryAuditConfiguration",
				"com.liferay.commerce.payment.configuration.CommercePaymentEntryRefundTypeConfiguration",
				"com.liferay.commerce.product.configuration.CPDefinitionOptionRelConfiguration",
				"com.liferay.commerce.product.configuration.CPFriendlyURLConfiguration",
				"com.liferay.commerce.qualifier.configuration.AccountEntryCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.AccountGroupCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.AddressCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.COREntryCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommerceChannelCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommerceCurrencyCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommerceDiscountCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommerceInventoryWarehouseCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommerceOrderTypeCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommercePaymentMethodGroupRelCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommercePriceListCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommerceShippingFixedOptionCommerceQualifierConfiguration",
				"com.liferay.commerce.qualifier.configuration.CommerceTermEntryCommerceQualifierConfiguration",
				"com.liferay.digital.signature.configuration.DigitalSignatureConfiguration",
				"com.liferay.document.library.asset.auto.tagger.google.cloud.vision.internal.configuration.GCloudVisionAssetAutoTagProviderCompanyConfiguration",
				"com.liferay.document.library.asset.auto.tagger.microsoft.cognitive.services.internal.configuration.MSCognitiveServicesAssetAutoTagProviderCompanyConfiguration",
				"com.liferay.document.library.asset.auto.tagger.tensorflow.internal.configuration.TensorFlowImageAssetAutoTagProviderCompanyConfiguration",
				"com.liferay.document.library.configuration.DLFileEntryFriendlyURLConfiguration",
				"com.liferay.document.library.google.drive.configuration.DLGoogleDriveCompanyConfiguration",
				"com.liferay.document.library.internal.configuration.DLIndexerConfiguration",
				"com.liferay.document.library.opener.onedrive.web.internal.configuration.DLOneDriveCompanyConfiguration",
				"com.liferay.document.library.web.internal.configuration.CacheControlConfiguration",
				"com.liferay.exportimport.configuration.ExportImportServiceConfiguration",
				"com.liferay.flags.configuration.FlagsGroupServiceConfiguration",
				"com.liferay.fragment.configuration.FragmentJavaScriptConfiguration",
				"com.liferay.fragment.configuration.FragmentServiceConfiguration",
				"com.liferay.fragment.entry.processor.freemarker.internal.configuration.FreeMarkerFragmentEntryProcessorConfiguration",
				"com.liferay.fragment.web.internal.configuration.FragmentPortletConfiguration",
				"com.liferay.friendly.url.configuration.FriendlyURLRedirectionConfiguration",
				"com.liferay.friendly.url.configuration.FriendlyURLSeparatorCompanyConfiguration",
				"com.liferay.frontend.js.web.internal.configuration.CustomDialogsSettingsConfiguration",
				"com.liferay.journal.configuration.JournalServiceConfiguration",
				"com.liferay.layout.content.page.editor.web.internal.configuration.PageEditorConfiguration",
				"com.liferay.layout.locked.layouts.web.internal.configuration.LockedLayoutsCompanyConfiguration",
				"com.liferay.layout.reports.web.internal.configuration.LayoutReportsGooglePageSpeedCompanyConfiguration",
				"com.liferay.layout.seo.internal.configuration.LayoutSEOCompanyConfiguration",
				"com.liferay.layout.set.prototype.configuration.LayoutSetPrototypeConfiguration",
				"com.liferay.mail.outlook.auth.connector.provider.internal.configuration.MailOutlookAuthConnectorCompanyConfiguration",
				"com.liferay.multi.factor.authentication.email.otp.configuration.MFAEmailOTPConfiguration",
				"com.liferay.multi.factor.authentication.fido2.web.internal.configuration.MFAFIDO2Configuration",
				"com.liferay.multi.factor.authentication.ip.address.internal.configuration.MFAIPAddressConfiguration",
				"com.liferay.multi.factor.authentication.sample.internal.configuration.MFASampleConfiguration",
				"com.liferay.multi.factor.authentication.timebased.otp.web.internal.configuration.MFATimeBasedOTPConfiguration",
				"com.liferay.oauth2.provider.rest.internal.configuration.OAuth2InAssertionConfiguration",
				"com.liferay.oauth2.provider.rest.internal.endpoint.authorize.configuration.AuthorizeScreenConfiguration",
				"com.liferay.object.configuration.ObjectConfiguration",
				"com.liferay.portal.crypto.hash.provider.bcrypt.internal.configuration.BCryptCryptoHashProviderConfiguration",
				"com.liferay.portal.crypto.hash.provider.message.digest.internal.configuration.MessageDigestCryptoHashProviderConfiguration",
				"com.liferay.portal.defaultpermissions.configuration.PortalDefaultPermissionsCompanyConfiguration",
				"com.liferay.portal.remote.cors.configuration.PortalCORSConfiguration",
				"com.liferay.portal.search.configuration.SemanticSearchConfiguration",
				"com.liferay.portal.search.elasticsearch7.configuration.DeepPaginationConfiguration",
				"com.liferay.portal.search.internal.configuration.SiteActivityAsahConfiguration",
				"com.liferay.portal.search.internal.configuration.UserActivityAsahConfiguration",
				"com.liferay.portal.search.opensearch2.configuration.DeepPaginationConfiguration",
				"com.liferay.portal.search.rest.configuration.SearchSuggestionsCompanyConfiguration",
				"com.liferay.portal.security.auto.login.internal.basic.auth.header.configuration.BasicAuthHeaderAutoLoginConfiguration",
				"com.liferay.portal.security.configuration.BasicAuthHeaderSupportConfiguration",
				"com.liferay.portal.security.iframe.sanitizer.configuration.IFrameConfiguration",
				"com.liferay.portal.security.ldap.authenticator.configuration.LDAPAuthConfiguration",
				"com.liferay.portal.security.ldap.configuration.LDAPServerConfiguration",
				"com.liferay.portal.security.ldap.configuration.SystemLDAPConfiguration",
				"com.liferay.portal.security.ldap.exportimport.configuration.LDAPExportConfiguration",
				"com.liferay.portal.security.ldap.exportimport.configuration.LDAPImportConfiguration",
				"com.liferay.portal.security.sso.openid.connect.internal.configuration.OpenIdConnectProviderConfiguration",
				"com.liferay.portal.vulcan.internal.configuration.HeadlessAPICompanyConfiguration",
				"com.liferay.portal.vulcan.internal.configuration.VulcanCompanyConfiguration",
				"com.liferay.product.navigation.applications.menu.configuration.ApplicationsMenuInstanceConfiguration",
				"com.liferay.product.navigation.personal.menu.configuration.PersonalMenuConfiguration",
				"com.liferay.redirect.internal.configuration.RedirectURLConfiguration",
				"com.liferay.saml.runtime.configuration.SamlProviderConfiguration",
				"com.liferay.search.experiences.internal.configuration.IpstackConfiguration",
				"com.liferay.search.experiences.internal.configuration.OpenWeatherMapConfiguration",
				"com.liferay.segments.asah.connector.internal.configuration.SegmentsAsahCompanyConfiguration",
				"com.liferay.segments.configuration.SegmentsCompanyConfiguration",
				"com.liferay.segments.context.vocabulary.internal.configuration.SegmentsContextVocabularyCompanyConfiguration",
				"com.liferay.sharepoint.rest.repository.internal.configuration.SharepointRepositoryConfiguration",
				"com.liferay.sharing.internal.configuration.SharingCompanyConfiguration",
				"com.liferay.site.internal.configuration.SitemapCompanyConfiguration",
				"com.liferay.social.activity.internal.configuration.SocialActivityCompanyConfiguration",
				"com.liferay.staging.configuration.StagingConfiguration",
				"com.liferay.translation.translator.aws.internal.configuration.AWSTranslatorConfiguration",
				"com.liferay.translation.translator.azure.internal.configuration.AzureTranslatorConfiguration",
				"com.liferay.translation.translator.deepl.internal.configuration.DeepLTranslatorConfiguration",
				"com.liferay.translation.translator.google.cloud.internal.configuration.GoogleCloudTranslatorConfiguration",
				"com.liferay.user.associated.data.web.internal.configuration.AnonymousUserConfiguration",
				"com.liferay.users.admin.configuration.UserFileUploadsConfiguration"
			]
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy