Changelog 3B Forms v4.8

Revision as of 04:33, 22 January 2024 by Lefteris (talk | contribs) (updated to include <code> tags)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
New Features
  1. Multiple File Uploads
    • Description: Users can now submit multiple files if the "Allow multiple files" checkbox is checked in the builder settings.
    • Impact: Enhances file management flexibility and user experience.
  2. Dependent Picklist Filtering
    • Description: Automatically filters options in one picklist based on selections made in its controlling field.
    • Impact: Streamlines user interaction and improves data consistency.
  3. Automatic Field Inclusion for Dependent Fields
    • Description: Automatically adds controlling fields if a dependent field is added without them. Applies to chained dependencies.
    • Impact: Simplifies form creation and ensures data integrity.
  4. Cascade Deletion of Dependent Fields
    • Description: Deleting a controlling field will now automatically remove any dependent fields in the same scope.
    • Impact: Prevents orphaned fields and maintains form consistency.
  5. Introduction of Simple Panels
    • Description: Implementation of non-mapped panels to organize forms into logical entities.
    • Impact: Improves form organization and user navigation.
  6. Field Name Update on Title Change
    • Description: Implemented a function to update field names corresponding to title changes, especially relevant for Salesforce fields.
    • Impact: Ensures field names are always relevant and updated.
  7. Field Validators and validateField() Function
    • Description: Added field validators and registered validateField() function to Survey.FunctionFactory for field-level error handling.
    • Impact: Enhances form accuracy and user feedback on errors.
  8. Pull Request Template
    • Description: Added pull_request_template.md to format future PRs efficiently.
    • Impact: Streamlines PR process and improves documentation quality.
Bug Fixes
  1. Dynamic Panel Error Handling
    • Description: Errors in dynamic panels with no field-mapped errors are now displayed correctly above the panel.
    • Impact: Improves error visibility and user understanding.
  2. Panel-Level Error Display
    • Description: Resolved the issue of panel-level errors not being displayed. Implemented survey.onValueChanged event for error clearance.
    • Impact: Enhances error handling and user feedback.
  3. Form Initialization Bug Fix
    • Description: Fixed a bug where the form editor broke on initial load during import/export due to invalid JSON context.
    • Impact: Ensures smooth form initialization and reliability.
  4. Dropdown Options Display Fix
    • Description: Fixed the issue of long text in dropdowns being clipped. Implemented CSS rule for full text display.
    • Impact: Enhances clarity and usability of dropdowns.
  5. SVG Display in Forms Complete App
    • Description: Resolved the issue of SVGs not loading in the Forms Complete app.
    • Impact: Fixes UI problems, ensuring proper display of SVGs.
  6. Custom Styles Application Fix
    • Description: Fixed the issue where custom styles were not being applied due to being attached directly to the document's head. Changed implementation to allow style application in the shadow root.
    • Impact: Ensures custom styles are applied correctly, enhancing UI consistency.
  7. CKEditor Maximize Bug
    • Description: Addressed and removed the 'Maximize' option from CKEditor due to crash issues.
    • Impact: Prevents editor crashes, improving stability.
  8. CKEditor Embed Bug Fix
    • Description: Enabled the "Source" button and added extra allowed content in CKEditor config to prevent filtering out essential tags.
    • Impact: Enhances flexibility and functionality of CKEditor.
  9. Fix Dropdown Options Abbreviation on Long Text
    • Description: Resolved the issue where long text in dropdown options was being abbreviated.
    • Impact: Improves the usability of dropdown fields.
  10. Forms Complete SVG Display Issue
    • Description: Fixed a bug where SVGs in the Forms Complete app were not displayed properly.
    • Impact: Resolves UI display issues, ensuring correct SVG rendering.
  11. Fix Custom Styles Issue
    • Description: Corrected the application of custom styles, particularly when dealing with elements inside the shadow DOM.
    • Impact: Enhances the consistency and effectiveness of custom styling.
  12. CKEditor Maximize Function Bug
    • Description: Addressed a bug in CKEditor's Maximize function that was causing problems.
    • Impact: Improves the reliability and functionality of the editor.
  13. CKEditor Embed Functionality Improvements
    • Description: Enhanced CKEditor's embed functionality, including iframe attribute adjustments for better embedding (e.g., YouTube videos).
    • Impact: Expands embedding capabilities, improving the overall utility of the editor.
  14. Fix Dependent Picklists Choices Bug
    • Description: Addressed issues with choices in dependent picklists not functioning correctly.
    • Impact: Enhances the reliability and functionality of dependent picklists.
  15. Simple Panel Name Resetting Fix
    • Description: Resolved the issue of simple panel names resetting after reselection.
    • Impact: Improves the stability and usability of simple panels.
  16. Fix for Altering Simple Panel Names
    • Description: Fixed a bug caused when altering the name of a simple panel.
    • Impact: Ensures the stability and accuracy of panel names.
  17. Fix for Panel and Dependent Picklists Issue
    • Description: Addressed issues with panels and dependent picklists not functioning as expected.
    • Impact: Enhances the functionality and reliability of panels and picklists.
  18. Fix for Panels Breaking on Refresh
    • Description: Resolved a bug causing panels to change attributes unexpectedly on refresh.
    • Impact: Ensures the stability and consistency of panels.
  19. Automatic Insertion of Controlling Fields
    • Description: Fixed an issue where controlling fields of different parent/child objects were not being inserted automatically.
    • Impact: Streamlines the form creation process and ensures data integrity.
  20. Fix for Simple Panel File Attachments
    • Description: Addressed a bug related to file attachments in simple panels.
    • Impact: Improves file management within simple panels.
  21. Checkboxes Functionality Improvement
    • Description: Resolved an issue with checkboxes (boolean yes/no) not working as expected as controlling fields.
    • Impact: Enhances the functionality and reliability of checkbox fields.
Optimizations
  1. Removed 'Save as PDF' Option
    • Description: Hid the misleading 'Save as PDF' option in builder settings due to non-functionality.
    • Impact: Clarifies builder options, reducing confusion.
  2. Revamped Error Handling
    • Description: Implemented surveyjs validators for dynamic error handling in forms.
    • Impact: Improves error identification and user experience.
Deprecations
  1. Error Bubbling
    • Description: Removed the practice of error bubbling for a more streamlined approach.
    • Impact: Ensures more accurate error handling.
  2. Removal of 'Score' Feature
    • Description: 'Score' attribute removed from questions and ItemValues.
    • Impact: Streamlines question elements and improves clarity.
Additional Information
  • Note in Regards to dependent picklists:
    • For Simple Panels, we need to make sure that all controlling and dependent fields are contained within the same Simple Panel for this functionality to work as expected.
  • Validator specifications:
    • Main scope:
      • If there are blame fields:
        1. If there are form fields that correspond to the salesforce blameFields, highlights them and displays a toast message.
        2. If there are no form fields that correspond to the salesforce blameFields, only displays a toast message.
        3. If there are no blame fields, displays a toast message.
    • Panel/Paneldynamic scope:
      • If there are blame fields:
        1. If there are form fields that correspond to the salesforce blameFields, highlights them and displays a toast message.
        2. If there are no form fields that correspond to the salesforce blameFields, highlights the error on the panel displays a toast message.
        3. If there are no blame fields, shows the error on the corresponding panel and displays a toast message.
  • Paneldynamic specifications:
    • In a paneldynamic, simple form fields (not panels) are accessed with panel., example: {panel.Name_xxxxx}
    • The error message variables of paneldynamic fields are constructed with the panel's index, example: {panel.Name_xxxxx1}, {panel.Name_xxxxx5}, which allows us to display the error next to the proper field.
  • Panel specifications:
    • To access a field nested in a panel, we don't use panel., however, if there's any paneldynamic wrapping the current panel, anywhere up the structural tree, panel. is used to access the field even for the fields in the panel to match the proper paneldynamic scope.
Important Notes
  • This update primarily focuses on enhancing the user interface, file management, and overall system stability.
  • Users may experience minor adjustments as new features integrate into the system.

Upgrade Links