Skip to content

v6.2.8

Compare
Choose a tag to compare
@renderpci renderpci released this 26 Sep 17:10
· 311 commits to master since this release

[6.2.8] - 2024-09-26

🥳 🎉

Important
Last version compatible with v5 ontology. Next version will remove official support for tld: muvaet, divalcdi, herrimemoria, mocuenca, aup, bene, valleoxos, cedis and mupreva. They should be maintained by his own institutions.
Last version with layout design support of v5 ontology properties. Next version will include only the v6 model.

This version introduce a new import media options to upload bulk modified images into the same section than previous original uploads.
This version improve the export data and compatibility with Excel and introduce ODS format.
Now, the delete buttons of sections, portals and thesaurus can delete his own publication data.
Added new feature for the relations in inspector, now is possible open all related records of a section.
Added drag and drop between portals as v5 did.

Bug Fixes

  • [breaking] Fix get_value_with_fallback_from_dato_full bug where always return DEDALO_DATA_LANG instead the passed lang in some context like diffusion (e.g. component_select case)
  • Fix CSS issue where component_text_area vertical-align of images are displayed incorrectly
  • Fix class search_related issue where limit 0 was not interpreted correctly
  • Fix relation list issue where the calculated values were not being cleared from the cache between section instances
  • Fix syntax error in ts_object::get_ar_elements generating wrong type comparing result (double children icon in thesaurus)
  • Fix time machine notes issues where new record is created every time that user opens the note and do not fill the content (blank value). Fix service_time_machine not refresh issues too
  • Fix empty value in section->update_modified_section_data logged_user_id on Quit. It is necessary the session value of user_id before.
  • Fix ui.load_item_with_spinner error where DocumentFragment nodes are not accepted. Now, HTMLElement and DocumentFragment are accepted as valid DOM nodes
  • Fix error where dd_grid_cell_object.resolve_value fails when get fallback_value if is not an array as expected
  • Fix error where widget media_icons try to save component value (av duration) in tm mode
  • Fix issue where non defined 'from_component_tipo' causes an error on section->get_tm_subdatum
  • Fix backup::export_structure response message missing 'dedalo_str_tables_data' message
  • Fix wrong include file path from str_manager/index.php file (manages the Ontology files request in master)
  • Fix Ontology open_docu window issues where code is not compatible with v6
  • Fix invalid var DEDALO_CORE_URL in Ontology context
  • Fix relation_list deep diffusion resolution issues in v6 (see mdcat4338 properties case)
  • Error to move component to the last position of the active elements list in tool_export.
  • Add missing component_date render_input_element_time_range function in search view
  • Add service_time_machine wrapper_component events deactivation by CSS to prevent user interactions
  • Add double quotes to the image file path. The images could have spaces and is necessary enclose the path with double quotes.

Features

  • Add auto-update inspector component data view. Now, on components data change, the inspector data will be updated via event manager subscription
  • Add relation list option (in Inspector) to allow open the selected section related records in a new window
  • Add sheetjs library to manage export grid as XSLX and other formats
  • Add the ability to drag and drop between different components. Now the property draggable_to allows to move a locator from a component to other in the same section.
  • Improves workflow with modals, adding re-selection of the previously selected component
  • Add component_text_area save command on user press NumpadEnter (enter key from numeric keyboard) for convenience
  • Add get_dato_parsed() method to compoment_info. Now the widgets can parse his own data to conform more computable data for export it.
  • Add get_grid_value() for component_info. Now the component_info can export the widget data using the output definition of the IPO.
  • Add get_grid_flat_value() method to component_info. Now the component can export widget data. widget will export his data in breakdown format standard and breakdown will export as breakdown.
  • Add get_dato_parsed() method for sum_dates of mdcat812. Now the widget export coherent and computable data.
  • Add match mode into tool_import_files to match the filename with the previous uploaded filename. Used by add modified quality to previous uploaded images matching the name into image section.
  • Add matching image names without id, free name, to set the quality modified of previous uploaded images.
  • Add get_date_time_original() method to ffmpeg. get the date from ffprobe standard format.
  • Add to create a thumbnail image of the uploaded video file. Now the tool_import_files can render the image to show it previously to process it.

Miscellaneous Tasks

  • [breaking] Remove output 2>&1 in exec::request_cli. Prevents duplicity (errors are already sent to CLI process file).
  • [breaking] Force disabled temporally the filter_locators calculation (beta) !
  • Add test_unit methods test_get_identifier, test_set_dato_resolved to component_common_Test class
  • Add common.get_section_elements_context auto create self.components_list control
  • Add version to tool CSS load file to force refresh cache on new version
  • Normalize tool_update_cache CSS colors
  • Remove disabled temporally the filter_locators calculation (beta) !
  • Change header_count position issue and normalize relation list CSS colors
  • Add lang::resolve_multiple method to manage multiple langs simultaneously
  • Add spinner to section load relation list
  • Delete unused method dd_ts_api::delete
  • Add block_label style to layout dd-modal CSS
  • Add component_common_Test test: test_get_grid_flat_value, test_empty_data
  • Unify dd_api JSON exit (using exit( 0 ) instead die())
  • Unify ts_object delete button label from delete to delete_resource_and_links (same as portals)
  • Add list modal editor to component_json in list view
  • Improve str manager errors managing (used to manage Ontology updates from master server)
  • Add new hierarchy category to be used as typology->category. Used into numismatic type numisdata3.
  • Add component_json to components life cycle test skip_models fro test '.content_data' in list mode
  • Add get_dato to widget_common.
  • Add get_dato_parsed to widget common. Now the widget could parse his data to conform a export data more consistent, used by component_info to create the grid_value.
  • Add component_json->regenerate_component() method to fix some non JSON values (like old user activity data dd1521)
  • Add session_data as table to skip in db_data_check::check_sequences
  • Add inspector paginator section_id info for easy navigation
  • Change the error situation for ImageMagick. Now the error take account if the word Error is in the sentence.
  • Return null when is not present any stream in the uploaded video file.
  • Add label of the component that open the tool_import_files.
  • Change the text to use the caller component when the tool_import_files() is open by component instead a section
  • Added to get the creation date of uploaded PDF with pdfinfo.
  • Added to get the creation time of uploaded av file.
  • Add style to match label of tool_import_files
  • Change the name of the match methods to be used by any other media than image. Now the match could be used by other media as audiovisual or pdf
  • Change core functions get_backtrace_sequence name
  • Add pre_built_search to section.build
  • Add CSS padding-right: 1.33rem to search preset labels for easy read
  • Add backtrace_sequence to debug log of get_referenced_locators for easy detect calls
  • Add core function get_bactrace_sequence for convenience

Performance

  • Improve search->generate_children_recursive_search filter. Change from OR sentence to IN to filter an array of section_id
  • Defer log activity (register_shutdown_function) to improve API response

Refactor

  • Change component_common->get_identifier code to improve clarity
  • Rewrite component_radio_button.get_content_value functions for easy read
  • Wrap diffusion class include into try catch to prevent crashes when a file is not available (Socrata case for example)
  • Change tool_update_cache to make it easier to locate elements (preserve section groups and layout order)
  • Change ts_object->get_child_data count_data_group_by code (indexations) for clarity. Moved to new function get_count_data_group_by
  • Change event_manager.publish code for clarity
  • Change utils.object_to_url_vars code for better readability
  • Unify the output of the widget get_archive_states of dmm1076 to define a export computable way. Now the output define every data as id.
  • Improve json_decode error detection in component:json::set_dato
  • Refactor collect_all_str_files code to make it clearer and more reusable
  • Atomized set_components_data() method to be used in other import ways. Now, is possible to set the component_options added by users in tool_import_files in different import mode.
  • Change the match option into the tool_import_files. Now the button deactivate all other file options.
  • Change the set_media_file() method to be used by any uploaded media file. Now the process is unified and is possible to use by image, PDF, video files.
  • Improve after-upload file management for components in tool_upload (added upload_handler callback call)
  • Improve component_portal change_order_modal handler to auto focus and select the input value to change element order

Change

  • [breaking] Change dd_core_api::delete permissions calculation from common to section (allow section permissions exceptions like time machine notes)
  • [breaking] Add section->get_section_permissions and component->get_component_permissions exception for matrix notes
  • [breaking] Unify section delete flow. Sections, portals and thesaurus. Add children check, remove_parent_references and delete diffusion records checkbox for dd_core_api::delete
  • [breaking] Update install database (contains matrix_time_machine column bulk_process_id)
  • Change area maintenance widget update_data_version process update rate from 1000 to 500 to increase data flow (issues with some proxies)
  • Remove unnecessary JSON ending of filter locator
  • Change area maintenance widget update_data_version process update rate from 500 to 41 ms
  • Remove ISAD term from the update 6.2.7 thesaurus_clean
  • Added exception to get notes without permissions. Now users with 0 access to the matrix_notes can get 1 to be able to read the notes content.
  • Add event_manager load to page index.js to improve event_manager early availability on page load
  • Export way to create the XLSX with the sheetjs library. Now the XSLX, ODS and HTML format use the export lib.
  • Set more relaxed ts objects check to prevent errors in commented properties like '{"DES_type": "icon"}'
  • Remove worker_data.js from excluding in service worker. It's not necessary to exclude it from cache
  • Set default array when is not defined in delete_locator method()
  • Change old stringified q values from area_thesaurus::get_active_and_visible_hierarchy_sections
  • The ESC page event no longer deactivates the component if the modal is open
  • Add DEDALO_TIME_MACHINE_NOTES_SECTION_TIPO (rsc832) to dd_tipos
  • Change section get_dato validation. Add string cast to strpos checks to avoid issues in null values.
  • Add created_by_userID to item data in component_text_area. Useful for time machine notes
  • Add created_by_userID to item data in section.
  • Add user_id to section data in tm mode
  • Add access for super admins to the section list of Time Machine notes
  • Change component_text_area matrix note label no_access by not_allow_to_create_note for clarity
  • Set section_record view_text to display separators without padding. Used by bibliography to show the name of the authors separator with comma.
  • Hide buttons when user is not the owner of time machine note
  • Change the modal size from small to default
  • Rename function has_children_of_type
  • Rename test unit function test_has_children_of_type
  • Change update_user_activity_stats q value from string to object
  • Change diffusion_section_stats::update_user_activity_stats call from login to register_shutdown_function to optimize logout
  • Add user_id argument to activity->log_message method to allow preserve the user id even in log out scenarios
  • Restore diffusion_section_stats::update_user_activity_stats call from login to register_shutdown_function to optimize logout
  • Change widget user activity display value for all users (now, the raw JSON data is displayed)
  • Change default CURL return transfer value from 1 to true (boolean) for coherence
  • Prevent writing activity in search mode (dd_core_api::log_activity)
  • Add tool_common caller label (used for head title disambiguation)
  • Add fallback to the columns name in export tool. Now if the column doesn't has a label will use the column_tipo.
  • Add caller label to ui.tool.build_wrapper_edit (modal header label)
  • Add loading class to view_default_edit_security_access on click button save
  • Add missing section id column when permissions are < 2
  • Add backtrace sequence to dump function
  • Add backtrace sequence to debug_log function (WARNING, ERROR and CRITICAL levels only)
  • Change || operator by more accurate ?? in section init assignations (add_show, buttons)
  • Get the fallback value when the dd_grid value is an object but his value is empty, in this case check the fallback and get it because it could not be resolved in the recursion, it's the final chain.
  • Remove lib that is no longer used background-color-theif.
  • Clean up dropzone unused version (v7)
  • Clean up pdfjs lib files
  • Add match free option to tool import files. First version not operative!
  • Add caller label in object to be showed into the head of tools. Now the caller label could be showed to identify how open the tool.
  • Hide the match options when the tool_import_files() is opened by a component
  • Add component_3d upload handler (fired by tool_upload)
  • Add error handler to posterframe image in component_3d
  • Add own delete_thumb method for component_av to allow delete posterframe when thumbnail is deleted
  • Add cache to search get_editing_preset_json_filter
  • Add auto-activate input name on user opens a search preset
  • Re-organized area_maintenance widgets order for convenience
  • Change search children option CSS to optimize space
  • Unify RQO source config value from autocomplete to read_only to improve permissions calculation on service autocomplete and search presets
  • Change default service_time_machine order for time machine list of sections (by section_id ASC )
  • Change diffusion::get_diffusion_map() error level when no MySQL connection is available (ERROR > WARNING)
  • Add main .htaccess re-direct old v5 paths to the new ones (useful to deploy new master.dedalo.dev server using v6)
  • Add page_globals.dedalo_entity to menu styles (allow custom color like 'master' in green)
  • Add new definitions to stub.php file
  • Change page background color from pure white to 98%
  • Add class name to core_functions get_backtrace_sequence for easy debug

Security

  • Fix possible injection vector in Ontology common.js where regex for URL parameters do not make a global replacement
  • Fix possible injection vector in worker_security_access (Unsafe dynamic method access)