Skip to content

Releases: renderpci/dedalo

v6.4.0

02 Feb 21:40
Compare
Choose a tag to compare

[6.4.0] - 2025-02-01

🥳 🎉 An ontological update!

This version change the Onotology engine and its editor. It is a big step for the Dédalo engine.
Before upgrading make a backup of your data.

Important
If you want to update from v6.3.1, you need to update your ontology before running the update code in the maintenance panel.
Run the latest ontology update in version 6.3.1 to get the latest changes in version 6.3.1 before clicking the update code button.
The ontology will not be upgradable with the 6.4.0 update process (it uses another update model) and make sure you have the latest version before you start upgrading:

It should be:

Dédalo 2025-01-27T00:00:00+01:00 Benimamet v5_compatible

Log out and log in and update the code normally.

Important

Notes and possible issues with this update.

  1. If you see any error in login screen, press the continue button and go to maintenance panel and review the config files definitions or Update data messages or Check config panel.
  2. v6.4.0 has a different maintenance view than previous versions, when you update from v6.3.0 to 6.3.1 and then 6.4.0 without log out and login, you can get a empty maintenance alerts, log out and log in change to new model (or check your browser cache)
  3. Update the ontology after v6.4.0 will finished, it will review all nodes and get the last version

If you wish to install it, proceed as usual.

Changes

  1. New ontology schema and editor. Now the ontology definition use Dédalo standard sections and components to manage nodes. This change able to apply all Dédalo tools and processes as other sections: Time_machine, Propagation, Import, Export, etc.
  2. Removed v5 direct ontology editor. If you want to review it you can download here.
  3. New way to update ontology and code. Now the update process is accessible by work API and the versions are controlled to be coherent between code and ontology. Now, any Dédalo can server ontology definitions and code (as mirror server).
  4. Added a widget to control the server installation with information about the memory, libraries versions, PHP, PostgreSQL, protocol, etc.
  5. Change the Dataframe Time_machine. Now main data and its own dataframe shared the Time machine record and the recovery way is more consistent.
  6. Now is able to propagate data safely in secondary windows.
  7. Added move to portal process, used to change data with ontology changes.
  8. Added move to table process, used to move data from a matrix table to other matrix table. (as matrix_list to matrix_hierarchy).
  9. Added new recovery mode. Used to enter with a safe ontology version in crash cases. Recovery mode able to access to maintenance panel to rebuilt ontology or run processes to re-built Dédalo installation.
  10. Changed json_editor to json_editor svelte

Bug Fixes

  • [breaking] Fix area_ontology issue where main_table was not correctly added to parent resolution preventing correct nesting of parents in search results
  • [breaking] Fix bug where get_request_config_section_tipo resolution injects resolved section data overwriting active component data from same section instance (component_relation_children case)
  • Fix hierarchy::main_table call with old var name (hierarchy_Test`)
  • Fix menu CSS issue where arrows were displayed vertically misaligned
  • Fix empty value issue in dd_grid_cell_object::resolve_value() (key do not exists)
  • Fix inconsistency in component_email, component_date construct with nullable $tipo
  • Fix name error of main_ontology_section_data.json
  • Fix parse array to string to show errors in update class
  • Fix Return null when the string has a null value as string in decode JSON.
  • Fix db_data_check::check_sequences issue where errors in a table read cause a unrecoverable error. Now are skipped
  • Add a equal operator to get the ontology main from a tld. the search tld need to be exact to avoid false results.
  • Fix core function dump issue where non defined DEDALO_ROOT_PATH causes a crash when it is used in publication code (don't load config.php)
  • Fix creation geo tag error in component_text_area
  • Fix dedalo_notification issue where empty value overwrite the default DEDALO_NOTIFICATION
  • Fix unsync situation when DEDALO_RECOVERY_MODE is set and table name is updated. When DEDALO_RECOVERY_MODE is removed or set to false, the value was not restored
  • Fix component_text_area layer_selector duplicity
  • FIX ck-editor CSS issue where list styles were not displayed correctly
  • Fix missing pagination limit/offset issue in component_dataframe
  • Fix tool_image_rotation issue where sometimes the image was not visualized (load event unsync)
  • Fix component_text_area diffusion issue where paragraphs with styles are not removed (MIB countermarks case)
  • Fix widget check_config dedalo_notification issues when no value is set to page_globals.dedalo_notification
  • Fix error where logger_backend_activity::$enable_log was not applied correctly (now checks is in log_message instead log_message_defer)
  • Fix missing lang fallback for label in ontology_legacy::tipo_to_json_item
  • Fix Firefox CSS issue with jsoneditor when height was not set properly
  • Fix tool_export error when the same component in two different sections stops drag and drop of the second one
  • Fix duplicated widget move_tld
  • Fix to get section_id to resolve the identification value in move_locator in existing value.
  • Fix tools cache error where cache file was not deleted correctly
  • Fix ts_object is_root calculation issues. Unified in new function ts_object.ìs_root
  • Fix login delete caches error where non HTTPS server generates an error when try to delete caches
  • Fix page crash when try to load a non existing instance on render callback. Now the instance is checked before
  • Fix search error when empty group_dom_obj crash the search instance
  • Fix installation problem when area_maintenance::recover_jer_dd_column try to repair the term column in empty databases (before install)
  • Fix missing variable into click_handler function in render_tool_ontology
  • Fix error in set v5 properties. Now the array is removed previous to assign it the data in the jer_dd
  • Fix set null possibility for sqo and caller_tipo variables in get_insance() of the sections class.
  • Fix empty servers error handler in widget update_ontology
  • Fix empty value error case in ontology::parse_section_record_to_jer_dd_record that causes crashes in empty values situations
  • Fix inconsistency detected in tool_ontology_export where saved tld list containing non existing values causes in ontologies list causes process errors. Now values are matched with ontologies list to prevent this cases
  • Fix remove the model for model nodes when a new hierarchy is created. Model nodes has not a model to define itself.
  • Fix component_security_access issue where non countable 'datalist' creates an error on debug message
  • Fix wrong lang property in ontology::get_all_main_ontology_records
  • Fix area_maintenance::register_tools response message issues on import tools
  • Fix wrong sample config servers URL
  • Fix install::clean_ontology syntax error
  • Fix component_common::get_time_machine_data_to_save syntax errors
  • Fix set the bulk revert data correctly when the time_machine has only 1 record.
  • Fix error where hierarchy::generate_virtual_section do not set virtual section model (dd6) -this new section if for models but is a section too-.
  • Fix ontology::set_records_in_jer_dd error where hierarchy main records transformation fails because try to use same parser than regular matrix_ontology records. Used by tool_ontology.
  • Fix >=6.4 missing detection in ontology::jer_dd_version_is_valid
  • Fix ontology_data_io issues test checking remote server
  • Fix ts_object keyup event interactions with thesaurus search action
  • Fix update_code widget error where force_quit is not called in the correct place.
  • Fix common.js build_autoload error checking api_response.errors

Features

  • [breaking] Add recovery mode to allow root user login and fix the Ontology problems
  • [breaking] Add jer_dd_recovery database and logic to handle bad jer_dd table situations
  • [breaking] Add parse_section_record_to_jer_dd_record() method in ontology. Build every component in the section given ($section_tipo, $section_id) and parse to jer_dd format.
  • Create new area ontology, it will use to manage ontolgy in the same way that other hierarchies
  • Add new area_maintenance widget to update the current ontology data into new structure. Now matrix_descriptors is moved to jer_dd as column with all langs.
  • Add ontology_sections property to request_config definition. Used to for new ontology editor to get all section_tipo nodes of ontology.
  • Add widget_update_ontology remote server check
  • Add widget_update_code remote server check
  • Add check_url core function to allow verify if URL is reachable
  • Add component_section_id paste process in search mode to allow easy paste from tables (list of id separated by return)
  • Add area_maintenence widget check_config notifications functionality. Notifications are stored in core_config file and read from API update_lock_components_state on every component activation/deactivation
  • Add area_maintenence widget system_info to display system information about CPU, RAM, HD, etc.
  • Add new tool_ontology, the tool will control the render from section to jer_dd
  • Add tipo_in_array() function to check if the tipo is valid in a grup of tipos. It added wildcards in the array to include all tipos in a tld as ontology*
  • Add to get and render buttons and tools into thesaurus area (and ontology)
  • Add new tool_ontology_export...
Read more

6.4.0-release_candidate.1

23 Jan 15:35
Compare
Choose a tag to compare
Pre-release

[6.4.0-release_candidate.1] - 2024-01-23

Fourth pre-release of the upcoming 6.4.0

This RC release includes a several fixes of some bugs in the new ontology model and add:

  • Fixed the section_list_thesaurus bug reported by Manuel Gozalbes in agora.
  • Fix: tool propagation reported by Jonas von Felten
  • [breaking] Fix ontology::regenerate_records_in_jer_dd bug where TLD nodes deletion generates errors trying to resolve deleted models. Change the sequence order to prevent this issues.
  • Fix recovery mode infinite loop situation when user deactivate the mode but the parameter recovery remains in the URL. Now, the URL param is removed from the widget.
  • Add qdp to tch tansform data
  • Add recovery_mode

v6.3.1

22 Jan 16:24
Compare
Choose a tag to compare

[6.3.1] - 2025-01-22

  1. This update prepare your installation to get the 6.4.0 new ontology definition.
    It is mandatory to add the tld ontology to your DEDALO_PREFIX_TIPOS config values and update your Ontology afterwards.

  2. This update moves the qdp definition to tch
    If you have qdp tld defined in your configuration file, this update will move your data to the standard tch model.
    Review your config definition before run the update, is mandatory to add the tld tch to your DEDALO_PREFIX_TIPOS config values and update your Ontology afterwards.

  3. This version is the last version compatible with the v5 schema. Next version will remove the upgrade compatibility with v5.

Bug Fixes

  • Fix missing descriptor save in ontology v5 editor
  • Fix wrong type in transform_data::set_move_identification_value from array to object
  • Fix nullable error in `component_relation_index::get_references_to_section
  • Save the time_machine data from previous portal correctly in portalize_data process

Features

  • [breaking] change the way to update code. RSYNC is not longer used. Now, a clean install and a backup of the old version in the backups directory (outside of httpdocs) is done.
  • Add move_to_portal widget, used to move data from a section to other section called by a portal.
  • Add move_to_table widget, it will use to move data between matrix tables.

Miscellaneous Tasks

  • Add version to test unit bootstrap
  • Fix CSS issues with line height
  • Transform map from qdp to tch files.
  • Add move_locator widget CSS
  • Add move_data_between_matrix_tables method used to move data between matrix table with a .json definition.
  • Add qdp to tch update using the move data definitions.
  • Add qdp matrix tables movement, from matrix_list to matrix_hierarchy
  • Add qdp changes for move data to tch
  • Add transform sets section from qdp to tch. Is deprecated but, right now is necessary use it to be compatible with diffusion model. Move it to tch when it will ready.
  • Add some comment to update process of qdp to tch model.
  • Added Other codes portal to qdp to `tch transformation map.
  • Change the download code file name to be compatible with the 6.4.0 code file name.

v6.4.0-beta.3

13 Jan 18:54
Compare
Choose a tag to compare
v6.4.0-beta.3 Pre-release
Pre-release

[6.4.0-beta.3] - 2024-01-13

Third pre-release of the upcoming 6.4.0

This beta release includes a several fixes of some bugs in the new ontology model and add:

  • New ontology tld
  • Remove ontology_legacy class
  • Fix: Time Machine with dataframes
  • Change json editor with new json-svelte editor
  • Added unit test for ontology and hierarchy

v6.4.0-beta.2

07 Jan 08:19
Compare
Choose a tag to compare
v6.4.0-beta.2 Pre-release
Pre-release

[6.4.0-beta.2] - 2024-01-07

Second pre-release of the upcoming 6.4.0

This beta release includes fix some bugs in the new ontology model and add:

  • New install database with the latest ontology.
  • New way to save and recovery data frame data, now main component and dataframe save its own data mixed in one Time Machine data.
  • New update code in the same way that update ontology. Now code is updated with version controls.

v6.4.0-beta.1

02 Jan 10:48
Compare
Choose a tag to compare
v6.4.0-beta.1 Pre-release
Pre-release

[6.4.0-beta.1] - 2024-01-02

First pre-release of the upcoming 6.4.0

6.4.0 version of Dédalo will introduce an important change in the Dédalo ontology. Ontology engine was founded with the hierarchy engine of version 3.0. and it was not deeply changed because it's the core engine, the kernel of Dédalo, a small change in ontology has a lot of implications.

But the ontology engine is old and it needs a totally change.
This change was on the table for years but the transition from v5 to v6 was an major refactoring of javascript and how Dédalo works with the client side and to be successful we decided to keep the old, and super stable ontology engine. Rebuild the ontology engine for v5 was not feasible and it involves double effort.

In version 6.3.0 we have finalised support for the v5 ontology, therefore it is time to change the ontology engine.
And this important change needs to be tested by the community before it release. It's a big change and it has a lots of implications.
Ontology engine was totally removed and the update move the ontology editor to usual sections and hierarchy tree. The old editor is totally removed and the process to publish an update the ontology was developed from scratch.

Is important that you test this version a non production server!

Please provide feedback in the Àgora.

Pre update

If you want to update your server you will need to prepare it.

Preparing the installation to get the ontology definition, the update needs the «ontology» tld and his definition, before update the code you will need to set the ontology tld in your config.php as:

define('DEDALO_PREFIX_TIPOS', [
    'dd',
    'rsc',
    'ontology',
    'hierarchy',
    'lg',
    'utoponymy',
    'oh',
    'ich',
    'nexus',
    'actv'
]);

Note

Take account that this definition may be different on your server, add «ontology» but don't touch any other tld.

And you will need to update the ontology before update your server.

Installing

🧐 IMPORTANT! Please read carefully before applying this update:

Review the config definition. Some constants was added before login at first time and some are removed.

  1. Constants added:
define('DEDALO_INSTALL_PATH',	DEDALO_ROOT_PATH . '/install');
define('DEDALO_INSTALL_URL',	DEDALO_ROOT_WEB . '/install');
define('DEDALO_API_URL',        DEDALO_CORE_URL . '/api/v1/json/');
define('ONTOLOGY_SERVERS',	[
					[
						'name'	=> 'Beta Dédalo Ontology server',
						'url'	=> 'https://master.dedalo.dev/6.4/core/api/v1/json/',
						'code'	=> 'x3aBeta_f385_bcawAc4_fg'
					]
				]);
define('ONTOLOGY_DATA_IO_DIR',  DEDALO_INSTALL_PATH . '/import/ontology');
define('ONTOLOGY_DATA_IO_URL',  DEDALO_INSTALL_URL . '/import/ontology');

Important

About ONTOLOGY_SERVERS
The beta ontology server definition will be removed at the end of the beta period, do not use this configuration on a production server.

  1. Constants removed:
define('STRUCTURE_SERVER_CODE',         'x3a0B4Y020Eg9w');
define('STRUCTURE_SERVER_URL',          'https://master.dedalo.dev/dedalo/core/extras/str_manager/');
define('ONTOLOGY_DOWNLOAD_DIR',         DEDALO_BACKUP_PATH_ONTOLOGY . '/download');
define('STRUCTURE_DOWNLOAD_JSON_FILE',  DEDALO_BACKUP_PATH_ONTOLOGY);
  1. Optional Only if your installation will provide a local ontologies (private ontologies that are not shared outside your installations)

In the case that you want to convert your own server as ontology provided you need to add this constant in your config defining your server code.

An ontology server can provide its ontology files to other Dédalo servers.
to do it change IS_AN_ONTOLOGY_SERVER to true and set your own ONTOLOGY_SERVER_CODE.

define('IS_AN_ONTOLOGY_SERVER',			false);
define('ONTOLOGY_SERVER_CODE',          'Here:my_valid_code_for_Ontologies');

Best

v6.3.0

09 Dec 18:34
Compare
Choose a tag to compare

[6.3.0] - 2024-12-09

🥳 🎉 People have the power!!!! (and only one can remain... ;)

This update represents a historic change: the unification of the people sections.

Important

This update will change your data, it will move People rsc194 records to People under studyrsc197 changing the section_id of People data.
This update follow the plan defined in agora, please read it previously carefully.
After update. Remove access to People rsc194 for all users to keep section without new data. It will be removed in next ontology updates.

Bug Fixes

  • [breaking] Fix renamed DEDALO_DIFFUSION_TIPO tipo error (dd_tipos) where diffusion domain is not found
  • [breaking] Fix the code error in update 6.2.9 that caused a catch 22 situation. Now, a recovery test is done from dd_core_api.start before loading the main page and the column is added if it is not ready
  • [breaking] Fix component_autocomplete error where fields_separator are not respected in diffusion (see numisdata1292)
  • Fix db_data_check::check_sequences problem where invalid tables caused unrecoverable error
  • Fix menu CSS issue where arrows were displayed vertically misaligned
  • Fix creation geo tag error in component_text_area
  • Fix ck-editor CSS issue where list styles were not displayed correctly
  • Fix error were publication get_full_fragments uses a null value to remove restricted text causing an error
  • Fix for ontology manager (v5) bug where descriptors were not being saved when a term was duplicated
  • Fix nullable condition in component_date constructor
  • Fix preset search error when the action of saving the selected preset fails after creating a new preset
  • Set unlimited search with relation sections to get the people used in text_area to assign to transcriptions.
  • Create new object data when is not set previously in get_tm_subdatum()
  • Fix tool_export error when the same component in two different sections stops drag and drop of the second one
  • Fix multi byte issues in method diffusion_sql::anonymized_name
  • Fix tool_import_marc21 error where config ISBN is mapped to rsc137 instead the correct rsc147
  • Fix tool_import_marc21 bug where dd_action was not firing correctly
  • Check if the record has data to add data to new section to identify the move
  • Fix wrong class name from area_maintenance to counter

Features

  • Add diffusion_sql::anonymized_name function to handle special case of anonymized names for people using name and surname in first chars format as JVPR
  • Add function diffusion_sql::map_locator_to_value to handle direct value map situations like "true => 1, false => 0"
  • Add Diffusion config properties to documentation (samples of diffusion configurations using Publication API v1)
  • Add new move_locator widget in area maintenance.
  • Implementation of move_locator. It add the transform locator data from all tables into new locator using a JSON file map
  • Add set_move_identification_value() in transform data class. Used to add a value to moved records to identify the movement.
  • Add replace_locator_in_string() method in change data class. Used to replace string locators in component_text_area into with new one.
  • Add replace_locator_in_tm_data() method in class transform data. Used to change the locator in time machine data.
  • Add process_locators_in_section_data() method into transform data class. Used to change locators in data components.
  • Add changes_in_locators() method in transform data class. Used to move one locator to other locator.

Miscellaneous Tasks

  • Remove tool_time_machine from tools of component_relation_parent
  • Add check to possible non defined children in ts_object::get_ar_elements()
  • Improve tool_diffusion class error handler for better process errors info
  • Add command output to backup::import_structure for easy debug
  • Add function get_base_binary_path in core_functions to get OS dependent core path
  • Add deep component_date example to `diffusion_config_properties´ documentation
  • Add some comments in transform data class for changes in locators
  • Add v6.3.0 update definition. It will change People moving records to People under study.
  • Change municipality definition for fr1 on legacy portal method get_legacy_political_map (used by "cost humà" publication) 41192 => 41193 (commune)

Refactor

  • [breaking] Refactor and improve search presets code
  • Change maintenance class set_congif_auto to set_maintenance_mode for security and usability
  • Move the transform data files into a specify directory

Change

  • [breaking] Improve locator check safe tipo and section tipo to prevent importing bad locators as UCA reporting case
  • Add RecordObj_dd capability to handle term column. used by method hierarchy::create_term()
  • Add DEDALO_UPLOAD_TMP_DIR creation directory test and curl request test to dd_init_test login sequence
  • Add dd_init_test to test unit
  • Change ontology links to new server master.dedalo.dev and new path /v5
  • Add 'slice' options to component_autocomplete_hi::$_get_diffusion_value custom_parents resolutions in an easy way selection
  • Add 'select_model' options to component_autocomplete_hi::$_get_diffusion_value custom_parents resolutions in an easy way selection
  • Change render_tool_diffusion publication button auto focus behavior. Now, is focus when is in view port for convenience
  • Update error detection in Socrata response
  • Add unified section method focus_first_input that mimics components method with same name and allow to activate the first component in the section
  • Change default logger level for SHOW_DEVELOPER in sample config file
  • Add method diffusion::get_table_tipo to resolve the table tipo from diffusion_element_tipo for given section
  • Add method diffusion::get_table_name to resolve the table name from diffusion_element_tipo for given section
  • Change Socrata class method diffusion_socrata::update_record to take care of overwriting langs and exclude columns from ontology config properties
  • Add method diffusion_sql::str_pad for convenience
  • Change the ontology version information in update 6.2.9, now the ontology upgrade will be in 6.4.0
  • Add max_execution_time control to dd_utils_api::get_process_status to prevent stop the update of process status
  • Add control to locator key in replace_locator_in_tm_data
  • Disable logger_backend_activity temporally in transform_data::changes_in_locators (it's not necessary to log millions of changes in time machine and activity tables)
  • Add search previous saved typology for People to prevent duplicates when user apply this update more than once
  • Change process status update rate from 41 to 1000 to reduce the process log file in large process (area_maintenence => update_data_version)

v6.2.9

13 Oct 11:24
Compare
Choose a tag to compare

[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 ...
Read more

v6.2.8

26 Sep 17:10
Compare
Choose a tag to compare

[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 `...
Read more

v6.2.7

05 Sep 07:13
Compare
Choose a tag to compare

[6.2.7] - 2024-09-05

🥳 🎉

This update unifies the flow of media process between components. Now the media use the regenerate() method when the user upload media files, instead use a specific behavior.

Adds a control to different configurations and versions of ImageMagick to manage alpha and meta channels when alternative versions that support transparency are active. Read the ../config/sample_config.php for more details.

Introduces the new component_indexation which allows paging data and fetching its data from a calculation instead saving related data. It allows to show related tch and tchi heritage in the thesaurus tree. And now the thesaurus can display the indexations of the children in its parent, grouping all related heritage together in the parent term.

Bug Fixes

  • [breaking] Fix diffusion sub-level bug where thesaurus parents publication blocks the deep level resolutions (case images in MHT game for example).
  • Fix unit test error where component_input_text check 'get_permissions' instead 'get_component_permissions'
  • Fix unit test error where gettype is check instead isset for test_debug_log
  • Fix tool_update_cache components_selection name coherence errors across client and server
  • Fix diffusion_sql error where records from global_table_maps are not deleted on delete record (search_global2 case)
  • Fix bug where Ffmpeg::build_av_alternate_command fails after first call with same settings

Documentation

  • Add Image Magick configuration documentation.
  • Add Request Query Object documentation, unfinished.

Features

  • Add check_normalized_files method for component_images, used to check if the uploaded files has the normalized and alternative image versions
  • Add regeneration options to tool cache. Normalized components get_regenerate_options options
  • Add delete_normalized_files method. Used to move all images into delete directory and keep the uploaded files.
  • Add delete_tipos() method into transform data. Used to delete some components data in updates.

Miscellaneous Tasks

  • Add magick_config constant to sample config. It defines some specific behavior control of the ImageMagick library based in the difference of the library behavior in some OS.
  • Update chai js lib from 4.3.3 to 4.3.8. Moved from /lib/mocha to /lib/chai
  • Add DEDALO_SEARCH_PRESET_SECTION_TIPO (dd623) to dd_tipos for convenience
  • Add bulk process to update cache.
  • Add option to set the layers defined by the components to choose witch layer need to be processed by ImageMagick. Used by component_pdf to create the first page image.
  • Update composer libs
  • Remove unused Leafleft libraries
  • Delete unused code of component_3d
  • Check if the default file and alternative versions files exists before regenerate the component, if doesn't exists re-create doing a build
  • Add specific build for component_pdf. Unify with the process of component_image.
  • Remove unused call to get_section_elements_context in search.js

Refactor

  • Simplify tool_media_version.render_file_versions code for clarity
  • Change dd_dcore_api::read activity log code for clarity. Moved logic to new method dd_dcore_api::log_activity
  • Change delete and remove_component_media_files to get the extension of the file to be deleted. Now delete process take account the file extension to delete only the file with specific extension.
  • Change the way to delete image files. Now all images are moved into the delete directory and his data is preserved when only 1 file (with specific extension) is deleted.
  • Change the way to process uploaded files and convert the quality of them by regenerate processes.
  • Unify the regenerate way to create image archives when user upload files or update cache. Now the process always call to regenerate the images instead done specific process
  • Change component_external->load_data_from_remote component tipo iteration names and filter
  • Change diffusion methods related with delete for clarity
  • Unify the way to create file versions in different quality. Now all file process will use regenerate_component().
  • Unify the way to create file versions in different quality for component_av. Now all file process will use regenerate_component().
  • Unify the way to delete normalized files in component_common. Now every component define his own normalized qualities to be delete before regenerate it.
  • Unify the way to create file versions in different quality for component_svg. Now all file process will use regenerate_component().
  • Unify the way to create file versions in different quality for component_pdf. Now all file process will use regenerate_component().
  • Unify the way to get text from pdf. Now the upload process and the tool use the same way to get the pdf text.
  • Add some debug controls to process_ocr method in component_pdf
  • Unify the way to regenerate component_pdf with all media components.

Change

  • Add control of ImageMagick library for transparent images.
  • Unify reload_js_files action in update_code (area_maintenance)
  • Change component_publication appearance in mobile. Restored box-shadow
  • Remove ckcachebust from unit_test/index.html (unnecessary for development)
  • Add default value '0750' to core function create_directory
  • Change default tool_diffusion skip_publication_state_check default value form 0 to 1
  • Delete all normalized files previously to regenerate process. Now is force to delete all generated - normalized images to recreate all versions and qualities.
  • Add component_av posterframe outline to improve visualization when background is white
  • Set thesaurus search typology_selector width as 10rem to prevent width changes when user changes the selection
  • Unify the way to get regenerate options of the components. Used to show it into the tools as update_cache.
  • Change default state for tool_cache regenerate options from 'opened' to 'closed'
  • Set async property to true to create media version, used by component_av to generate it in background
  • Add control to show the components of section info into the selection list of components to search of export.
  • Disallow the process of uploaded documents different of PDF files. this kind of documents can not be processed by OCR or get his text.
  • Check if the file could be processed as PDF or is other kind of text file «doc», «pages».
  • Add get_section_elements_context parameter caller_tipo to allow skip_permissions in area thesaurus context
  • Remove old thesaurus terms that are not used; section_list_thesaurus and search. Now when a new hierarchy is build do not copy those nodes.
  • Remove tchi9 from sql_thesaurus clean in the v6.2.7 update