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
Constant | Description |
---|---|
xforms_unregistered_user_id_auto_increment | No 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_folder | Root directory within a classic form exported tar file. Replaced with hard coded value ‘forms/’. |
xforms_export_public_html_dir | Public_html directory within a classic form exported tar file. Replaced with hard coded value ‘forms/public_html/’. |
xforms_google_maps_integration_enabled | Superseded by Google Maps Integration accessible via the control centre. |
xforms_google_api_key | Superseded by Google Maps Integration accessible via the control centre. |
gaz_ops_service_endpoint | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_security_token | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_gaz_id | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_namespace | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_proxy_host | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_proxy_port | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_proxy_username | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_proxy_password | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_soap_timeout | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_soap_response_timeout | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
gaz_ops_address_not_found_uprn | Setting for Gazetteer integration used in conjunction with LG45 CRM integration that is not part of XFP core. |
output_internal_forms_table_open | Unused internal forms markup construct. |
xforms_format_date_filename | No 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_enabled | No longer used. Data retention is always enabled. |
config/xfp/globals.xml
Global Variable | Description |
---|---|
xforms_user_form_file_upload_allowed_extensions | Superseded by File Extensions accessible under the XForms Pro > Settings module in the control centre |
xforms_user_form_file_upload_allowed_mime_types | Superseded by MIME Types accessible under the XForms Pro > Settings module in the control centre |
Function Deletions
Functions | Description |
---|---|
getNextUnregisteredUserID in jadu/xforms2/JaduXFormsUserForms.php | No 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
Class | Description |
---|---|
jadu/PayBridge/AccountBalance.php | Class has been deprecated since XFP 3.40.0, replacement class is: Jadu\PayBridge\AccountBalance\ Entity\AccountBalance |
jadu/PayBridge/AccountBalanceAccessLog.php | Class has been deprecated since XFP 3.40.0, replacement class is: Jadu\PayBridge\AccountBalance\ Entity\AccessLog |
jadu/PayBridge/AccountBalanceFile.php | Class 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
Table | Renamed To |
---|---|
JaduXFPDictionaryEntries | JaduXFPDictionaryEntry |
JaduXFPDictionaryEntryMatchKeys | JaduXFPDictionaryEntryMatchKey |
JaduXFPFormConditionalFormulaConditions | JaduXFPFormConditionalFormulaCondition |
JaduXFPFormConditionalFormulae | JaduXFPFormConditionalFormula |
JaduXFPFormConditionalFormulaStatements | JaduXFPFormConditionalFormulaStatement |
JaduXFPBankHolidays | JaduXFPBankHoliday |
JaduXFPUserDeletionRequests | JaduXFPUserDeletionRequest |
JaduXFPUserFormDeletionRequests | JaduXFPUserFormDeletionRequest |
JaduXFPFormContentPlaceholderDefinitions | JaduXFPContentPlaceholder |
JaduXFPElements | JaduXFPElement |
JaduXFPFormActionRules | JaduXFPFormActionRule |
JaduXFPFormActionRuleActions | JaduXFPFormActionRuleAction |
JaduXFPFormActionRuleActionsInputs | JaduXFPFormActionRuleActionInput |
JaduXFPFormActionRuleClauses | JaduXFPFormActionRuleClause |
JaduXFPFormActionRuleClauseGroups | JaduXFPFormActionRuleClauseGroup |
JaduXFPFormActionTemplates | JaduXFPFormActionTemplate |
JaduXFPFormActionTemplateMappings | JaduXFPFormActionTemplateMapping |
JaduXFPFormBranchingRules | JaduXFPFormBranchingRule |
JaduXFPFormComponentInputs | JaduXFPFormComponentInput |
JaduXFPFormPages | JaduXFPFormPage |
JaduXFPFormPageTemplates | JaduXFPFormPageTemplate |
JaduXFPFormPDFFiles | JaduXFPFormPDFFile |
JaduXFPFormQuestionPrefills | JaduXFPFormQuestionPrefill |
JaduXFPFormUpgradeLinks | JaduXFPFormUpgradeLink |
JaduXFPFormLogics | JaduXFPFormLogic |
JaduXFPFormLogicInputs | JaduXFPFormLogicInput |
JaduXFPFormLogicInputMappings | JaduXFPFormLogicInputMapping |
JaduXFPFormNotificationEmails | JaduXFPFormNotificationEmail |
JaduXFPPageSections | JaduXFPPageSection |
JaduXFPPageTemplates | JaduXFPPageTemplate |
JaduXFPPageTemplateVersions | JaduXFPPageTemplateVersion |
JaduXFPPageTemplateVersionStructures | JaduXFPPageTemplateVersionStructure |
JaduXFPQuestions | JaduXFPQuestion |
JaduXFPQuestionSettings | JaduXFPQuestionSetting |
JaduXFPRepeatableQuestionSettings | JaduXFPRepeatableQuestionSetting |
JaduXFPUserAnswers | JaduXFPUserAnswer |
JaduXFPUserFileUploads | JaduXFPUserFileUpload |
JaduXFPUserFormActionLogRelatedFiles | JaduXFPUserFormActionLogRelatedFile |
JaduXFPUserFormReferences | JaduXFPUserFormReference |
JaduXFPUserMatrixAnswers | JaduXFPUserMatrixAnswer |
Reserved words used in column names
Table | Column |
---|---|
JaduXFormsFormSectionsQuestions | rows |
JaduXFormsFormSectionsConglomerateElements | rows |
JaduXFormsFormQuestions | rows |
JaduXFormsFormIntegratedComponentElements | rows |
JaduXFormsFormConglomerateElements | rows |
JaduXFormsFormConglomerate | rows |
JaduXFormsFormComponents | rows |
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']);