v6.2.6
[6.2.6] - 2024-08-28
🥳 🎉
Major changes
This release adds a new service to efficiently control browser cache and JS code versions.
The image component can now handle alpha channels of psd or tiff files in the same way.
This version introduces a major change to the component_relation_index, it can now handle paged data, so it can be used as a portal configured as external without saving data.
Bug Fixes
- [breaking] Fix ImageMagick class conversion policy issues. Conversion of some tiff files fails (ifs case) when using Photoshop transparency
- [breaking] Fix 'is_iterable' restriction error that prevents tool configurations from loading
- [breaking] Fix bug where component_relation_parent escaped slashes in get_diffusion_value (e.g. 'Central Hessen/Rhineland'). Added flag JSON_UNESCAPED_SLASHES to json_encode
- Fix service_time_machine issue where grid layout is wrong for view_mini rendered (inspector version). New processes column has been hidden
- Fix CSS issues in service_time_machine where labels of 'note' and 'person' are not reduced in height
- Fix service_time_machine new bulk_process_id issue where is added incorrectly in views 'history' and 'mini'. Now the column is ignored in render
- Fix component_image publication error when source is external
- Fix component_image CSS error where external images do not implement image_container node
- Fix section_record view text issue where non defined column callback crash the execution
- Fix tool_indexation tag note bug where tag_note functions are not load by the main tool_indexation.js file
- Fix missing sqo filter properties as children_recursive when is removed the order of the search
- Fix menu local DB issue where user changes logged user id (from user to superadmin for example). Now, the menu data stored in local DB is filtered by user id to prevent recycle incorrect data
- Fix tool_user_admin bug where sometime the logged user is not found because the SQO offset value is not as expected (zero). Force SQO offset in each call to prevent it
- Fix bug where ui.active component creates an double event in some context like when component_text_area is focused generating double save action and double time machine records
- Fix tool_indexation CSS issue where lang selector and buttons are no displayed correctly on component activation (z-index)
- Fix component_pdf::process_uploaded_file error where extension comparison was not taken into account uppercase PDF cases
- Fix issue where login press enter key fail (button_enter listener was changed from click to mousedown)
- Fix missing model error in ts_object->get_child_data where non existent tipos (like 'tchi59') cause exception creating the component
- Set the reference data in publication process with multiple tags.
- Set correct section_top_tipo check in parse_data for component_relation_index
- Security check of the panel of check SQO in maintenance area. Only global_admin can do this checks, because the SQO is open to search into the full matrix.
Documentation
- Change the locator documentation
Features
- [breaking] Add to show related data in the indexation_grid defined by specific component_relation_index that point to specific sections (as tch1, tch100, etc) and add to show all related_data of all his children.
- [breaking] Change the search_related to use more than 1 locator as filter_by_locators. Now is possible search more than 1 locator to get his section callers. Is used into indexation_grid to get all children indexations.
- [breaking] Add code version compatibility check to area_maintenance::update_ontology
- Add to resolve get_ddo_map property for rqo.search
- Add to resolve get_ddo_map property for rqo.choose
- Add references component to toll transcription. Now is possible use the references in the same way than indexation
- Add references component to tool indexation. Now is possible use the references in the same way than indexation component.
- Add SQO search into indexation_grid to get the inverse_relations with more parameters that only the thesaurus term, as his children. Now the filter_by_locators is taken into account into the get_ar_locators
- Add get_children_recursive method to the ts_object using the read API call in the same way that other get_data calls. The search set the children_recursive to true and return only the basic locator with section_id and section_tipo.
- Add button environment to the menu debug_info_bar to easy check current environment vars for developers
- Add service worker use selection only for development server (config DEVELOPMENT_SERVER = true). This allow to control browser cache because the service ignores 'disable cache' controls
- Add expand feature to tool_image_rotation. Now the tool can expand the canvas to adjust to the rotate image.
Miscellaneous Tasks
- Update version info
- Change the section tch2 to tch10. Update the data of the installation to tch10
- Change the reference button in the ck-editor toolbar of html_text to be more close to link button.
- Remove the text view of the component_portal view_indexation
- Improve tools_register unit test
- Use the default subdatum when the component has a request_config defined in properties. Now the component_relation_index can show standard ddo defined in the request_config instead only the ddo defined in relation_list of the related sections. Now the component can point to specific sections to get only the relations of those pointed sections.
- Update sublime snippets
- Remove unused var 'main_window' from tool_common
- Add dedalo_version property to API get_dedalo_files. Used in cache worker to set the cache version
- Remove unused inspector indexation_list container
- Change login quit action for developers. Now, if
page_globals.is:developer
is true, quit action do not change the URL (default is go to Dédalo base URL to force access to default user section) - Add menu debug_info_bar service_worker_active information. If the service worker is active and registered, a 'sw' label is displayed in the menu debug bar
- Add missing await to ´delete_dataframe´ in component_portal function
fn_click_unlink_record
- Add split_q self capacities to component_input_text, component_text_area, component_iri, component_json. Now they handle the split task directly
- Add empty q values control to component_common::handle_query_splitting to prevent to include empty values (like double spaces issues)
- Add new icon 'gears' to CSS styles
- Add new icon 'gears.svg' used by service worker
Performance
- Optimize service worker fetch by excluding non-JavaScript file handling
- Exclude /lib/* files from service worker fetch
- Add metrics to
tool_common::get_config
- Add cache to
tools_register::get_all_config_tool
for performance - Add cache to
tools_register::get_all_default_config
for performance - Add tool_config calculation to cached user_tools from
tool_common::get_user_tools
. Will be used later to get resolved user tools config from cache
Refactor
- [breaking] Refactor
instances.get_instance
to easy file discovery by packers (Webpack, Rollup, ..) - [breaking] Refactor json_langs calculation from service_autocomplete and component_geolocation, unified in function 'get_json_langs'
- Refactor
component_info.get_widgets
to allow file discovery by packers (Webpack, Rollup, ..) - Move the get_ddo_map to new function to be called by others, removed from rqo->show process.
- Unify the way to store reference tags. Now the all text_area, including html_text will store the references as Dédalo tag instead a html node.
- Refactor component portal view_indexation_edit using normalized 'open_window' function
- Refactor area_maintenance::rebuild_db_indexes to easy change SQL sentences (moved to a separate file 'db_indexes.php')
- Rebuild publication data for text_area is necessary sustain the compatibility with previous data of references.
- Unified the way that get_dato(), get_dato_paginated(), count_data(), count_data_group_by() get inverse locators as data. Now the filter_locator and the target_section are to be created in a common methods.
- Change the show_indexation in ts_object to show the indexation_grid in the same node container. Now is more solid the user interface, and the SQO to get the new data of the dd_grid use the filter_by_locators defined by the caller, opening the way to add more that 1 locator.
- Refactor login and service worker code to improve readability
- Simplifies section rqo_count.source removing unused properties
- Add requestAnimationFrame to menu wrapper style changes on window resize for smooth movement
- Improve
ui.load_item_with_spinner
error management and code readability - Improve login.quit method errors control and delete dedalo_files caches managing
- Unify check directory (default_quality_path) code at component_pdf::process_uploaded_file
- Create a new common function as get_image_source() to calculate the uploaded image file (original, modified, high quality than current quality)
- Change the control of transparency channels (alpha and meta channels) to be more compatible with tiff and psd formats. Now the meta channel is used always to create the version of the images (flat and transparency versions)
- Change the way to create alternative versions of images to maintain the transparency channels of the original uploaded file. (avif and png cases)
Change
- [breaking] Change initial files load (on login) worker_cache 'cache' property value from 'no-cache' to 'reload'
- Change login quit behavior from "window.location.reload" to "window.location.href = DEDALO_ROOT_WEB" (redirect to Dédalo base URL to force access to default user section)
- Add
worker_cache.js
to page index imports to force update file from cache before login - Add other component filters to the duplicated search, prevent get all duplicates without relation to the global search.
- Add publication compatibility of reference tags of html_text as html data-data locator text reference of the tag locator as v5 does. (locator in string format and changing the " with ')
- Add set and get value_with_parents to ddo definition.
- Check if the rqo columns has any column with ddinfo, if it has added to any row of the result. The global check into the component_portal only check the show, and now the ddinfo could be into the rqo->search or rqo->show.
- Remove the reference parse with locator for component_text_area in publication, is not used.
- Add view «text» for view_indexation of the portal to get the fields_separator
- Add reference_component to activate the references in the tool indexation
- Change component_portal indexation view > section_records changes to view 'text' from 'default' to allow coma separated terms (name and surname for example)
- Add component_text_area diffusion non-breaking spaces and spaces trim of diffusion string value (MIB issue with 'p' letter search in epigraphy)
- Use sqo instead variable to create the indexation_grid. Now the SQO is used to build the indexation_grid because is possible set more that 1 locator at the filter_by_locators, as all the children of the term.
- Set the filter_locator to be an array for search into get_refrence_locators(). Now the get_reference_locators use an array instead a locator object.
- Use
magick
command instead deprecatedconvert
in ImageMagick - Remove serviceWorker registration scope. Use auto-calculated scope (same as sw file path)
- Add 'placeholder_debug' style to placeholder_class of
ui.load_item_with_spinner
to improve CSS selection (by menu for example) - Add menu CSS 'menu_placeholder' selector to allow set custom menu_placeholder styles (set higher height for placeholder_debug)
- Change difussion_sql::object_to_string json_encode flags. Added flag JSON_UNESCAPED_SLASHES to json_encode to prevent escape slashes
- Change global font definition from
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
to more generic setsystem-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif
(system-ui is already implemented in modern browsers) - Improve windows display of component labels (increasing the font weight to 400 and using antialiased text to compensate in mac)
- Remove component_common::split_query function (split logic will be moved to components 'resolve_query_object_sql')
- Move search items q split logic to components. Add
component_common::handle_query_splitting
method to unify the splitting work - Unify components 'is_literal' calculation (component_input_text, component_text_area, component_iri, component_json)
- Change login Developer server options layout fro clarity
- Change tool_transcription component_text_area render level from default 'content_data' to 'full' to force update label lang as [lg-spa] when user changes the language selector value
- Exif read information of images to
magick
command and move the function to ImageMagick class it prevent read the dimension in images without exif definition. Now the dimension and orientation is get by image magick. - Add .gitinore rules (/core/lab, /webpack*)
- Unify the way to rotate images with imageMagick. Now the image could be expanded with distort SRT in the same way than rotate command. Changed the rotation-mode to use default, don't expand to adjust, and expanded to be adjusted to don't crop.
- Use
convert
insteadmagick
command to be compatible with Ubuntu version of ImageMagick. convert is deprecated but is the only command compatible with all installations. - Change default empty value from null to '' (empty string) in diffusion values of component_check_box and component_radio_button for compatibility with v5 sites (like mdcat)