Skip to main content

Upgrading to Jadu XFP 8.0.0

Deletions

The following constants (config/xfp/constants.xml.example), globals (config/xfp/globals.xml.example) and functions have been removed in XFP 8. The constants, globals and functions are historic and haven’t been used for a number of versions. The removal only affects new installations. Existing customers configuration files are not updated to remove the constants or global variables.

config/xfp/constants.xml

ConstantDescription
xforms_unregistered_user_id_auto_incrementNo longer used. Used within getNextUnregisteredUserID function (also removed), to increase the user form reference number from a starting point on 1. E.g. to start user form reference numbers at 1 million, this would be set to 1000000.
xforms_export_root_folderRoot directory within a classic form exported tar file. Replaced with hard coded value ‘forms/’.
xforms_export_public_html_dirPublic_html directory within a classic form exported tar file. Replaced with hard coded value ‘forms/public_html/’.
xforms_google_maps_integration_enabledSuperseded by Google Maps Integration accessible via the control centre.
xforms_google_api_keySuperseded by Google Maps Integration accessible via the control centre.
gaz_ops_service_endpointSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_security_tokenSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_gaz_idSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_namespaceSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_proxy_hostSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_proxy_portSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_proxy_usernameSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_proxy_passwordSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_soap_timeoutSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_soap_response_timeoutSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
gaz_ops_address_not_found_uprnSetting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core.
output_internal_forms_table_openUnused internal forms markup construct.
xforms_format_date_filenameNo longer used. Previously used to decide the order of the day, month and year parts of dates when used in filenames.
xforms_data_retention_action_enabledNo longer used. Data retention is always enabled.

config/xfp/globals.xml

Global VariableDescription
xforms_user_form_file_upload_allowed_extensionsSuperseded by File Extensions accessible under the XForms Pro > Settings module in the control centre
xforms_user_form_file_upload_allowed_mime_typesSuperseded by MIME Types accessible under the XForms Pro > Settings module in the control centre

Function Deletions

FunctionsDescription
getNextUnregisteredUserID in jadu/xforms2/JaduXFormsUserForms.phpNo longer used. Previously used to calculate what the next user form ID should be based on the maximum id in the JaduXFormsUserForms table and the xforms_unregistered_user_id_auto_increment value.

Class Deletions

ClassDescription
jadu/PayBridge/AccountBalance.phpClass has been deprecated since XFP 3.40.0, replacement class is:
Jadu\PayBridge\AccountBalance\
Entity\AccountBalance
jadu/PayBridge/AccountBalanceAccessLog.phpClass has been deprecated since XFP 3.40.0, replacement class is:
Jadu\PayBridge\AccountBalance\
Entity\AccessLog
jadu/PayBridge/AccountBalanceFile.phpClass has been deprecated since XFP 3.40.0, replacement class is:
Jadu\PayBridge\AccountBalance\
Entity\ImportLog
jadu/PayBridge/DataMapper/
AccountBalanceAccessLogMapper.php
Class has been deprecated since XFP 3.40.0, replacement class is:
Jadu\PayBridge\AccountBalance\
Mapper\AccessLogMapper
jadu/PayBridge/DataMapper/
AccountBalanceFileMapper.php
Class has been deprecated since XFP 3.40.0, replacement class is:
Jadu\PayBridge\AccountBalance\
Mapper\ImportLogMapper
jadu/PayBridge/DataMapper/
AccountBalanceMapper.php
Class has been deprecated since XFP 3.40.0, replacement class is:
Jadu\PayBridge\AccountBalance\
Mapper\AccountBalanceMapper

Database Schema Changes

The following database tables have been renamed.

Renamed Database Tables

TableRenamed To
JaduXFPDictionaryEntriesJaduXFPDictionaryEntry
JaduXFPDictionaryEntryMatchKeysJaduXFPDictionaryEntryMatchKey
JaduXFPFormConditionalFormulaConditionsJaduXFPFormConditionalFormulaCondition
JaduXFPFormConditionalFormulaeJaduXFPFormConditionalFormula
JaduXFPFormConditionalFormulaStatementsJaduXFPFormConditionalFormulaStatement
JaduXFPBankHolidaysJaduXFPBankHoliday
JaduXFPUserDeletionRequestsJaduXFPUserDeletionRequest
JaduXFPUserFormDeletionRequestsJaduXFPUserFormDeletionRequest
JaduXFPFormContentPlaceholderDefinitionsJaduXFPContentPlaceholder
JaduXFPElementsJaduXFPElement
JaduXFPFormActionRulesJaduXFPFormActionRule
JaduXFPFormActionRuleActionsJaduXFPFormActionRuleAction
JaduXFPFormActionRuleActionsInputsJaduXFPFormActionRuleActionInput
JaduXFPFormActionRuleClausesJaduXFPFormActionRuleClause
JaduXFPFormActionRuleClauseGroupsJaduXFPFormActionRuleClauseGroup
JaduXFPFormActionTemplatesJaduXFPFormActionTemplate
JaduXFPFormActionTemplateMappingsJaduXFPFormActionTemplateMapping
JaduXFPFormBranchingRulesJaduXFPFormBranchingRule
JaduXFPFormComponentInputsJaduXFPFormComponentInput
JaduXFPFormPagesJaduXFPFormPage
JaduXFPFormPageTemplatesJaduXFPFormPageTemplate
JaduXFPFormPDFFilesJaduXFPFormPDFFile
JaduXFPFormQuestionPrefillsJaduXFPFormQuestionPrefill
JaduXFPFormUpgradeLinksJaduXFPFormUpgradeLink
JaduXFPFormLogicsJaduXFPFormLogic
JaduXFPFormLogicInputsJaduXFPFormLogicInput
JaduXFPFormLogicInputMappingsJaduXFPFormLogicInputMapping
JaduXFPFormNotificationEmailsJaduXFPFormNotificationEmail
JaduXFPPageSectionsJaduXFPPageSection
JaduXFPPageTemplatesJaduXFPPageTemplate
JaduXFPPageTemplateVersionsJaduXFPPageTemplateVersion
JaduXFPPageTemplateVersionStructuresJaduXFPPageTemplateVersionStructure
JaduXFPQuestionsJaduXFPQuestion
JaduXFPQuestionSettingsJaduXFPQuestionSetting
JaduXFPRepeatableQuestionSettingsJaduXFPRepeatableQuestionSetting
JaduXFPUserAnswersJaduXFPUserAnswer
JaduXFPUserFileUploadsJaduXFPUserFileUpload
JaduXFPUserFormActionLogRelatedFilesJaduXFPUserFormActionLogRelatedFile
JaduXFPUserFormReferencesJaduXFPUserFormReference
JaduXFPUserMatrixAnswersJaduXFPUserMatrixAnswer

Reserved words used in column names

TableColumn
JaduXFormsFormSectionsQuestionsrows
JaduXFormsFormSectionsConglomerateElementsrows
JaduXFormsFormQuestionsrows
JaduXFormsFormIntegratedComponentElementsrows
JaduXFormsFormConglomerateElementsrows
JaduXFormsFormConglomeraterows
JaduXFormsFormComponentsrows

All the above tables with the exception of JaduXFormsFormIntegratedComponentElements are internal tables and the changes shouldn’t affect any custom developments although this should still be checked.

MariaDB 10.5 introduces a new reserved word “rows” which now must be escaped in your insert SQL statements for integrated components. Maintainers of the integrated component should review the install SQL to ensure the column name is escaped in the insert statement for elements inserted into JaduXFormsFormIntegratedComponentElements.

Integrated components already in place on a system to be upgraded will not need to be changed. The install SQL will fail to run correctly if the column name is not escaped properly and the integrated component needs to be installed on a new system (for example a new QA site). Integrated components developed for modern forms do not need to be updated.

API Changes

Entity Jadu\XFormsPro\Form\Builder\UserFormActionLog

The entity Jadu\XFormsPro\Form\Builder\UserFormActionLog property userFormID has been renamed to userForm. Any code using this entity and its associated repository needs to be updated to the new name. For example if you have code to retrieve an action log in the a form variable or a received from plugin that interacts with action logs in XFP before 8.0.0 you would have:

$logRepo = $this->entityManager->getRepository('Jadu\XFormsPro\Form\Builder\UserFormActionLog');

$logs = $logRepo->findBy([
'userFormID' => $userForm->getId(),
'system' => 'ReceiptingSystem',
'actionName' => 'Submit Data',
], ['id' => 'ASC']);

From 8.0.0 with code updates the code will be:

$logRepo = $this->entityManager->getRepository('Jadu\XFormsPro\Form\Builder\UserFormActionLog');

$logs = $logRepo->findBy([
'userForm' => $userForm->getId(),
'system' => 'ReceiptingSystem',
'actionName' => 'Submit Data',
], ['id' => 'ASC']);