Skip to content

v6.2.0

Compare
Choose a tag to compare
@renderpci renderpci released this 29 Apr 20:29
· 2671 commits to master since this release

Version [6.2.0] - 2024-04-30

The most important changes and new features can be located here.
This update will take a lot of time if you have a lot of media, because it will processing all images, pdf's, audiovisual, 3d and svg files of your installation.
This update implements SSE events for long processes, in a parallel workspace, if you server is not using h2 and SSL, the processes will be mono threaded. Servers without SSL are not supported anymore and the compatibility could be removed at any time.

Bug Fixes

  • Fix process_status method bug where Apache small chunks are not sent correctly over HTTP
  • Add error control to give CLI message about bad tipos (import issues)
  • Fix error where section_record ddo items were displayed in list mode (get_ar_request_config)
  • Search related sections when is specified multiple sections, instead all, need to be search as OR instead AND between sections
  • Changed button_open_section_list to button_list in show_interface
  • Fix component_iri search error where contains symbol '*' is used
  • Fix render_common::render_stream names issues
  • Fix make_backup widget refresh_files_list errors
  • Change the test extension to get original file path in the correct way. Extension of the file need to be the same that the file.
  • Fix incorrect value of register.json file of tool_dev_template
  • Fix bug where search items in the activity section are blocked when saving
  • Fix service_ckeditor destroy problems where ckeditor was not removed on service destroy
  • Fix error where global_search records from MySQL diffusion table was not deleted when a record is deleted (unpublished)
  • Fix service_autocomplete bug where paste do not work correctly sometime. A keyup event conflict was happening
  • Add ui strip_tags for tile in create_dom_element to prevent untranslated labels issues
  • Fix missing media components thumb creation on process file
  • Fix component_pdf->regenerate_component missing alternative images creation
  • [breaking] Change the result db_data.value check previous to save data from null to undefined, error will occurred in the cases that user doesn't change the data and delete the content, null is passed as value to remove data in the server, so the check needs to be different of null, undefined is correct because is not used as value.
  • Fix area_maintenance::check_config exceptions errors (wrong list)
  • Fix paginator number format issues
  • Add restriction to root user for change maintenance_mode in widget 'check_config'
  • Fix wrong check config constants list of ignore names
  • Add user root check to 'set_maintenance_mode' method
  • Fix error in tool configuration fallback to default config
  • Fix service_ckeditor error destroying the editor instance when is not available
  • [breaking] Add fallback to main section when the component has a section_list and it doesn't has defined his target section as related term, only the component to show in the list was defined (v5 model compatibility)
  • Fix dd_utils_api::create_thumbnail error where non JPG images are not processed because a MIME restriction
  • Set await to load libraries in component_geolocation
  • Fix files_info syntax error view_mini_list_3d, view_text_list_3d, view_mini_list_av, view_text_list_av
  • Fix test dd_date error in unix_timestamp comparison
  • Fix empty value case error in get_fixed_filter
  • Fix CSS issue with min-height in large mosaic views
  • Fix error where tool_common modal render not return the expected node
  • Fix propagate_component_data issue where non fixed session SQO prevents to propagate data in edit mode (when the user enters directly into edit mode, for example)
  • Fix non existing file_path scenarios in regenerate_component method
  • Syntax error on get_normalized_name_from_files
  • Fix missing fallback for method get_normalized_name_from_files allowing main extension and alternatives
  • Get hour with 24 format instead 12 hours when get from unix_timestamp
  • Check the original_upload_date data when the original_normalized_name can be recreated with database data.
  • Fix non value error in component_json
  • Fix unit_test js errors where component array data was set as value. Now only first element of array data is set as value
  • Fix tool_pdf_extractor errors. Updates default config
  • Fail to locate nodes in DOM, failed introduced in previous refactor
  • Add safe folder_path verification on add_file in component_media_common
  • Fix cache issue with tool_image_rotation image
  • Fix component_text_area issue where icon map click causes double tags. Add stopPropagation to all click events to prevent this issues
  • Fix tool_common test issue where non existing upload directory 'test' causes an error on test unit
  • Fix tool_import_dedalo_csv error where a failed 'conform_import_data' skip the process of rest of the columns in current row
  • Import common Dédalo format data with languages (object format) in correct way. It's not correct to create an array for non-array data, sometimes the import data could be an object as geolocation data.
  • Fix virtual section model term and list generation error in hierarchy::generate_virtual_section (missing creation)

Documentation

  • Add default config file path documentation into config
  • Move the default data for components to default group in documentation
  • Orthography review of component default data documentation
  • Rearrange config documentation, add headings to group media formats
  • Add new thumb definition to config documentation
  • Add alternative extension to PDF documentation of config
  • Changes typos into components introduction documentation
  • Add link resolution to resolve_portals_custom documentation.
  • Comment the deactivate function build_structure_css to specify the v6 model
  • Update Readme with the last changes into v6 transition

Features

  • Add rebuild_db_indexes feature to are_maintenance widget 'database_info'
  • Implements process status check by server SSE
  • Add widget make_backup update_process_status feature to allow administrators get real time info about backup process
  • Add an option to use any observable call into server. Now observers can handle multiple component calls with one server perform specifying "all" in component_tipo of observer property.
  • Add generic dd_tool_api background_running to allow run long tool process in background
  • Adds Sublime Text library with shared snippets to ease development
  • Add create thumb method into component_3d
  • Add create_thumb() method into component_av
  • Add create thumb method into component_svg
  • Add to create the image alternatives of PDF files for original and web qualities.
  • Add thumb file into list_value for all components. Now the list get the thumb quality as any other qualities
  • Add to create thumb quality when user send build version from client
  • Added resolve_portals_custom {"link","auto"} to allow resolve global_search tables portals
  • Add custom defined separator to diffusion 'merge_columns' option
  • Add diffusion->save_global_table_data new main column 'link' to allow auto resolve portals in custom mode
  • Add to copy section_id of failed import CSV rows
  • Add get_dd_date_from_unix_timestamp to create dd_dates
  • Add get_shape method to get the properties set into the dd_date
  • Add to summarize dates into formulas widget
  • Add v5 state_of_component for deprecated and alternative notices
  • Add process control to tool 'tool_propagate_component_data'
  • Apply the limit data definition in ontology properties when user add new record. Now if the component has a data_limit will be checked and stop the action if the limit is exceeded.
  • Add tool_update_cache hilite tipos option for easy location in the list
  • Add changes_in_tipos function to move change tipos from -> to in a common way, it will be use in update process to move data from one section to other, all related information as time_machine will be update too.

Miscellaneous Tasks

  • Add generic class_request method to dd_area_maintenance_api to allow adding new area_maintenance features easily from client widgets
  • Add long_process method to class area_maintenance. Used to test long processes and timeouts issues
  • Fix CSS layout process_status_node issues
  • Update Readme versions of libraries
  • First non-working version of background process to import dedalo CSV
  • Unified header for text/event-stream in class area_maintenance::long_process_stream. Fixed Apache bug about small chunks
  • Name of the update_info_node method and adding a callback function. Now is possible add a specific node render by the caller, if the caller doesn't send it, render a standard msg
  • Add verbose option to backup command
  • Add user logged check to process runner file
  • Add class error print CLI options in Errors and Exceptions
  • Improved render_stream DOM nodes manager (update_info_node) to optimize DOM update
  • Improved render_stream handling last message and errors
  • Remove get_preview_url method of all media components. Now thumb version is used in a common way.
  • Add v5 diffusion changes (global search) to v6 (mainly 'stolpersteine')
  • Update swagger JSON file version from 1.1.0 to 1.1.1 (added resolve_portals_custom link info)
  • Update tool_image_rotation register JSON file
  • Update tool_import_dedalo register JSON file
  • Update tool_upload register JSON file
  • Add component_common 'components_monovalue' static property to allow identification of non multiple components
  • Add inspector copy on click feature to tipo, model, table info
  • Add tool_common js config update on build autoload
  • Add common static property '$pdata' for use with CLI processes
  • Add component_image CLI process data info in method convert_quality (useful in import processes)
  • Allow dump method use to CLI process for debug use
  • Fix service_dropzone issues with build status and add reset_dropzone method (used in files import tool)
  • Update composer PHP test phpunit from 11.0 to 11.0.3
  • Update composer Sebastian cli-parser libs from 3.0.0 to 3.0.1]
  • Update composer sweetrdf from 1.11.0 to 1.14.0
  • Update composer files (autoload, etc.)
  • Improve comments about component_portal get_current_section_filter_data errors
  • Improve debug info about get_matrix_table_from_tipo errors
  • Improve debug info about search errors
  • Limit max height of component_inverse default view
  • Add data_limit control to component_portal on add new element
  • Remove component_portal button add check about data_limit. It's unified in the target function 'add_new_element'
  • Add show_interface button_delete_link and button_delete_link_and_record controls
  • Change view_indexation_portal CSS to optimize column_info space
  • Change inspector paginator_container height
  • Improve original files detection for media components
  • Add component_image to components to update dato 6.2
  • Add ImageMagick: convert debug info detail
  • Add component_av create_posterframe try when create_thumb and not posterframe is found
  • Add method regenerate_component check default quality in media common to safe regeneration of non existing default quality files
  • Update mocha js from 1.2.0 to 10.4.0
  • Add section_save metrics
  • Add component_media_common test new methods and unify media components methods
  • Unify test data from media components

Performance

  • Add session cache diffusion::have_section_diffusion to store recurring calculation of section diffusion status
  • Add metrics to get_tools calls
  • [breaking] Unify and optimize user_tools calls and caches. Remove unnecessary calls to get_all_registered_tools

Refactor

  • Changes dd_maintenance_area_api make_backup method to allow SSE controls
  • Moves area_maintenance make_backup functions (backup_files and mysql_backup_files) from the widget function to a separate function to allow call it independently
  • Re-organizes the SSE stream rendering flow for ease of use
  • Unified DEDALO_DIFFUSION_RESOLVE_LEVELS calls from function diffusion::get_resolve_levels
  • Moves function tool_request_cli from class dd_tools_api to a more generic class exec_::request_cli
  • [breaking] Change the tool import Dédalo CSV to use server event to show the process in real time.
  • Unified diffusion sql class response properties. Add errors property by default as empty array
  • Create a object to to store the current active order option in tool_numisdata_order_coins
  • Change create_image function into component_pdf to get alternative image files with full resolution of the PDF
  • Unify get_url method in all media components into a common behavior. Removed specific component methods and add the unified get_url() in component_media_common
  • Change get_pdf_thumb to create_thumb and unify the way to create the thumb with other components. Removed the get_thumb_url
  • Unified get_thumb_quality method into component_media_common, removed the specific methods in media components.
  • Unified get_thumb_url into component_media_common, remove the specific media components behavior
  • Add new constant into sample config to unify the thumb behavior for all media components.
  • Change the return of component_3d to get_posterframe_url. Now the function return null instead the default image when the posterframe is not set.
  • Change the generate_thumb to create_thumb in the common way for component_image
  • Change the dd_thumb method into ImageMagick removing unused code
  • Change the tool_media_versions to create columns instead lines and add a unified thumb quality.
  • Refactor area_maintenance functions to simplify the code and calls
  • Improve tooltips management. Prevent duplicates
  • Change the summarize formula, now it check the format previous to sum
  • Change the request_config definition for fixed_filter when is set for component_data, now it defines the component as a ddo's chain.
  • Change the resolve fixed_filter when is set to get component_data. now the component data could be get into other sections follow the ddo's chain defines into ddo_map, component_data will be resolved recursively until the last component defines into the q.
  • Change area_maintenance::update_code from APi to the class using generic trigger class_request
  • [breaking] Rewrite tool_diffusion code optimized for use as process
  • Move method get_date_time_original from component_image to ImageMagick class to centralize calls
  • Change tool_import_files to use CLI process
  • Remove promises to load libraries in component_geolocation to ensure that LeafLet and Geoman are loaded previous to create the map. Previous model could fail in slow networks.
  • Change the convert_table_data into new tables_rows_iterator method, to get the data column only or get the full row of the table.

Change

  • Set overflow CSS style to the changes list into the component_security_access to maintain the position and mark the selected change
  • Update Geoman lib to 2.16.0
  • Update Leaftlet to 1.9.4
  • Remove ProseMirror lib. now Dédalo use ckeditor
  • Remove PaperJs library. Now Dédalo use svgEdit instead.
  • Remove TinyMCE lib. Now Dédalo use CKEditor instead.
  • Change the string msg to object to print_cli function. Now all cli messages will be objects with a "msg" property with the main text.
  • Remove dump in cli mode
  • Improve area_maintenance long_process method
  • Update_stream now is called update_info_node in render_common.
  • Add background_running options to generic class_request from dd_area_maintenance
  • Add area_maintenance::long_process_stream method option to run as background process
  • Format the output message of the server to read the process status and check if the connection is https to add or not spaces to the message (compatible with http 1.1)
  • [breaking] Add a chunk analyzer of the messages sent by server events, to prevent a merged or divided messages that can't be parsed as valid JSON data.
  • Add a header to prevent server event messages as gzip or other non-disable encodings
  • The min size of the autocomplete to show it correctly in small spaces
  • Add re-connection to the current active event when client close the window or back to the tool, check if the process is active and reconnect it.
  • Add update_info_node last_message control (render_common > render_stream)
  • Add CSS shadow to modal header
  • Add control to delete local db data when event manager finish the process. Now is possible not delete by default leaving the caller take the delete control
  • Add common CSS styles to process_info and msg node
  • Add control to delete the local db to when user delete the import CSV file. Now the process will reconnected to get the last import msg to show the result when the user come back (information about the long process status or final report), the local db will delete at the same time than user delete any import file.
  • Remove the import button when the import process is active to prevent multiple import process at the same time.
  • Add current_file info in all msg to show the name of the file at any moment of the process
  • Add tool_diffusion CLI execution processes
  • Add to get menu label when the section is called by a section_tool, as transcription or indexation...
  • Subscribe to close portal window blur to reorder the coins as is set previously, and render only the content_data, to prevent scroll of the portal
  • Add a new constant DEDALO_PDF_ALTERNATIVE_EXTENSIONS to sample.config. Now is possible define if the PDF files has alternative files with different extensions
  • Set the alternative extension constant to be called in standard way in component_pdf
  • Add create_image when the PDF file is processed when upload is finished
  • Rename the *_path variables to *_filepath, path is using only for the directories and filepath need to include the file and his directories path. Changed in different media components.
  • Add thumb quality to get_files_info taking account his own extension, now all media components has a thumb image.
  • Create the thumb quality into component_pdf in the standardized way
  • Add get_thumb_extension method into component media common
  • Component_3d return the correct posterframe, calling to the correct method, in his controller
  • Component_av return the correct posterframe, calling to the correct method, in his controller
  • Change the generate_thumb to create_thumb in the common way for component_image_test
  • Get thumb into valor_export of component_pdf
  • Use thumb image in render list for component_3d. now the component show the thumb by default, if thumb is not created use posterframe, if posterframe is not created use default image.
  • Use thumb image in render list for component_av. now the component show the thumb by default, if thumb is not created use posterframe, if posterframe is not created use default image.
  • Use thumb image in render list for component_pdf. now the component show the thumb by default, if thumb is not created use a PFD icon, if the PDF file is not present use default image to upload new PDF
  • Use thumb image in render list for component_svg. now the component show the thumb by default, if thumb is not created use SVG, if SVG is not upload use default image to open the tool_upload.
  • Add security controls to process runner
  • Add allow_url_include check in process runner for added security
  • Changes tool_update_cache for use process
  • Changes diffusion save_global_table_data parser value. Now, before assign the value, is tested to JSON decode to prevent double encode
  • Improve area_maintenance regenerate relations cli process messages
  • Rename client_registered_tools to all_registered_tools (more clear and accurate name)
  • Add constant 'IS_UNIT_TEST' to unit test bootstrap to prevent to print CLI messages in test
  • Add const DEDALO_PDF_ALTERNATIVE_EXTENSIONS to stub file
  • Change PDF test method test_get_pdf_thumb to new test_create_thumb
  • Add CONFIG_DEFAULT_FILE_PATH definition into sample_config file
  • Change area_maintenance widget 'check_config' to be bidirectional and get obsolete constants in addition to missing constants
  • Add thumb quality item display in tool_media_versions (when non component_image)
  • Remove component_image action to rename old thumbs as name_DES
  • Move the default components data configuration into default section of the config.php
  • Change the old thumb constants for image and PDF with the new dedalo_quality_thumb constant
  • Add exceptions (ignore optional constants that could be disabled) for area_maintenance::check_config
  • Change debug_log level from DEBUG to ERROR in convert image (ImageMagick) to easy detect server errors on process PDF files
  • Remove format assignation to be checked in dd_date, dd_date has not format but component_date pass this property.
  • Set the optional properties to 1 when the dd_date unset, to get correct unix_timestamp to be used in calculations is necessary defines months or day clearly otherwise a year only will return some point in November of previous year.
  • Add to show dates results in calculations
  • Removes key_up control for input_text and dates
  • Add keydown event to control tab, now when user use the tab key the component will deactivate to save his changes
  • Add change event to control literal changes in input_text and date components
  • Add update_datum method to component_info, it will need to update his data when is saved into database
  • Add to get the section_id to be searched from a locator given in component_section_id, now the component resolve the locator to get the section_id.
  • Apply the fixed_filter defined in rqo to get the list of values for selects, etc.
  • Add widget class conditional to check_config (area_maintenance)
  • Update method 'update_dato_version' of media components to support version '6.2.0'
  • Change global search column name 'table' to 'ref_table'
  • Move area_maintenance function update_data_version from API to class to allow fire it as process
  • Add cli messages to update::update_version method (process info)
  • Add reload_js_files to force clean cache after update Dédalo code (widget area_maintenance update_code)
  • Mode page dedalo_notification event publication from page wrapper to page content_data to allow call it on page refresh
  • Add responsive CSS to tool_export
  • Improve utils printf function adding /%s substitutions
  • Add title to portal edit and delete buttons
  • Improve responsive CSS for portals and section
  • Add missing print_cli data to tool_diffusion in edit mode
  • Convert area_maintenance::set_maintenance_mode method to a generic method (set_congif_auto) where set maintenance vars from admin panel
  • Add version 6.2.0 update file new data changes
  • Add functionality of get section_list node definition for component_portal. Now if the component_portal has a CSS definition into his own section_list, it will be set in his context to be applied.
  • Add functionality of set ontology CSS definition in list mode for component_portal. Now if the component_portal has a section_list node with CSS it will be applied.
  • Improve the layer detection to be compatible with .psd and .tiff formats with transparent layers. Now the layers are counted and merge to create an image with transparent background or white background in .jpg versions
  • Add a check of the original image files when the original_normalized_name is not present in data.
  • Improve media_common regenerate method adding original_normalized_name and modified_normalized_name detection
  • Add hours, minutes, seconds, time properties to dd_date->get_unix_timestamp method
  • Get the media path instead the file path into regenerated_component
  • Add DEDALO_AV_BEST_EXTENSIONS constant into sample config. This property is used to choose the correct original file when his data is not set in DDBB.
  • Add get_best_extensions() to component_3d
  • Get_best_extensions() to component_av
  • Get_best_extensions() to component_pdf
  • Get_best_extensions() to component_svg
  • Check if the component has modified quality before calculate the files state
  • Add common get_best_extensions() function into media_common, all components defines his own best extensions.
  • Change class Error error reporting from 'E_ALL ^ E_DEPRECATED' to 'E_ALL' for debug
  • Regex to include the filename, now it's section_id-filename-field.extension
  • Regex to get the section_id, field and filename of the files previously to import. Now the regex take account large filenames and the format is: section_id-filename-field.extension
  • Change default debug display_errors from 1 to 0 to prevent unwanted error print
  • Change debug_log print messages in CLI mode (print plain message without colors)
  • Improve core function 'is_serialized' check
  • Add an update to move data from section: Finds => Immobile | numisdata279 => tchi1 in update v6.2
  • Add a msg to CLI process to component_update in update class
  • Add new fields to match numisdata279 section to new tchi section
  • Remove unused spaces or other invalid text code into component_iri conform_import_data, it will remove \t, \n or other text codifications.
  • Add update relation table when the update finished to change the tipos from numisdata279 to tchi1

Remove

  • Portal_order into tool_import_files it's not used anymore, the order could be set into the destination portal.

Security

  • Add safe parameters verification to request_cli method to prevent injections and quotes issues
  • Add privacy plugin to mkdocs.yml configuration (Now mermaid lib is loaded as local file)
  • Change ImageMagick mkdir permissions from 0777 to 0750