Skip to content

v6.4.0

Latest
Compare
Choose a tag to compare
@renderpci renderpci released this 02 Feb 21:40
· 24 commits to master since this release

[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. The tool will use to convert section data into jer_dd row
  • Add new API utils get_ontology_server_ready() to get if the server is a ontology server or not.
  • Add new get_ontology_update_info() functionality in dd_utils API. It will provide ontology information to valid clients.
  • Add new functionality to get current data and time as ISO timestamp.
  • Add tools and buttons to areas. Now the context will process buttons and tools for areas in the same way than sections
  • Add new ontology_data_io class. It will used to handle input/output import/export data from ontology
  • Added set_ontology_io_path() it will use to set the current version path for ontology io.
  • Added get_ontology_io_path() it will get the current version path for ontology io
  • Added get_ontology_io_url() method it will used to get the current version path for ontology io
  • Added update_ontology_info() method, it will used to update the main component of the ontology dd1 in ontology40 and will save into info properties.
  • Added export_to_file(). method, it will use to copy rows from DB to file the rows are filtered by tld and save in copy files.
  • Add import_from_file() method, it will use to get the ontology files and import into matrix_ontologytable.
  • Added download_remote_ontology_file() method, it will use to call master server to get the desired file using a CURL request
  • Added get_ontology_update_info() method, it will use to provide information about the ontology update files.
  • Added check_remote_server() method, it will use to get the ontology server status.
  • Added new update_ontology widget in area_maintenance, it will used to fire the ontology update process from maintenance panel.
  • Added export_private_lists_to_file()method, it allow to export the matrix_dd into a copy file to be downloaded from remote server.
  • Added import_private_lists_from_file()method, it allow to import the `matrix_dd from a downloaded copy file.
  • Added export_private_lists_to_file() process into tool_ontology_export. Now when the ontology is exported will be included matrix_dd
  • Added import private list process into update_ontology maintenance processes.
  • Add get_typology_locator_from_tld() in hierarchy, it will get typology locator of the given tld
  • Add active ontologies to ontology info node in ontology_data_io
  • Add delete_ontology()method, it's used to remove the jer_dd records, main and ontology sections.
  • Add delete_main() method, it will use to delete the main matrix records, ontology nodes in matrix and jer_dd nodes. It remove all references for the main tld. Used to update ontology widget and create new hierarchies.
  • Add get_main_tld() method, it used to return tld associated to main section. use main section_id and section_tipo given. Used by ontology and hierarchy.
  • Add matrix_dd as fixed file to update when ontology is updated.
  • Add column model to RecordObj_dd. Now the model resolution is part of the ontology node.
  • Add update to jer_dd to add new model column. The update solve the model of every jer_dd record.
  • Add temporary table backup of specific tldsof jer_dd, it is used in regenerate jer_ddto ensure the process, if it falls, recreate the nodes with the backup.
  • Add get_main_typology_id() method to resolve the typology_idfrom given tld.
  • Add get_main_name_data() method to resolve the main_name_datafrom given tld.
  • Add regenerate_records_in_jer_dd() in ontology. Is used to rebuild the records in jer_dd from sections, it creates a backup of the given tlds before the regeneration, parse the sections, delete the original records, and insert new ones.
  • Add widget_request() method in area_maintenance_api, used to fire widget methods from client.
  • Add get_code_update_info() method in dd_utils_api, used to collect code files compatible with client request.
  • Add set_development_path() used to set current version path for development code, nightly version
  • Add get_file_version() used to get current version path for code
  • Add get_code_path() used to get current version path for code
  • Add get_code_url() method, used to build the url of the built code directory.
  • Add get_code_update_info() process. It process the version of the updates definition and select the valid options for the client version.
  • Add drag and drop functionality to view line for portals
  • Integrate svelte-jsoneditor lib in component_json.
  • Add development version to update_code widget
  • Add move_to _portal widget into area_maintenance
  • Add portalize_data method in transform_data it will use to move data from a section to other section and link both with a portal.
  • Add move_to_table widget into maintenance panel.
  • Change the way to update the code by widget, now the update move the old code to backups and copy the config and media files to the new installation, the new way doesn't use RSYNC
  • Add move_data_between_matrix_tables() function, used to move rows of specify section_tipo from one matrix table to other as matrix_list to matrix_hierarchy
  • Add map_to_url function to diffusion_sql class to manage URL publication
  • Add get_latitude() method, used in publication by geolocation to provide the general latitude
  • Add get_longitude() method, used in publication by geolocation to provide the general longitude

Miscellaneous Tasks

  • [breaking] Unify 'response->errors' property across all used functions (change old response->error) server and client (PHP & JavaScript)
  • [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.
  • Add fallback to section_list from real section in request config creation
  • Update tool_qr files
  • Remove duplicated method RecordObj_dd::get_id_from_tipo
  • Add data template to create a ontology_main section in JSON format. It will be use to add specific data in easy way when new main ontology is created.
  • Add debug control to matrix_descriptors_dd calls in RecordObj_matrix.calculate_ID
  • Add item label check to menu render_item_hierarchy() to prevent errors on non resolved label terms
  • Add install missing file dedalo_development_str.custom.backup
  • Remove tool_time_machine from tools of component_relation_parent
  • Add check to possible non defined children in ts_object::get_ar_elements()
  • Set strict_types to db classes (JSON_RecordDataBoundObject, etc.)
  • Set general strict_types to classes
  • Improve tool_diffusion class error handler for better process errors info
  • Improve update_ontology widget errors view (set as pre to preserve line breaks)
  • Change the year of the note in index
  • Add get_all_tld_nodes() from jer_dd, used to get all jer_dd nodes of specific tld
  • Add map_target_section_tipo_to_tldin ontology class to get the tld from section_tipo. ontology40 --> dd
  • Add map_tld_to_target_section_tipoin ontology class to get the section_tipo from tld. dd --> ontology40
  • Added add_main_section()method to create the main ontology sections for specify tld. dd --> ontology40
  • Add add_section_row_from_jer_dd() method. Transform jer_dd row (from DDBB) into matrix ontology row (section record).
  • Find the matrix record of ontology main from a given tld. dd --> section_tipo: ontology35, section_id: 1
  • Get the relations column in jer_dd and set it as component_portal locator pointed to other matrix ontology record.
  • Find the ontology nodes as matrix rows and order by the jer_dd definition.
  • Add create_jr_dd_local_ontology_section_node() to create new jer_dd row with localontology tld for the local tlds
  • Add safe_tld() to check if the tld could has extra malicious code, preventing SQL injection.
  • Add some fixed definition to the cache_target_section_tipo
  • Add ceate_ontology_records(). Used to loop all jer_dd rows and create his matrix row equivalent
  • Change structure lang to get from constant instead a fixed data.
  • Parse multiple string situations from jer_dd relations column (null, NULl, "null", empty, object).
  • Find the matrix row of the ontology main from a target section tipo from ontology matrix row. ontology40 --> section_tipo: ontology35, section_id: 1
  • Remove the localontology fixed definition in main_ontology_section_data.
  • Remove the cli debug to show errors more clear
  • Rename area_maintenance::set_maintenance_mode to area_maintenance::set_congif_auto for clarity
  • Add core function is_ontology_available to check if Ontology (jer_dd) is reachable
  • Add stict_types to some php files.
  • Add get_row_data() method to find the given tipo in jer_dd and return the row if exists.
  • Add insert() method to Ccreate a row into jer_dd with ontology data.
  • Add get_last_section_id_from_tld() method to find the tipo as term_id in jer_dd al choose the last id
  • Add update SQL scripts to remove thematix_descriptors_dd and main_dd in update process
  • Remove matrix_descripts_dd export table for the backup process. Now matrix_descriptors_dd will not used anymore, jer_dd has the names of the nodes in the term column
  • Add to set tld in cases that has term_id or has prefix in RecordObj_dd
  • Specify the type of the return parameter in add_section_row_from_jer_dd() method
  • Add a check for the empty tld when is mapped the target_section_tipo`
  • Add menu to JS unit_test lifecycle
  • Add RecordObj_dd_test class to test unit for RecordObj_dd
  • Add more methods to RecordObj_dd_test unit test
  • Add test_unit JS component_text_area new test
  • Add more unit test methods to RecordObj_dd_test
  • Improve unit_test JS widgets life cycle test including area_maintenace widgets
  • Add non value handler for ImageMagick::has_meta_channel
  • Add PHP library Linfo used to collect system info like CPU, HD, Network, etc. Composer installation
  • Improve area_maintenance widget system_info. Adding requeriments_list and system_list
  • Add area_maintenance::system_info system list items. kernel, devices, raid, services, distribution
  • Add component_text_area new JS unit test
  • Add image magick get_imagemagick_identify_path() method to unify the identify path access
  • Add api_ui property to publication_api widget
  • Add area_maintenece rebuild_lang_files functionality
  • Add remove lang cache action to backup::write_lang_file. This forces to delete the labels cache on every new lang label file creation
  • Add the caller model to the filter cookie.
  • Improve widget counter_status refresh action
  • Add widget system_info pause before calculate his value to avoid blocking other widgets
  • Update tool_lang register.json file (updated Ontology properties in tools to be compatible v6.3.0)
  • Add cache (page_globals.models) to resolve_model function to prevent unnecessary calls to API
  • Add set_records_in_jer_dd() method in ontology
  • Add get_order_from_locator() method in ontology. It will use to get the locator order in the parent node.
  • Add `get_term_id_from_locator() method in ontology. Get the component with the tld data with a given locator
  • Restore missing menu sticky
  • Add menu class for background color red (v6.3.0)
  • Add update for v6.4.0 from v6.3.0
  • Change order of methods to be coherent with the updates in transform data.
  • Add to check if the $data is a empty object in is_empty_dato()
  • Use new tipo_in_array() function to check the tools name are included in the register definition of affected_tipos
  • Add new definition for the tool_ontology. Now is specify the minimum version to 6.4.0 and the affected types
  • Add ontology test unit file
  • Add dd_modal CSS max-width=100% as default style for modal content and remove redundancies
  • Remove the parent check when save a jer_dd row in RecordObj_dd
  • Add node locator definition in parse section_record_to_jer_dd() function, it will use to define the current node order.
  • Add labels and definitions in tool_ontology
  • Change the functions to static in ontology
  • Change the set_records_in_jer_dd() to implement the process of the ontology node.
  • Add get_all_main_ontology_records() method, it will get all ontology in ontology main without filter.
  • Add class ontology to id_info to differentiate thesaurus and ontology id_info
  • Add new Sublime snippet export const for easy JS syntax
  • Remove ontology files. Now using version directories to store ontology files
  • Remove ontology files directory in .gitignore
  • Update time_machine tool register.
  • Update tool_ontology register.
  • Add exception to change list thesaurus properties data. Now the format will use an object as show->ddo_map to define his properties.
  • Low to warning the error when the term_id by locator is not set. It alert when the component has not data, as dd1 parent case, dd1 is a top term in the ontology and his parent is null.
  • Add some comments of how ontology servers works in dd_utils_api
  • Added main_ontology table into the component_relation_parent. Now the component will provide right information of the parent section when the term has a main ontology node as parent.
  • Added a check control of response errors when the ontology is updated.
  • Update actions than doesnt' need to be logged to exec in API.
  • Added CSS styles for the buttons container in area_thesarus and area_ontology
  • Add some CSS styles to area_ontology and update_ontology.
  • Added new ontology constants to sample.config.php
  • Added new ontology constants to update information.
  • Add version to test unit bootstrap
  • Add sql UPDATE to change the parent dd0to NULL it prevent infinite loop when update dd nodes
  • Use correctly the get_fierarchy_by_tld() result, it is the section_id instead the full row.
  • Check if the tipo is a ontology main section and return matrix_ontology table.
  • Rename section_id_exists() method to section_record_exist() in section.
  • Reduce the alert in debug_log to WARNING in relation_common, adding a exist locator in a component is not a error, in automatic process should happens that try to save the same locator by different ways as creating ontology matrix nodes from jer_dd.
  • Change a debug_log to identify it more clearly.
  • Remove old ontology widgets. Now ontology use sections to create nodes and this widgets are not necessary, use export/import tools as any other section.
  • Change definition of matrix_dd copy to import
  • Update tool_ontology register definition. Add labels
  • Add auto focus to button Process in tool_ontology
  • Add model resolution to parse sections to jer_dd. Now every node has his own model resolution in model column
  • Remove matrix_descriptors classes and references, Now the descriptors are save and used jer_dd` term column.
  • Add update_code widget logic.
  • Move db_indexes into db directory from maintenance
  • Remove direct values for widgets. Now use his own get_value() method in class
  • Add db_tasks class in loader.
  • Remove to use model column in RecordObj_dd. It needs a re-defintion how we can implement it, rigth now, it get a error when the columns is not set and it RecordObj_dd is called (as login does).
  • Add updates definition variables.
  • Add update_data property to updates object, used to define if the update has a data processes. Before this change the updates were only data updates, now updates can be for data and code.
  • Move the widgets CSS classes outside maintenance scope. Now they defines his own scope.
  • Change the input name in render_update_ontology.
  • Add new code server config constants.
  • Change the code server path to API, now `update_code API use work api instead a specific trigger
  • Remove area_development CSS in main.less
  • Add ui.attach_to_modal information about styles
  • Update install database (add ontology and localontology new tld definitions)
  • Update class install handlers for new tld definitions: ontology, localontology. Added to preserve tld list and 'to_clean' tables list
  • Added component_dataframe to compnent_with_relations
  • Added set_time_machine_data() function in component_dataframe, now component_datafrema get its main component data and save mixed into tm row.
  • Remove the time machine calculation of dataframe row. Now the dataframe save its own data with the main data of the component and is not necessary calculate the time between records.
  • Added get_main_component_tipo() into component_dataframe to return its own main component_tipo
  • Added get_main_component_data()intocomponent_dataframe` to return its own main component data. Used in time machine save.
  • Added get_time_machine_data_to_save() method its used to get full component data and the main component data to save into tm record.
  • Added get_dataframe_ddo() function. Now all components know if they has a component_dataframe.
  • Added remove_dataframe_data(). Used to delete dataframe data associated to main component that is deleting, every dataframe will be deleted at same time than main data.
  • Added get_time_machine_data_to_save() function, used to get the main data mixed with the dataframe component when it has a dataframe.
  • Change the default color of the dataframe in mini view.
  • Add to create correct subdatum when the component is caller in edit mode, and the subdatum has a dataframe, it will get the correct data from time_machine and his own caller.
  • Remove dataframe data when component update its own value.
  • Remove caller dataframe form tool time machine.
  • Show the dataframe of the main component when is caller in edit mode in time_machine tool.
  • Add has_column method to RecordObj_dd for easy detect new columns existence like 'model'.
  • Add RecordObj_dd check for invalid TLD in delete_tld_nodes method.
  • Set the overflow of the read_only component_json used in tool_time_machine to show the component data and allow to scroll.
  • Change the paginator info in mini view (showed in last_changes of time_machine in inspector), now it show the records instead the pages.
  • Added the total records in paginator micro, now the total records is showed always.
  • Change the render page tags in service_time_machine, now it's render at the same size that other text_area tags
  • Remove the import from ontology definition by tools into jer_dd. Now the tools needs to import into the matrix_ontology instead jer_dd. TODO the new logic of register the tools
  • Remove the ontology_legacy class, now only ontology class and RecordObj_dd are in use.
  • Update tool_ontology_parser register.json file to 1.0.1
  • Add opacity 0.35 to collapsed thesaurus blocks for clarity
  • Add ontology tld to sample_config
  • Remove previous check of ontology tld
  • Add e.stopPropagation() to components input to avoid conflicts with page keyup event fro Enter key (specially in thesaurus search)
  • Remove 6.3.1 widget definitions, now widgets use his own instances
  • Remove unnecessary render_update_code modal cancel button for simplicity
  • Improve ts_object (thesaurus and ontology) CSS icons styles by better vertical align.
  • Add beta updates (development version) to area_mainatenance widget update_code
  • Add beta update = false (development version) to area_mainatenance widget update_code when modal is close
  • Add new typologies definitions.
  • Fix function name error create_ontology_records
  • Fix tool_ontology error where SQO was not reset (limit and offset) causing an incorrect list of records in list mode
  • Fix wrong file paths from unit_test::test_others_life_cycle after change the area_maintenance widgets paths.
  • Fix permissions issues in ontology_Test
  • 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.
  • Fix widget update_code error where unzip folder name and git archive folder do not match (like 'dedalo6_code' was not correctly access using 'dedalo_code' instead). Now is unified to pattern: 6.4.0_dedalo.zip (server) => dedalo_code.zip (downloaded) => /dedalo_code (unzipped)
  • Fix old widget name build_install_version to build_database_version in unit_test.
  • Change the update to add some new deffintions
  • Add new move_to_portal widget in area_maintenance
  • Change new_constants test order in dd_init_test for convenience
  • Update str_manager file for 6.3 compatibility at server side (master)
  • Add updates.php step: from 6.3.0 to 6.3.1
  • Update 'updates.php' missing constants
  • Add tld verification before add in transform_data::generate_all_main_ontology_sections
  • Add ontology converter class (working progress)
  • Update tool_ontology register file (version 1.0.3). Add keyboard events to allow open the tool.
  • Add ontology_data_io to unit test
  • Add control to activity change data to include a old data of what data.
  • Add dd_recovery.sql.gz file. This the source to re-create the jer_dd_recovery table in recovery mode.
  • Update version info
  • Add .venv to .gitignore to prevent to update Python environment (used for mkdocs)
  • Add padding bottom to login message
  • Change some comments in widgets of maintenance panel
  • Move old updates to unsuported_updates file, don't use it to run updates outside his compatible thread.
  • Corrected return values in get_latitud and get_longitude in component_geolocation

Performance

  • Optimize RecordObject_dd::get_modelo_name function for speed
  • Optimize component_security_access functions: build, get_children, get_parents for speed

Refactor

  • [breaking] Refactor the system checks by unifying them in the new system class
  • [breaking] Refactor RecordObj_matrix class and calls for clarity. renamed to RecordObj_matrix_descriptors because is actually only used by RecordObj_descriptors_dd.
  • [breaking] Refactor matrix_descriptors calls and usage. Remove no longer used (in version >=6.3) functions and calls
  • [breaking] Refactor main_dd calls and usage. Make safe calls check because this table is deprecated and will be removed in next versions
  • [breaking] Refactor ontology class and add unit test for the class
  • [breaking] Refactor method component_common->get_list_of_values and reactivates the use of the cache.
  • Refactor class ontology. Split into ontology and ontology_v5
  • Refactor RecordObj_dd class to use term column instead descriptors data
  • Add RecordObj_dd_edit methods to RecordObj_dd to unify classes
  • Change hierarchy class to extends ontology class
  • Integrate area_ontology with the hierarchy process. Now the hierarchy take account the are_ontology to search, and build the tree.
  • Integrate get_widget_value in area_maintenence widgets flow to handle area maintenance widgets values
  • Move widget update_data_version to use generic widget get value
  • Change maintenance class set_congif_auto to set_maintenance_mode for security and usability (6.3.0)
  • Refactor widget check_config render maintenance_mode form
  • Change to get all tld form jer_dd instead use the config and hierarchy. Now the update will use all tld in the jer_dd table.
  • Refactor install:system_is_already_installed table name check to unify with new DBi::check_table_exists function
  • Refactor render_ts_object code to improve readability
  • Change the way to create the ontology section from jer_dd in update, now the process has double pass to set the correct order of the terms.
  • Move the cache to static global into the ontology class
  • Add check of the return boolean data when add_section_row_from_jer_dd() in create_ontology_records()
  • Add check of tld if already exits into the local ontology
  • Refactor menu code to follow the main render life-cycle. Add view view_default_edit
  • Refactor area_maintenance widget register_tools to use dynamic data load
  • Unify widget_common build action for component_info
  • Unify area_maintence widgets set widget label style
  • Refactor area_maintence widget register_tools datalist render to improve control and sync with updated data
  • Refactor area_maintenance widgets CSS organized as individual LESS files for easy management
  • Refactor ffmpeg for an easy integration with system checks
  • Refactor inspector master links for unification
  • Refactor timeouts to dd_request_idle_callback for convenience
  • Refactor core_functions debug_log for WARNING level
  • Refactor widget system:info to load smoothly
  • Refactor login js code for clarity
  • Refactor ontology::get_ontology_main_from_tld / ontology::get_ontology_main_form_target_section_tipo for convenience
  • Refactor search.get_search_group_operator js function to optimize search group
  • Refactor search.set_selection_from_tag js function to optimize tag selection
  • Refactor menu js events for unification
  • Refactor service_upload.upload to handle correctly API server errors from nginx (not parse-able as JSON messages)
  • Set order of ontology node changes to maintain the coherence between siblings nodes.
  • Refactor ts_object drag and drop actions for convenience
  • Set ontology35 as DEDALO_ONTOLOGY_SECTION_TIPO constant in dd_tipos for convenience
  • Change update ontology to use the new import ontology workflow. Now import insert sections in matrix_ontology and update jer_dd instead import directly in jer_dd.
  • Unify Ontology URL resolution from inspector
  • Refactor update_lock_components_state calls to use dd_request_idle_callback in unified way
  • Change the check of empty object. Now it will check if the object exists but doesn't has any property
  • Set arrow functions in click_handler instead a classic functions
  • Change the import_from_copy_file in a common way instead a hierarchy specific. Now ontology and hierarchy will use the same import way to update his data.
  • Refactor area_maintenance widget update_ontology for convenience
  • Change the import_from_copy_file() to include the matrix_dd import from copy.
  • Change the link_children of ts_object property in a clear way. Now is processed as a show object with a ddo_map
  • Change the way to get the model, now it check if the node is a model or not to check his own model.
  • Change the way to obtain tld from target_section_tipo. Now the first option is get it from main ontology instead the locator by itself, usually it should be more stable.
  • Change the way to update ontology data to 6.4 new model. Now the information of the active ontologies became from a file, not used the ontology nodes anymore.
  • Change the way to create main ontology sections. Now it use the ontology.json file definition to add the main section nodes to his typology.
  • Move delete section from core API to sections. Now the delete logic is exec in sections.
  • Change the way to create virtual hierarchy sections. Now it create a matrix ontology record and process it to create jer_dd instead create jer_dd directly.
  • Change the way to create parent groupers, now it use a method that check the ontology typology to create node parent.
  • Unify the way to get active main hierarchies or ontologies to show it in his respective areas.
  • Change the matrix_dd way to be imported/updated.
  • Change the way to load maintenance widgets. Now it can has PHP class and his own CSS.
  • Change the check server including ontology and code in the same call.
  • Add db_tasks class, used to perform common tasks in databases, this commit unify some backup and maintenance classes.
  • Set the final processes to update the ontology. Now it check the db and optimize the result.
  • Change the way to build the version code, now the code is stored into a version tree directories and the files has his version number
  • Use the code server file send by client choose option to update code.
  • Change the user interface for update code widget. Now it show a modal to pick the version to use in the update.
  • Refactor click event handler from widget update_code
  • Change the way to recovery data from time_machinerecovered when the data has a dataframe.
  • Refactor get_code_update_info function from update_code widget
  • Refactor class hierarchy. Remove old code and normalize types and results. Update unit test.
  • Refactor dd_ts_api::add_child for coherence in response
  • Refactor component_relation_common::get_request_config_section_tipo to improve clarity
  • Move tipo_to_json_item() from ontology_legacy to RecordOcj_dd
  • Refactor area_maintenence JSON editor calls. Changed by new svelte-jsoneditor
  • Refactor component_json load editor code for coherence
  • Edition of tool_label to get and set his data into component_json
  • Refactor service_autocomplete inputs placeholder. Added custom label to allow to know what we are editing anytime instead former placeholder.
  • Refactor ontology::regenerate_records_in_jer_ddadding delete_tld_nodes after the main section creation for safe sequences on errors
  • Refactor area_maintenance widget build_install_version as build_database_version adding recovery table options
  • Refactor area_maintenece widget update_code
  • Refactor updat_ontology widget

Change

  • [breaking] Add compatibility former ontology with jer_dd column term
  • [breaking] Deactivate old ontology editor
  • [breaking] Update ontology_legacy::tipo_to_json_item definition to allow use term instead old descriptors. Added some fast resolve functions to RecordObject_dd for convenience.
  • [breaking] Remove the matrix_descriptors_dd table when import ontology from master
  • [breaking] Change search->build_main_where_sql section_tipo where constructor model from 'OR' to 'IN' for speed in large sets of section_tipo like in Ontology search
  • [breaking] Set the target_section_tipo from main ontologies as tld+0 as dd0, resc0, etc.
  • [breaking] Change login behavior where dd_init errors stop the login process warning the user about init sequence problems
  • [breaking] Activate model column in RecordObj_dd. Now will be used on save record and to resolve model
  • [breaking] Change ontology::get_ontology_main_from_tld and ontology::get_ontology_main_form_target_section_tipo methods search from SQO to direct free search to prevent calls to components in regeneration process
  • [breaking] Add random number to section_record id_variant top prevent issues like dd0 children cases where some instances are nor properly rendered because the section_record instance id is the same in more than one instance.
  • [breaking] Add model as column for relation map in RecordObj_dd. Since version 6.3.1 is safe to use that column because is added in 6.3.1 data update.
  • [breaking] Change events.dd_request_idle_callback fallback behavior from requestAnimationFrame to setTimeout to prevent Safari issues
  • Add copy_descriptors_to_jer_dd method to class transform_data. Called by the update to 6.3.0, it copy the table descriptors as object of lang:term
  • Change hierarchy create_term calls to descriptors to use RecordObj_dd instead
  • Add class.ontology_v5.php to loader
  • Change dd_tipos DEDALO_DIFFUSION_TIPO definition from previous dd3 to dd1190
  • Change area calls to class ontology for renamed class ontology_v5
  • Add area_ontology to area->get_areas()
  • Change tools_register calls to former ontology to renamed ontology_v5
  • Add set_term method to RecordObj_dd to manage JSON terms (former descriptors)
  • Remove fixed ontology menu option, to be implemented the are_ontology as other main areas.
  • Add new update to version 6.3.0, the update will remove the old ontology model, it will remove the matrix_descriptors moving the ontology translations into a column in jer_dd.
  • Sample config to new master, master.dedalo.dev, for get the ontology and the code.
  • Add matrix_descriptors to excludes in db_data_check::check_sequences method (this table is not used in the future)
  • Add version control to remove the use of RecordObj_descriptors_dd in old ontology editor.
  • Rename the function in ontology_legacy to new spacename.
  • Remove duplicate import ontology_legacy
  • Add ignore old ontology editor 'v5' to .gitignore file definitions
  • Change dd_cache::cache_to_file JSON encode options: add JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES
  • Change backup::import_structure method policy to allow import tld files even if main restore file fails or generate warnings
  • Add 6.3.0 update script to move from jer_dd to ontology
  • Add basic ontology changes about jer_dd and column term in updates from v5 to allow v6.2.9 to handle the new scenario from the first update
  • Add page HTML property translate="no" to avoid browser unwanted translations
  • Set visible in thesaurus with no by default and change it only to yes for dd tld
  • Remove the descriptors dependence in start() method of the work API
  • Use a general connection to DDBB instead open new one for get_active_tlds()
  • Check if the tree node in the thesaurus is a hiereachy_node or a ts_node and use it to get target_section_tipo
  • Update rate for update data versions to avoid long logs.
  • Remove the cache used to get_termino_by_id(). Note that cache could be result a false positive when is making changes in jer_dd
  • Change widget update_data_version update rate from 41 to 1000 to avoid unnecessary large process log
  • Refresh menu instance after widget update_onlogy finish to force sync menu with new Ontology definition
  • Change unit_test JS timeout from default 2000 to 4000
  • Add requestAnimationFrame to ui.load_item_with_spinner for smooth draw
  • Change area_maintenance render widgets way, using ui.load_item_with_spinner for convenience
  • Change the widget system_info order of system list items
  • Add mb_internal_encoding to UTF-8 set in sample.config.php for safe encoding across all application
  • Add lib linfo. Used to get system info
  • Unify safe file_data logger value in upload file (tool_import and tool_upload)
  • Change inspector's master ontology links using /v5 path
  • Change component_relation_common::resolve_query_object_sql NULL search from '=FALSE' to 'IS DISTINCT FROM TRUE' to improve compatibility (MUPREVA case)
  • Change sample config default LOGGER_LEVEL conditional. Now, SHOW_DEVELOPER is also included in debug log
  • Get the active_in_thesaurus data to be used to show/hide hierarchies/ontologies into the tree. Now is removed in client, Ontology needs to has all active and not active because is necessary use all into search (dd, rsc, etc.)
  • Add to create matrix_ontology tables if not exists previously in update to v6.3.0.
  • Change component_publication size in view_line to 86% of current size to reduce prominence
  • Add get_value_time info to maintenance::get_widget_value to improve debug widgets load time
  • Generate ontology tld now get tld from propertiesdefinition instead the termto update the jer_dd to new ontology section
  • Rename method add_section_row_from_jer_dd for add_section_record_from_jer_dd for coherence
  • Change ontology_legacy::import method to use term instead descriptors
  • Change backup::structure_to_json to avoid to use old 'descriptors' table
  • Remove unused function backup::get_matrix_descriptors_tld_data (descriptors is no longer used)
  • Change update_ontology to force to add 'ontology' to the list og DEDALO_PREFIX_TIPOS
  • Change updates alert message to making sure 'ontology' is in the list of tld (prefix tipos).
  • Add CLI process data info to transform_data::generate_all_main_ontology_sections
  • Remove debug warning for component_relation_common->set_dato() 'Fixing bad formed locator (empty type)'. Add too much noise in console log when import or update data
  • Add updated SQL sentences to clean matrix_ontology tables and counters before apply update 6.2.9 to 6.3.0. Prevent counters from being out of sync when updating them more than once.
  • Add custom render and styles to ts_object when is called by Ontology
  • Rename method get_all_tld_nodes to get_all_tld_records for clarity
  • Remove matrix_descriptors_dd actions form ontolgy_legacy::clean_structure_data
  • Change debug_log snippet adding second line for convenience
  • Remove section post_save_component_processes action to update matrix_descriptors_dd (formerly used by master)
  • Add 'simple' option to dd_core_api::get_element_context resolution. Faster on model name resolutions for example
  • Add data_manager.resolve_model function for faster model resolution (case load component from ts_object for example)
  • Remove forced view in ts_object.show_component_in_ts_object. Now, the component uses his default config view to render in ts_object
  • Change default behavior for non requestIdleCallback browsers (Safari) from timeOut to requestAnimationFrame for convenience
  • Add utils.openwindow method left and top parameters to control the new window position
  • Add button_duplicate to ts_object to mimic v5 Ontology editor features
  • Add inspector is_pinned behavior to detect scrolling and apply appropriate styling then
  • Change tool_diffusion grid columns styles for convenience
  • Add inspector top position correction when menu has notifications or is in maintenance mode
  • Add version to menu local DB id for convenience
  • Update ontology change to v6.4.0 in the update 6.2.9, the ontology change will happen in v6.4
  • Change core_functions safe_tipo regex to improve coherence with safe_tld
  • Add reset table sequences to matrix_ontology_id_seq and matrix_ontology_main_id_seq into the 640 update for convenience
  • Use a more convenient regex to get the tld from a given tipo in RecordObj_dd. Now only a-z characters are accepted and need to be more than 2 characters.
  • Change ontology icon colors in tree for CSS and RQO.
  • Improve cache_user_tools_file_name file name normalization. Add tools_register::get_cache_user_tools_file_name method to give common access to the name
  • Add windowFeatures to tool modals (like open toll in window version). To customize the modal size in a tool, set tool properties windowFeatures like {"windowFeatures":{"width":"34rem","maxWidth":"100%"}}
  • Add set_records_in_jer_dd() functionality for tool_ontology
  • Change ts_object.render_ontology_term id_info text: removed '_' separator for v5 editor coherence
  • Add to_hilite to thesaurus search result for easy access to highlight terms at parse
  • Change name to_hilite to found in thesaurus search results for clarity
  • Change test_build_main_where_sql Test unit to use the new search section mode (IN)
  • Add event keydown to area_thesaurus to swap visualization between title and text in ontology items
  • Add fake error test for debug in area_maintenence::long_process_stream
  • Add data_manager errors handler 'errors' fro compatibility
  • Add key 'Enter' event to area_thesaurus search panel (as section) to allow exec search by keyboard events
  • Remove check properties mode of buttons and tools in inspector. Buttons and tools can be used in list and edit.
  • Check if the node has a main ontology as parent and set parent as dd0, it maintain the v5 coherence in jer_dd
  • Error log to warning when ontology main is not set, sometime ontology main could not be set, is not an error.
  • Add PHP GD lib check to area_maintanace
  • Rename class area_maintenance_widgets to area_maintenance_widgets_values for clarity
  • Remove static cache from tld to section_tipo
  • Set the typology grouper in local ontolgy tree.
  • Set static function get_typology_locator_from_tld() in hierarchy
  • The way to add ontology section with tld. doesn't' used right now.
  • Add typology information to active hierarchies, it used by ontology to get the information of active tld
  • Check the tld to be processed and his main_section if the tld has not main section create new one.
  • Unify get_active_elements() method for ontology and hierarchy. It get the active sections and create a new basic information element.
  • Set the ontology_info with tld only instead the section_tipo and tld
  • Set the file names with tld only instead the section_tipoandtld`
  • Get the typology to group ontologies to be exported instead parent form jer_dd. Now it use the typology defined in main_ontology
  • Set parent locator from dd1 and dd2 to null, it avoid infinite loop in jer_dd
  • Add disk free space information to area_maintenance system_info
  • Add delete_tld_nodes()method in RecordObj_dd and remove the clean_structure_data() in ontology_legacy
  • Level of bk show in debug_log msg, now is set to 10.
  • Use insert_jer_dd_record() instead set_records_in_jer_dd() to create the parent grouper.
  • Remove old get_prefix_from_tipo() in RecordObj_dd, now use the get_tld_from_tipo() in core_functions
  • Remove old get_id_from_tipo() in RecordObj_dd, now use the get_section_id_from_tipo() in core_functions
  • Add method consolidate_table to RecordObj_dd class to remunerate table id column and consolidate id sequence from 1,2,...
  • Add 'VACUUM' to RecordObj_dd::consolidate_table
  • Move crop_50 to tool_import_files.
  • Remove backup methods used for update ontology. Now the ontology is controlled by ontology_data_io class
  • Move extra directory scripts to tool_import_files
  • Add matrix_dd file first in the selected files to be updated in update ontology widget.
  • tool_ontology_export to tool_ontology_parser and add new regenerate option. Now it can export and regenerate the ontology.
  • Remove unused registered tools (non exiting in tools folder) on tools_register
  • Improve ontology SQO search for adding language and set skip_projects_filter as true
  • Change ontology::create_jer_dd_ontology_section_node option parameter name_data as optional
  • Set the code files name with the version at begin of the name: 6.4.0_dedalo.zip is better for order and get the version from the name.
  • Removed unused area_development code (renamed to area_maintenance)
  • Improve regex from core_functions : get_tld_from_tipo
  • Add get_code_update_info to dd_manager no logging needed actions
  • Improve data_manager error messages information when handle_errors after a request
  • Add new constants to check in dd_init_test: 'DEDALO_INSTALL_PATH', 'DEDALO_INSTALL_URL', 'DEDALO_API_URL', 'ONTOLOGY_SERVERS', 'ONTOLOGY_DATA_IO_DIR', 'ONTOLOGY_DATA_IO_URL', 'CODE_SERVERS', 'DEDALO_SOURCE_VERSION_LOCAL_DIR'
  • Change update_code::update_code` response result format from boolean to object for convenience
  • Remove unique data value from dataframe in time_machine, now the main component store its dataframe data with its own data in tm.
  • Save dataframe data for time_machine. Now it mix data from the main component and dataframe to be save into time_machine
  • Get dataframedata fortime_machine` when section is creating subdatum. Now subdatum mix data from the main component and dataframe.
  • Get dataframe data when the component has a dataframe in time machine mode. It will get his data from the main component data stored in time_machine
  • Add property prevent_delete_main to sections::delete method to prevent infinite loops deleting Ontologies.
  • Add Ontology version checker to updates version 640. It displays a warning when Ontology date is too old.
  • Update tool_ontology register file. Changed the tool name for convenience.
  • Remove json-logic lib, now is using calculation widget in server.
  • Remove old jsoneditor library and added new svelte-jsoneditor library.
  • Capture on close event from modal in tool_ontology to prevent unnecessary section refresh
  • Add tool_ontology term_id info
  • Add delete counter action at end of ontology::delete_ontology method to safe delete tld
  • Capture on close event from modal in tool_ontology_parser to prevent unnecessary section refresh
  • Add temporal button Build Dédalo code beta 6.4 to area_maintenance widget update_code
  • Add jer_dd update record when properties are modified in ontology::add_section_record_from_jer_dd to preserve the coherence
  • Add RecordObj_dd->update method for update jer_dd record instead insert. Changed in ontology::add_section_record_from_jer_dd calls
  • Add common.render capture error for non content_data_node issues. Now, a warning node is rendered instead.
  • Change component_json editor value assignation to allow empty string as default value instead null
  • Remove (section_id === 0) case to errors in ontology::parse_section_record_to_jer_dd_record (it is normal for those jer_dd records to have NULL as parent)
  • Add tool_ontology info about total records to process.
  • Add missing time machine save feature $save_time_machine_version to allow cancel save in some scenarios. This is useful for some bulk operations like 'portalize'.
  • Change dd_manager::manage_request response schema to use normalized 'errors' array instead 'error' string.
  • Hide button_search in inspector when section session_save is not true (prevent interactions between windows, mostly in propagation actions)
  • Add more portalized data into the qdpto tch transform schema.
  • Add administration definition into the qdpto tch transform schema.
  • Add restoration definition into the qdpto tch transform schema.
  • Add administrative definition into the qdpto tch transform schema.
  • Add move_tld definition for qdpto tch transform schema.
  • Add data from matrix_list to matrix_hierarchy definition for qdpto tch transform schema.
  • Remove old incompatible updates
  • Change test_jer_dd_version_is_valid min date test value
  • Add new events.js function yield_to_main to manage long-running works
  • Add function get_instance to RecordObj_dd to manage instances
  • Remove change_handler and use set_value for component_json
  • Add IS_AN_ONTOLOGY_SERVER check for update_ontology local servers adding
  • Add ts_object keydown blur for 'ESC' key
  • Unifies render_update_code behavior on finish. Now, a quit command is executed to force reload new JS files.
  • Change the update_code widget sequence order. Now, the media directory is moved at end of the the process to prevent touch the original directory until all sequence is complete (errors can stop execution and leave the media folder in the temporal directory)
  • Change code backup name in update_code adding date as 'dedalo_6.4.0' => 'dedalo_6.4.0_2025-01-30_053542' to prevent stop executions if the target folder already exists (updating to development version for example).
  • Unify core_functions function curl_request response 'errors' properties
  • Clean up code : remove no longer used build_structure_css from class area_maintenancce
  • Clean up code : disables export_ontology_to_json and import_ontology_from_json widgets from class area_maintenancce (they are not necessary with the v6.3 Ontology model)

Documentation

  • Added new constants in config documentation.
  • Adding v6.4 code server definition in config documentation
  • Add recovery_mode documentation
  • Fix recovery_mode markdown syntax errors
  • Add Maintenance mode as title for 'Momentarily disable Dédalo access to user interface'
  • Change the upgrade process from v5 in documentation

Revert

  • Revert JSON Editor change about Firefox height issue
  • Revert create_jer_dd_local_ontology_section_node to static