Skip to content

v6.2.9

Compare
Choose a tag to compare
@renderpci renderpci released this 13 Oct 11:24
· 989 commits to master since this release

[6.2.9] - 2024-10-13

🥳 🎉 V6 ontology transition was done!

This update is a transition version to prepare your Dédalo installation for upcoming v6.3.0

Important
This release freezes the v5 ontology on the current master server. The next ontology changes will be applied ONLY on the new master.dedalo.dev server and will ONLY include the v6 model and supported tlds.

Change required after upgrade:

  • If you are installing it you don't need to change it, the new configuration files have the correct settings.
  • If you are upgrading your Dédalo installation, you will need to apply this change in your config after applying this upgrade:
  1. Change the ontology and code server.

    Review the ./dedalo/config/config.php and locate the STRUCTURE_SERVER_URLand DEDALO_SOURCE_VERSION_URL and change it.

    from:

    define('STRUCTURE_SERVER_URL', 'https://master.render.es/dedalo/lib/dedalo/extras/str_manager/');
    define('DEDALO_SOURCE_VERSION_URL', 'https://master.render.es/dedalo/code/dedalo6_code.zip');

    to:

    define('STRUCTURE_SERVER_URL', 'https://master.dedalo.dev/dedalo/core/extras/str_manager/');
    define('DEDALO_SOURCE_VERSION_URL', 'https://master.dedalo.dev/dedalo/code/dedalo6_code.zip');

    Future releases will ONLY be published on the new master.dedalo.dev, therefore if you

Other implementations

  • Compatibility with upcoming PHP 8.4.
  • This update introduces the last remaining tool from v5, the QR tool to generate QR codes for printing labels on objects.

Bug Fixes

  • [breaking] Fix bug where diffusion references are not resolved after the first level (resolve_references = false)
  • [breaking] Fix non array dato issue in component_common->update_data_value where a non array value causes an error checking array_key_exists (old email string value case)
  • [breaking] Fix section->Save error where filter search was made without set search_exact to true, creating false match (component_filter_master) for section Users (dd128)
  • Fix non defined request_config situation in dd_core_api::start
  • Fix invalid default null value set to RecordObj_dd::get_descriptor_dato_by_tipo
  • Fix non data issue in tool_qr where null values crash the tool
  • Fix component_security_access.update_parents_radio_butons error where parents calculation does not wait for promise resolution
  • Fix incorrect components init order where some common init was not exec at beginning causing properties overrides like events_tokens
  • Fix invalid call to fn_img_quality_change from component_image view_default
  • Fix inspector paginator CSS issue where paginator_info overlap section_id info
  • Fix CSS path errors in ontology legacy dd_list.less
  • Fix ontology legacy path inline edit name error
  • Remove wrong render_token stored var in common.render
  • Add missing destroy events_tokens from element (component, section, etc.) on common.do_delete_self()
  • Set CSS style to no descriptors terms toggle node in ts_object is could has children but is not the children arrow.

Features

  • [breaking] Add tool_qr (revamped from v5)
  • Add section list fallback to avoid to define always the section list in virtual sections. If not defined, the real section section_list will be used

Miscellaneous Tasks

  • [breaking] Change component_pdf default value for regenerate_component transcription from false to true. Allows to re-create the transcription text in some circumstances
  • PHP 8.4 compatibility. Migrate custom function array_find() to native PHPv8.4 function array_find()
  • PHP 8.4 compatibility of nullable type declaration for component_text_area
  • PHP 8.4 compatibility of nullable type declaration for component_svg
  • PHP 8.4 compatibility of nullable type declaration for component_security_access
  • PHP 8.4 compatibility of nullable type declaration for component_section_id
  • PHP 8.4 compatibility of nullable type declaration for component_relation_related
  • PHP 8.4 compatibility of nullable type declaration for component_relation_parent
  • PHP 8.4 compatibility of nullable type declaration for component_relation_index
  • PHP 8.4 compatibility of nullable type declaration for component_relation_common
  • PHP 8.4 compatibility of nullable type declaration for area_common
  • PHP 8.4 compatibility of nullable type declaration for area_graph
  • PHP 8.4 compatibility of nullable type declaration for area_thesaurus
  • PHP 8.4 compatibility of nullable type declaration for backup
  • PHP 8.4 compatibility of nullable type declaration for dd_cache
  • PHP 8.4 compatibility of nullable type declaration for security_v5_to_v6
  • PHP 8.4 compatibility of nullable type declaration for common
  • PHP 8.4 compatibility of nullable type declaration for dd_date
  • PHP 8.4 compatibility of nullable type declaration for dd_object
  • PHP 8.4 compatibility of nullable type declaration for locator
  • PHP 8.4 compatibility of nullable type declaration for pdf
  • PHP 8.4 compatibility of nullable type declaration for component_relation_children
  • PHP 8.4 compatibility of nullable type declaration for component_radio_button
  • PHP 8.4 compatibility of nullable type declaration for component_publication
  • PHP 8.4 compatibility of nullable type declaration for component_portal
  • PHP 8.4 compatibility of nullable type declaration for component_pdf
  • PHP 8.4 compatibility of nullable type declaration for backup
  • PHP 8.4 compatibility of nullable type declaration for button
  • PHP 8.4 compatibility of nullable type declaration for common
  • PHP 8.4 compatibility of nullable type declaration for component_3d
  • PHP 8.4 compatibility of nullable type declaration for component_av
  • PHP 8.4 compatibility of nullable type declaration for component_common
  • PHP 8.4 compatibility of nullable type declaration for component_filter_records
  • PHP 8.4 compatibility of nullable type declaration for component_date
  • PHP 8.4 compatibility of nullable type declaration for component_email
  • PHP 8.4 compatibility of nullable type declaration for component_filter
  • PHP 8.4 compatibility of nullable type declaration for component_info
  • PHP 8.4 compatibility of nullable type declaration for component_json
  • PHP 8.4 compatibility of nullable type declaration for component_image
  • PHP 8.4 compatibility of nullable type declaration for component_geolocation
  • PHP 8.4 compatibility of nullable type declaration for component_input_text
  • PHP 8.4 compatibility of nullable type declaration for component_inverse
  • PHP 8.4 compatibility of nullable type declaration for component_iri
  • PHP 8.4 compatibility of nullable type declaration for component_media_common
  • PHP 8.4 compatibility of nullable type declaration for component_password
  • PHP 8.4 compatibility of nullable type declaration for component_relation_related
  • PHP 8.4 compatibility of nullable type declaration for component_number
  • PHP 8.4 compatibility of nullable type declaration for component_publication
  • PHP 8.4 compatibility of nullable type declaration for component_relation_parent
  • PHP 8.4 compatibility of nullable type declaration for component_relation_common
  • PHP 8.4 compatibility of nullable type declaration for component_ip
  • PHP 8.4 compatibility of nullable type declaration for section
  • Translate scope note of get_valor() of component_text_area
  • Remove c-cpp language from the codeql of github
  • Improve component_3d view `line'
  • Change unit_test CSS files load order to allow override mocha styles
  • Delete duplicated property model from tool_export::get_export_grid
  • Add windows specific CSS styles. Add page init set_custom_css() to detect OS
  • Add paginator container CSS rules to preserve the minimum height across navigation
  • Update composer PHP test phpunit from 11.3.2 to 11.4.0
  • Improve errors notification in component_pdf->get_text_from_pdf and tool_pdf_extractor
  • Add qr.svg image to default icons
  • Add import_files.svg image to default icons
  • Add unit_test destroy instance asserts for check events_tokens and all_instances list in test_others_lifecycle
  • Add count_result check to search.count to prevent iterate non valid pg resources. (Prevent matrix_ontology table issues in early Dédalo versions)
  • Add update data from 6.2.7 to 6.2.8 (creates the new matrix Ontology tables, already set in Ontology tables definitions)
  • Add section creating_section unlock delay for 1500 ms to prevent accidental creation of new section records
  • Add debug section event subscription control
  • Add tool common render_footer unified function and CSS
  • Add common tool footer to update_cache tool
  • Add common tool footer to tool_qr tool
  • Change the ontology menu path to use isolated v5 ontology editor
  • Add the update information and script to move descriptors from his table to the jer_dd term column
  • Add copy_descriptors_to_jer_dd function to be used into the update 6.2.9 process
  • Update es1 and es2 hierarchies (Spain toponymy)

Performance

  • Move instances.get_instance found_instance from inside promise to outside for improve performance

Refactor

  • [breaking] Improve the create and duplicate section workflows by simplifying handlers. Add safe page_globals.creating_section control to prevent accidental multi-save
  • [breaking] Improve the inspector's response to user events. Simplifies code and idle callbacks
  • [breaking] Unify event handlers format. Use simple handlers whenever possible.
  • [breaking] Refactor common destroy method for easy read and management
  • [breaking] Refactor event_manager subscribe() and unsubscribe() methods checking for duplicates
  • [breaking] Refactor instances calls unifying import mode (avoid use * when import instances because is confusing with var instances.instances)
  • Improve core_functions test unit
  • Unify static methods for Ffmpeg class
  • Unify component_text_area event handlers format. Use simple handlers whenever possible.
  • Refactor component_security_access event handlers for unity
  • Unify double init control across instances
  • Refactor tool_pdf_extractor adding select text button and remove unused files

Revert

  • Use RecordObj_dd into ontology_legacy class instead the isolate RecordObj_dd_edit. This change will be apply to version 6.3

Testing

  • Add unit_test tests for event_manager
  • Add unit_test tests for instances

Change

  • [breaking] Isolate old ontology editor from recordObj_dd and make it compatible with new jer_dd term column to save descriptors. In next Dédalo 6.3.0 version this code will be obsolete and remove form the main branch.
  • [breaking] Add section controls to handle bad data cases when duplicating records. Bad component model, missing caller_dataframe->section_id_key (old archives data with recycled term cases)
  • [breaking] Unify Ontology export file from dedalo4_development_str_ to dedalo_development_str_. From this point, only Ontology from versions >=6 area supported. Calls to update V5 Ontology will be rejected!
  • [breaking] Add destroy control to delete caller references when a instance is deleted
  • [breaking] Remove unnecessary destroy element on page navigate. The created test navigate instance is valid for cache and reuse on render (uses same source as context)
  • Change core_functions behavior to be compatible with PHP 8.4 (optional function find_array and remove nullable vars in functions)
  • Add area_maintenance tools_register control to display color indicator when tools need to be updated/register
  • Add -loglevel error to Ffmpeg::get_audio_codec method to prevent showing FFMPEG banner
  • Change get_element_context section parameters. Add $mode
  • Change delete_record function name to more clear render_delete_record_dialog
  • Add ontology is_master conditional for header CSS
  • Reset some user preferences status from local database in login quit action
  • Add check valid sections control to search.update_caller method to prevent to search without sections selected
  • Add check valid function to common.render to prevent fire non defined functions
  • Add timeout of 1000 ms to dd_request_idle_callback execution to force calls execution even if browser is not idle
  • Add target window switch mode by ALT key on click from relations list. On regular click, the new window is recycled, but if ALT is pressed, a new fresh window is used on every click
  • Add missing self.events_tokens to service_time_machine
  • Add service_time_machine destruction control to inspector. Now, if a previous service_time_machine already exists, will be destroyed before create a new one (section pagination case)
  • Add open_search_panel to reset user preferences status from local database at logout (login.quit)
  • Add CSS button definitions: import_files, qr
  • Change buttons CSS padding left and right to be narrower
  • Add section buttons option for custom button CSS classes. To define a button class, set ontology item properties such as "css": { "style": "import_files" }
  • Change tool_qr default source for tool_config from section to button_trigger. Button way has the possibility of control user access by section. At now this will be the default source
  • Change setTimeout by dd_request_idle_callback in events_subscriptions for hilite search elements
  • Add matrix_time_machine bulk_process_id column creation SQL in updates v6.0.0 to allow v5 to v6 updates using modern Dédalo code versions (>=6.2.5)
  • Add is_array check for transform_data::remove_paper_lib_data_rsc29 values due to a error when data is not as expected
  • Add is_object check for tool_common::get_all_registered_tools values due to a error when tool value is not as expected (old tool v5 definitions)
  • Change arrow cursor color (from blue to grey) for component_security_access items with section/area children
  • Change updates definition to prepare the next update to version 6.3.0. A update version to 6.2.9 is necessary for this
  • Isolate ontology CSS and JS with legacy code
  • Rename the call to ontology_legacy from trigger_desctptors
  • Isolate the ontology editor from RecordObj_descriptors_dd to a copy of RecordObj_descriptors_dd_edit
  • Move the old ontology editor into a isolate directory
  • Use ontology_legacy instead ontologyclass for register_tools
  • Add str_manager point of no return: version 6.2.9. Form here, only version above 6.2.8 are able to update ontology from master.dedalo.dev
  • Update sample.config for the new master.dedalo.dev server. Now Dédalo will use jer_dd ontology to store descriptors into his own column.
  • Update .gitignore add !/core/ontology/v5/config/config_ontology.php to allow sync config_ontology.php
  • Rename config_ontology file to ontology_legacy_setup to prevent config restriction issues
  • Add term column to $jer_dd_columns in class backup. Used from version 6.2.9
  • Add backup import_structure method options to get server errors for easy debug
  • Remove the footer to print qr pages, it create a last page that are not necessary
  • Update qr tool register to include a sample of virtual section configuration.

Security

  • Fix possible injection vector in worker_security_access (Unsafe dynamic method access). Limit the executable functions to get_children and get_parents to prevent phishing
  • Add vendor to restricted directories in main .htaccess (Protect composer libraries)