v6.2.9
[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:
-
Change the ontology and code server.
Review the
./dedalo/config/config.php
and locate theSTRUCTURE_SERVER_URL
andDEDALO_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 sectionUsers
(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_imageview_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 incommon.render
- Add missing destroy
events_tokens
from element (component, section, etc.) oncommon.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 forregenerate_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 functionarray_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()
ofcomponent_text_area
- Remove
c-cpp
language from thecodeql
ofgithub
- Improve
component_3d
view `line' - Change unit_test CSS files load order to allow override mocha styles
- Delete duplicated property
model
fromtool_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
andtool_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
andall_instances
list intest_others_lifecycle
- Add
count_result
check tosearch.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
andes2
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()
andunsubscribe()
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_
todedalo_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
toFfmpeg::get_audio_codec
method to prevent showing FFMPEG banner - Change
get_element_context
section parameters. Add$mode
- Change
delete_record
function name to more clearrender_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
toservice_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
fromsection
tobutton_trigger
. Button way has the possibility of control user access by section. At now this will be the default source - Change
setTimeout
bydd_request_idle_callback
inevents_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 ofRecordObj_descriptors_dd_edit
- Move the old ontology editor into a isolate directory
- Use
ontology_legacy
insteadontology
class for register_tools - Add
str_manager
point of no return: version6.2.9
. Form here, only version above 6.2.8 are able to update ontology frommaster.dedalo.dev
- Update
sample.config
for the newmaster.dedalo.dev
server. Now Dédalo will usejer_dd
ontology to store descriptors into his own column. - Update
.gitignore
add!/core/ontology/v5/config/config_ontology.php
to allow syncconfig_ontology.php
- Rename
config_ontology
file toontology_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 toget_children
andget_parents
to prevent phishing - Add
vendor
to restricted directories in main.htaccess
(Protect composer libraries)