Exciting updates! The Document Management System is taking shape, thanks to the outstanding efforts of Denald and Xhilda. Arlind has created a sleek AdHoc workflow logging UI. Ketlina's contributions include a general JavaScript debounce function, new field dependency functionality, and improvements in workflow duplication (among others). Along with the typical optimized code and security enhancements, we keep on progressing steadily!

Features and Implementor/Developer enhancements

  • Document Management System is coming along looking great. Looking awesome! (Thanks Denald and Xhilda)

DMS

  • AdHoc workflow logging UI. Really nice! (Thanks Arlind)

Log workflow

  • support runBAWorkflow with no notifications
  • general javascript debounce function (thanks Ketlina)

debounce

  • fieldDep_LaunchWorkflow function now we can trigger a workflow easily on any field dependency condition. The use case was to send a notification when a user visits a record that is not assigned to him (thanks Ketlina)
  • add error notification in Email Configuration when Inbucket is active, as it is useless in that case
  • MasterGrid: add edit(popup) functionality and support GetRule function
  • Profiling library and configuration file
  • download Business Question from actions as CSV
  • install Queue Format Messages table that permits us to format messages coming from the UI before they are inserted in the queue. Define a method in your class named getMessageForQueue and insert a record in the table to get the method called before inserting the information in the queue.
  • permit changing password through Web Service API without old password: nocheck_old_password
  • do not add Woocommerce records automatically in the queue based on a new global variable
  • Workflow
    • support expression and rawtext on the left-hand side of the workflow conditions. In the backend, working on the frontend
    • search expression functions by name also in the expression editor
    • duplicate workflows and tasks (thanks Ketlina)

EvolutivoFW Standard Code Formatting, Security, Optimizations, and Tests

  • EvolutivoFW Standard Formatting
  • Documentation: code and wiki
  • LDS Styling: Import step 4, aggregation widget
  • Refactor and Optimize code
    • collapse IF statement
    • refactored filenames
    • change count to empty
    • rename variables to avoid property conflicts
    • use direct values instead of variable
  • SBoM: update composer and set fixed versions
  • Security fixes and updates
    • apply CSRF check in 2FA
    • ADODB: update to version 5.22.6
    • DOMPurify: update to version 3.0.4
    • sanitize and limit Documents and Documents Folder name and description
    • Emails: sanitize email fields
    • Picklist: sanitize picklist values
    • Users: repeat password checks in the backend before updating and sanitize email and name
  • PHP constant updates
    • deprecated passing null to strtotime
  • Unit Tests: keeps getting more and more assertions.

Global Variables

  • Settings_CreateRecords_Queue: indicates if create record actions should be put in the queue. currently only being used in woocommerce integration

Reduce DocBlock

This point deserves a special mention. Last month I watched a PHP video presentation saying that we could reduce the usage of DocBlocks in our code in favor of using the now native type definitions. So, I had a look and created this, apparently inoffensive change

It turns out I had to modify all the changes there. All of them broke something in the application.

The conclusion is that our code base is very far from supporting types properly and that the code is a real mess. If we want to properly get all the benefits that PHP 8 and future versions bring we are going to have to work a lot (still).

Others

  • setup options for AWS class
  • iCal some parameter values are wrapped by DQUOTE character
  • permit access to All filter for everyone
  • using the correct launchWF variable and passing encoded CRMID to execute the workflow method in the Duplicate Record operation
  • add HTML ID to EditView record input element
  • always send CSRF token in ExecuteFunctions calls
  • fix export selected records and only visible columns
  • Chrome HTML error messages in the inspector
  • do not apply any Inventory validation on deleted product lines
  • format date as per ISO in Mail
  • Mautic: force point management, upsert contact on form submission
  • onesignal: the toggle functionality to switch between activated and deactivated states
  • Reports: inform of invalid date
  • sendgrid: fixed case when sending emails through templates
  • Workflow
    • Convert Video rename and document output context variable
    • fix export
    • apply Sonarqube recommendations to the workflow template class
    • HTML label errors reported by Chrome
  • Translations

June Insights

Thanks for reading.

Previous Post Next Post