[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.
- If you see any error in login screen, press the
continue
button and go to maintenance panel and review the config files definitions orUpdate data
messages orCheck config
panel. - 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)
- 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
- 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.
- Removed v5 direct ontology editor. If you want to review it you can download here.
- 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).
- Added a widget to control the server installation with information about the memory, libraries versions, PHP, PostgreSQL, protocol, etc.
- Change the Dataframe Time_machine. Now main data and its own dataframe shared the Time machine record and the recovery way is more consistent.
- Now is able to propagate data safely in secondary windows.
- Added move to portal process, used to change data with ontology changes.
- Added move to table process, used to move data from a matrix table to other matrix table. (as matrix_list to matrix_hierarchy).
- 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.
- Changed
json_editor
tojson_editor svelte
Bug Fixes
- [breaking] Fix
area_ontology
issue wheremain_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_tablecall 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 definedDEDALO_ROOT_PATH
causes a crash when it is used in publication code (don't loadconfig.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. WhenDEDALO_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 topage_globals.dedalo_notification
- Fix error where
logger_backend_activity::$enable_log
was not applied correctly (now checks is inlog_message
insteadlog_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 functionts_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 theterm
column in empty databases (before install) - Fix missing variable into
click_handler
function inrender_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 forsqo
andcaller_tipo
variables inget_insance()
of thesections
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 bytool_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 whereforce_quit
is not called in the correct place. - Fix
common.js
build_autoload
error checkingapi_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 badjer_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 tojer_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 torequest_config
definition. Used to for new ontology editor to get allsection_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
widgetcheck_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
widgetsystem_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 intojer_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 indd_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 ontologydd1
inontology40
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 intomatrix_ontology
table. - 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 inarea_maintenance
, it will used to fire the ontology update process from maintenance panel. - Added
export_private_lists_to_file()
method, it allow to export thematrix_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 intotool_ontology_export
. Now when the ontology is exported will be includedmatrix_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 giventld
- Add active ontologies to ontology info node in
ontology_data_io
- Add
delete_ontology()
method, it's used to remove thejer_dd
records, main and ontology sections. - Add
delete_main()
method, it will use to delete the main matrix records, ontology nodes in matrix andjer_dd
nodes. It remove all references for the maintld
. Used to update ontology widget and create new hierarchies. - Add
get_main_tld()
method, it used to returntld
associated to main section. use mainsection_id
andsection_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 newmodel
column. The update solve themodel
of everyjer_dd
record. - Add temporary table backup of specific
tlds
ofjer_dd
, it is used in regeneratejer_dd
to ensure the process, if it falls, recreate the nodes with the backup. - Add
get_main_typology_id()
method to resolve thetypology_id
from giventld
. - Add
get_main_name_data()
method to resolve themain_name_data
from giventld
. - Add
regenerate_records_in_jer_dd()
in ontology. Is used to rebuild the records injer_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 inarea_maintenance_api
, used to fire widget methods from client. - Add
get_code_update_info()
method indd_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 incomponent_json
. - Add development version to
update_code
widget - Add
move_to _portal
widget intoarea_maintenance
- Add
portalize_data
method intransform_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 specifysection_tipo
from one matrix table to other asmatrix_list
tomatrix_hierarchy
- Add
map_to_url
function todiffusion_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 inRecordObj_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 ofcomponent_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()
fromjer_dd
, used to get alljer_dd
nodes of specific tld - Add
map_target_section_tipo_to_tld
inontology
class to get the tld from section_tipo. ontology40 --> dd - Add
map_tld_to_target_section_tipo
inontology
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. Transformjer_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 ascomponent_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 newjer_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 alljer_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
toarea_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 giventipo
injer_dd
and return the row if exists. - Add
insert()
method to Ccreate a row intojer_dd
with ontology data. - Add
get_last_section_id_from_tld()
method to find thetipo
as term_id injer_dd
al choose the last id - Add update SQL scripts to remove the
matix_descriptors_dd
andmain_dd
in update process - Remove
matrix_descripts_dd
export table for the backup process. Nowmatrix_descriptors_dd
will not used anymore,jer_dd
has the names of the nodes in theterm
column - Add to set
tld
in cases that hasterm_id
or hasprefix
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 forRecordObj_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
widgetsystem_info
. Addingrequeriments_list
andsystem_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 topublication_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 ofaffected_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
toid_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 thecomponent_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 parentdd0
toNULL
it prevent infinite loop when updatedd
nodes - Use correctly the
get_fierarchy_by_tld()
result, it is thesection_id
instead the full row. - Check if the
tipo
is a ontology main section and returnmatrix_ontology
table. - Rename
section_id_exists()
method tosection_record_exist()
in section. - Reduce the alert in
debug_log
toWARNING
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 fromjer_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
intool_ontology
- Add model resolution to parse sections to
jer_dd
. Now every node has his own model resolution inmodel
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
intodb
directory frommaintenance
- 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 inRecordObj_dd
. It needs a re-defintion how we can implement it, rigth now, it get a error when the columns is not set and itRecordObj_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 inmain.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
tocompnent_with_relations
- Added
set_time_machine_data()
function incomponent_dataframe
, now component_datafrema get its main component data and save mixed into tm row. - Remove the time machine calculation of
dataframe
row. Now thedataframe
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()
intocomponent_dataframe
to return its own maincomponent_tipo
- Added get_main_component_data()
into
component_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 acomponent_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 toRecordObj_dd
for easy detect new columns existence like 'model'. - Add
RecordObj_dd
check for invalid TLD indelete_tld_nodes
method. - Set the overflow of the read_only
component_json
used intool_time_machine
to show the component data and allow to scroll. - Change the
paginator
info in mini view (showed inlast_changes
oftime_machine
ininspector
), 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 othertext_area
tags - Remove the import from ontology definition by tools into
jer_dd
. Now the tools needs to import into thematrix_ontology
insteadjer_dd
. TODO the new logic of register the tools - Remove the
ontology_legacy
class, now onlyontology
class andRecordObj_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 tosample_config
- Remove previous check of
ontology
tld - Add
e.stopPropagation()
to components input to avoid conflicts with page keyup event froEnter
key (specially in thesaurus search) - Remove 6.3.1 widget definitions, now widgets use his own instances
- Remove unnecessary
render_update_code
modalcancel
button for simplicity - Improve
ts_object
(thesaurus and ontology) CSS icons styles by better vertical align. - Add beta updates (development version) to
area_mainatenance
widgetupdate_code
- Add beta update = false (development version) to
area_mainatenance
widgetupdate_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
tobuild_database_version
in unit_test. - Change the update to add some new deffintions
- Add new
move_to_portal
widget inarea_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 thejer_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
andget_longitude
incomponent_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 toRecordObj_matrix_descriptors
because is actually only used byRecordObj_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
andontology_v5
- Refactor
RecordObj_dd
class to useterm
column instead descriptors data - Add
RecordObj_dd_edit
methods toRecordObj_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
inarea_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
toset_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 thejer_dd
table. - Refactor
install:system_is_already_installed
table name check to unify with newDBi::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()
increate_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
widgetregister_tools
to use dynamic data load - Unify
widget_common
build action forcomponent_info
- Unify
area_maintence
widgets set widget label style - Refactor
area_maintence
widgetregister_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
todd_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
asDEDALO_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 injer_dd
. - Unify Ontology URL resolution from inspector
- Refactor
update_lock_components_state
calls to usedd_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
widgetupdate_ontology
for convenience - Change the
import_from_copy_file()
to include thematrix_dd
import from copy. - Change the
link_children
ofts_object
property in a clear way. Now is processed as ashow
object with addo_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
fromtarget_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 createjer_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_machine
recovered when the data has a dataframe. - Refactor
get_code_update_info
function fromupdate_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()
fromontology_legacy
toRecordOcj_dd
- Refactor
area_maintenence
JSON editor calls. Changed by newsvelte-jsoneditor
- Refactor
component_json
load editor code for coherence - Edition of
tool_label
to get and set his data intocomponent_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_dd
addingdelete_tld_nodes
after the main section creation for safe sequences on errors - Refactor
area_maintenance
widgetbuild_install_version
asbuild_database_version
adding recovery table options - Refactor
area_maintenece
widgetupdate_code
- Refactor
updat_ontology
widget
Change
- [breaking] Add compatibility former
ontology
withjer_dd
columnterm
- [breaking] Deactivate old ontology editor
- [breaking] Update
ontology_legacy::tipo_to_json_item
definition to allow useterm
instead olddescriptors
. Added some fast resolve functions toRecordObject_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 inRecordObj_dd
. Now will be used on save record and to resolve model - [breaking] Change
ontology::get_ontology_main_from_tld
andontology::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 likedd0
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 inRecordObj_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 fromrequestAnimationFrame
tosetTimeout
to prevent Safari issues - Add
copy_descriptors_to_jer_dd
method to classtransform_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 useRecordObj_dd
instead - Add
class.ontology_v5.php
to loader - Change dd_tipos
DEDALO_DIFFUSION_TIPO
definition from previousdd3
todd1190
- Change area calls to class
ontology
for renamed classontology_v5
- Add
area_ontology
toarea->get_areas()
- Change tools_register calls to former
ontology
to renamedontology_v5
- Add
set_term
method toRecordObj_dd
to manage JSON terms (formerdescriptors
) - 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 injer_dd
. - Sample config to new master, master.dedalo.dev, for get the ontology and the code.
- Add
matrix_descriptors
to excludes indb_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 columnterm
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
withno
by default and change it only toyes
fordd
tld - Remove the
descriptors
dependence instart()
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 ats_node
and use it to gettarget_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 injer_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 inview_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 gettld
fromproperties
definition instead theterm
to update thejer_dd
to new ontology section - Rename method
add_section_row_from_jer_dd
foradd_section_record_from_jer_dd
for coherence - Change
ontology_legacy::import
method to useterm
insteaddescriptors
- 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 ogDEDALO_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
toget_all_tld_records
for clarity - Remove
matrix_descriptors_dd
actions formontolgy_legacy::clean_structure_data
- Change
debug_log
snippet adding second line for convenience - Remove section
post_save_component_processes
action to updatematrix_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 fromts_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) fromtimeOut
torequestAnimationFrame
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 withsafe_tld
- Add reset table sequences to
matrix_ontology_id_seq
andmatrix_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. Addtools_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 propertieswindowFeatures
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
tofound
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
toarea_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 injer_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
toarea_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 hismain_section
if thetld
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
withtld
only instead thesection_tipo
andtld
- Set the file names with
tld only instead the
section_tipoand
tld` - Get the
typology
to group ontologies to be exported insteadparent
formjer_dd
. Now it use thetypology
defined inmain_ontology
- Set parent locator from
dd1
anddd2
to null, it avoid infinite loop injer_dd
- Add disk free space information to
area_maintenance
system_info
- Add
delete_tld_nodes()
method inRecordObj_dd
and remove theclean_structure_data()
inontology_legacy
- Level of bk show in
debug_log
msg, now is set to 10. - Use
insert_jer_dd_record()
insteadset_records_in_jer_dd()
to create the parent grouper. - Remove old
get_prefix_from_tipo()
inRecordObj_dd
, now use theget_tld_from_tipo()
incore_functions
- Remove old
get_id_from_tipo()
inRecordObj_dd
, now use theget_section_id_from_tipo()
incore_functions
- Add method
consolidate_table
toRecordObj_dd
class to remunerate table id column and consolidate id sequence from 1,2,... - Add 'VACUUM' to
RecordObj_dd::consolidate_table
- Move
crop_50
totool_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
totool_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 parametername_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 toarea_maintenance
) - Improve regex from
core_functions
:get_tld_from_tipo
- Add
get_code_update_info
todd_manager
no logging needed actions - Improve
data_manager
error messages information whenhandle_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
intime_machine
, now the main component store itsdataframe
data with its own data in tm. - Save
dataframe
data fortime_machine
. Now it mix data from the main component and dataframe to be save intotime_machine
- Get dataframe
data for
time_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
tosections::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 newsvelte-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
widgetupdate_code
- Add
jer_dd
update record when properties are modified inontology::add_section_record_from_jer_dd
to preserve the coherence - Add
RecordObj_dd->update
method for updatejer_dd
record instead insert. Changed inontology::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 insteadnull
- Remove (section_id === 0) case to errors in
ontology::parse_section_record_to_jer_dd_record
(it is normal for thosejer_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 sectionsession_save
is not true (prevent interactions between windows, mostly in propagation actions) - Add more portalized data into the
qdp
totch
transform schema. - Add administration definition into the
qdp
totch
transform schema. - Add restoration definition into the
qdp
totch
transform schema. - Add administrative definition into the
qdp
totch
transform schema. - Add move_tld definition for
qdp
totch
transform schema. - Add data from
matrix_list
tomatrix_hierarchy
definition forqdp
totch
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
toRecordObj_dd
to manage instances - Remove
change_handler
and useset_value
forcomponent_json
- Add
IS_AN_ONTOLOGY_SERVER
check forupdate_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
functioncurl_request
response 'errors' properties - Clean up code : remove no longer used
build_structure_css
from classarea_maintenancce
- Clean up code : disables
export_ontology_to_json
andimport_ontology_from_json
widgets from classarea_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