Releases: renderpci/dedalo
v6.3.0
[6.3.0] - 2024-12-09
🥳 🎉 People have the power!!!! (and only one can remain... ;)
This update represents a historic change: the unification of the people sections.
Important
This update will change your data, it will move People
rsc194 records to People under study
rsc197 changing the section_id of People
data.
This update follow the plan defined in agora, please read it previously carefully.
After update. Remove access to People
rsc194 for all users to keep section without new data. It will be removed in next ontology updates.
Bug Fixes
- [breaking] Fix renamed
DEDALO_DIFFUSION_TIPO
tipo error (dd_tipos
) where diffusion domain is not found - [breaking] Fix the code error in update 6.2.9 that caused a catch 22 situation. Now, a recovery test is done from
dd_core_api.start
before loading the main page and the column is added if it is not ready - [breaking] Fix component_autocomplete error where
fields_separator
are not respected in diffusion (see numisdata1292) - Fix
db_data_check::check_sequences
problem where invalid tables caused unrecoverable error - Fix menu CSS issue where arrows were displayed vertically misaligned
- Fix creation geo tag error in
component_text_area
- Fix
ck-editor
CSS issue where list styles were not displayed correctly - Fix error were publication
get_full_fragments
uses a null value to remove restricted text causing an error - Fix for ontology manager (v5) bug where descriptors were not being saved when a term was duplicated
- Fix nullable condition in
component_date
constructor - Fix preset search error when the action of saving the selected preset fails after creating a new preset
- Set unlimited search with relation sections to get the people used in text_area to assign to transcriptions.
- Create new object data when is not set previously in
get_tm_subdatum()
- Fix
tool_export
error when the same component in two different sections stops drag and drop of the second one - Fix multi byte issues in method
diffusion_sql::anonymized_name
- Fix
tool_import_marc21
error where config ISBN is mapped torsc137
instead the correctrsc147
- Fix
tool_import_marc21
bug wheredd_action
was not firing correctly - Check if the record has data to add data to new section to identify the move
- Fix wrong class name from
area_maintenance
tocounter
Features
- Add
diffusion_sql::anonymized_name
function to handle special case of anonymized names for people using name and surname in first chars format asJVPR
- Add function
diffusion_sql::map_locator_to_value
to handle direct value map situations like "true => 1, false => 0" - Add
Diffusion config properties
to documentation (samples of diffusion configurations using Publication API v1) - Add new
move_locator
widget in area maintenance. - Implementation of
move_locator
. It add the transform locator data from all tables into new locator using a JSON file map - Add
set_move_identification_value()
in transform data class. Used to add a value to moved records to identify the movement. - Add
replace_locator_in_string()
method in change data class. Used to replace string locators incomponent_text_area
into with new one. - Add
replace_locator_in_tm_data()
method in class transform data. Used to change the locator in time machine data. - Add
process_locators_in_section_data()
method into transform data class. Used to change locators in data components. - Add
changes_in_locators()
method in transform data class. Used to move one locator to other locator.
Miscellaneous Tasks
- Remove
tool_time_machine
from tools ofcomponent_relation_parent
- Add check to possible non defined children in
ts_object::get_ar_elements()
- Improve tool_diffusion class error handler for better process errors info
- Add command output to
backup::import_structure
for easy debug - Add function
get_base_binary_path
incore_functions
to get OS dependent core path - Add
deep
component_date
example to `diffusion_config_properties´ documentation - Add some comments in transform data class for changes in locators
- Add v6.3.0 update definition. It will change
People
moving records toPeople under study
. - Change
municipality
definition forfr1
on legacy portal methodget_legacy_political_map
(used by "cost humà" publication) 41192 => 41193 (commune)
Refactor
- [breaking] Refactor and improve search presets code
- Change maintenance class
set_congif_auto
toset_maintenance_mode
for security and usability - Move the transform data files into a specify directory
Change
- [breaking] Improve locator check safe tipo and section tipo to prevent importing bad locators as UCA reporting case
- Add
RecordObj_dd
capability to handleterm
column. used by methodhierarchy::create_term()
- Add
DEDALO_UPLOAD_TMP_DIR
creation directory test and curl request test todd_init_test
login sequence - Add dd_init_test to test unit
- Change ontology links to new server master.dedalo.dev and new path /v5
- Add 'slice' options to
component_autocomplete_hi::$_get_diffusion_value
custom_parents resolutions in an easy way selection - Add 'select_model' options to
component_autocomplete_hi::$_get_diffusion_value
custom_parents resolutions in an easy way selection - Change
render_tool_diffusion
publication button auto focus behavior. Now, is focus when is in view port for convenience - Update error detection in Socrata response
- Add unified section method
focus_first_input
that mimics components method with same name and allow to activate the first component in the section - Change default logger level for
SHOW_DEVELOPER
in sample config file - Add method
diffusion::get_table_tipo
to resolve the table tipo from diffusion_element_tipo for given section - Add method
diffusion::get_table_name
to resolve the table name from diffusion_element_tipo for given section - Change Socrata class method
diffusion_socrata::update_record
to take care of overwriting langs and exclude columns from ontology config properties - Add method
diffusion_sql::str_pad
for convenience - Change the ontology version information in update 6.2.9, now the ontology upgrade will be in 6.4.0
- Add
max_execution_time
control todd_utils_api::get_process_status
to prevent stop the update of process status - Add control to locator key in
replace_locator_in_tm_data
- Disable
logger_backend_activity
temporally intransform_data::changes_in_locators
(it's not necessary to log millions of changes in time machine and activity tables) - Add search previous saved typology for
People
to prevent duplicates when user apply this update more than once - Change process status update rate from 41 to 1000 to reduce the process log file in large process (
area_maintenence
=>update_data_version
)
v6.2.9
[6.2.9] - 2024-10-13
🥳 🎉 V6 ontology transition was done!
This update is a transition version to prepare your Dédalo installation for upcoming v6.3.0
Important
This release freezes the v5 ontology on the current master server. The next ontology changes will be applied ONLY on the new master.dedalo.dev
server and will ONLY include the v6 model and supported tlds.
Change required after upgrade:
- If you are installing it you don't need to change it, the new configuration files have the correct settings.
- If you are upgrading your Dédalo installation, you will need to apply this change in your config after applying this upgrade:
-
Change the ontology and code server.
Review the
./dedalo/config/config.php
and locate theSTRUCTURE_SERVER_URL
andDEDALO_SOURCE_VERSION_URL
and change it.from:
define('STRUCTURE_SERVER_URL', 'https://master.render.es/dedalo/lib/dedalo/extras/str_manager/');
define('DEDALO_SOURCE_VERSION_URL', 'https://master.render.es/dedalo/code/dedalo6_code.zip');to:
define('STRUCTURE_SERVER_URL', 'https://master.dedalo.dev/dedalo/core/extras/str_manager/');
define('DEDALO_SOURCE_VERSION_URL', 'https://master.dedalo.dev/dedalo/code/dedalo6_code.zip');Future releases will ONLY be published on the new master.dedalo.dev, therefore if you
Other implementations
- Compatibility with upcoming PHP 8.4.
- This update introduces the last remaining tool from v5, the QR tool to generate QR codes for printing labels on objects.
Bug Fixes
- [breaking] Fix bug where diffusion references are not resolved after the first level (resolve_references = false)
- [breaking] Fix non array dato issue in
component_common->update_data_value
where a non array value causes an error checking array_key_exists (old email string value case) - [breaking] Fix section->Save error where filter search was made without set
search_exact
to true, creating false match (component_filter_master
) for sectionUsers
(dd128) - Fix non defined request_config situation in
dd_core_api::start
- Fix invalid default null value set to
RecordObj_dd::get_descriptor_dato_by_tipo
- Fix non data issue in
tool_qr
where null values crash the tool - Fix
component_security_access.update_parents_radio_butons
error where parents calculation does not wait for promise resolution - Fix incorrect components init order where some common init was not exec at beginning causing properties overrides like
events_tokens
- Fix invalid call to
fn_img_quality_change
from component_imageview_default
- Fix inspector paginator CSS issue where paginator_info overlap section_id info
- Fix CSS path errors in ontology legacy
dd_list.less
- Fix ontology legacy path inline edit name error
- Remove wrong
render_token
stored var incommon.render
- Add missing destroy
events_tokens
from element (component, section, etc.) oncommon.do_delete_self()
- Set CSS style to no descriptors terms toggle node in
ts_object
is could has children but is not the children arrow.
Features
- [breaking] Add tool_qr (revamped from v5)
- Add section list fallback to avoid to define always the section list in virtual sections. If not defined, the real section
section_list
will be used
Miscellaneous Tasks
- [breaking] Change
component_pdf
default value forregenerate_component
transcription from false to true. Allows to re-create the transcription text in some circumstances - PHP 8.4 compatibility. Migrate custom function
array_find()
to native PHPv8.4 functionarray_find()
- PHP 8.4 compatibility of nullable type declaration for
component_text_area
- PHP 8.4 compatibility of nullable type declaration for
component_svg
- PHP 8.4 compatibility of nullable type declaration for
component_security_access
- PHP 8.4 compatibility of nullable type declaration for
component_section_id
- PHP 8.4 compatibility of nullable type declaration for
component_relation_related
- PHP 8.4 compatibility of nullable type declaration for
component_relation_parent
- PHP 8.4 compatibility of nullable type declaration for
component_relation_index
- PHP 8.4 compatibility of nullable type declaration for
component_relation_common
- PHP 8.4 compatibility of nullable type declaration for
area_common
- PHP 8.4 compatibility of nullable type declaration for
area_graph
- PHP 8.4 compatibility of nullable type declaration for
area_thesaurus
- PHP 8.4 compatibility of nullable type declaration for
backup
- PHP 8.4 compatibility of nullable type declaration for
dd_cache
- PHP 8.4 compatibility of nullable type declaration for
security_v5_to_v6
- PHP 8.4 compatibility of nullable type declaration for
common
- PHP 8.4 compatibility of nullable type declaration for
dd_date
- PHP 8.4 compatibility of nullable type declaration for
dd_object
- PHP 8.4 compatibility of nullable type declaration for
locator
- PHP 8.4 compatibility of nullable type declaration for
pdf
- PHP 8.4 compatibility of nullable type declaration for
component_relation_children
- PHP 8.4 compatibility of nullable type declaration for
component_radio_button
- PHP 8.4 compatibility of nullable type declaration for
component_publication
- PHP 8.4 compatibility of nullable type declaration for
component_portal
- PHP 8.4 compatibility of nullable type declaration for
component_pdf
- PHP 8.4 compatibility of nullable type declaration for
backup
- PHP 8.4 compatibility of nullable type declaration for
button
- PHP 8.4 compatibility of nullable type declaration for
common
- PHP 8.4 compatibility of nullable type declaration for
component_3d
- PHP 8.4 compatibility of nullable type declaration for
component_av
- PHP 8.4 compatibility of nullable type declaration for
component_common
- PHP 8.4 compatibility of nullable type declaration for
component_filter_records
- PHP 8.4 compatibility of nullable type declaration for
component_date
- PHP 8.4 compatibility of nullable type declaration for
component_email
- PHP 8.4 compatibility of nullable type declaration for
component_filter
- PHP 8.4 compatibility of nullable type declaration for
component_info
- PHP 8.4 compatibility of nullable type declaration for
component_json
- PHP 8.4 compatibility of nullable type declaration for
component_image
- PHP 8.4 compatibility of nullable type declaration for
component_geolocation
- PHP 8.4 compatibility of nullable type declaration for
component_input_text
- PHP 8.4 compatibility of nullable type declaration for
component_inverse
- PHP 8.4 compatibility of nullable type declaration for
component_iri
- PHP 8.4 compatibility of nullable type declaration for
component_media_common
- PHP 8.4 compatibility of nullable type declaration for
component_password
- PHP 8.4 compatibility of nullable type declaration for
component_relation_related
- PHP 8.4 compatibility of nullable type declaration for
component_number
- PHP 8.4 compatibility of nullable type declaration for
component_publication
- PHP 8.4 compatibility of nullable type declaration for
component_relation_parent
- PHP 8.4 compatibility of nullable type declaration for
component_relation_common
- PHP 8.4 compatibility of nullable type declaration for
component_ip
- PHP 8.4 compatibility of nullable type declaration for
section
- Translate scope note of
get_valor()
ofcomponent_text_area
- Remove
c-cpp
language from thecodeql
ofgithub
- Improve
component_3d
view `line' - Change unit_test CSS files load order to allow override mocha styles
- Delete duplicated property
model
fromtool_export::get_export_grid
- Add windows specific CSS styles. Add page init
set_custom_css()
to detect OS - Add paginator container CSS rules to preserve the minimum height across navigation
- Update composer PHP test
phpunit
from 11.3.2 to 11.4.0 - Improve errors notification in
component_pdf->get_text_from_pdf
andtool_pdf_extractor
- Add qr.svg image to default icons
- Add
import_files.svg
image to default icons - Add unit_test destroy instance asserts for check
events_tokens
andall_instances
list intest_others_lifecycle
- Add
count_result
check tosearch.count
to prevent iterate non valid pg resources. (Prevent matrix_ontology table issues in early Dédalo versions) - Add update data from 6.2.7 to 6.2.8 (creates the new matrix Ontology tables, already set in Ontology tables definitions)
- Add section
creating_section
unlock delay for 1500 ms to prevent accidental creation of new section records - Add debug section event subscription control
- Add tool common
render_footer
unified function and CSS - Add common tool footer to
update_cache
tool - Add common tool footer to
tool_qr
tool - Change the ontology menu path to use isolated v5 ontology editor
- Add the update information and script to move descriptors from his table to the
jer_dd
term column - Add
copy_descriptors_to_jer_dd
function to be used into the update 6.2.9 process - Update
es1
andes2
hierarchies (Spain toponymy)
Performance
- Move
instances.get_instance
found_instance
from inside promise to outside for improve performance
Refactor
- [breaking] Improve the create and duplicate section workflows by simplifying handlers. Add safe
page_globals.creating_section
control to prevent accidental multi-save - [breaking] Improve the inspector's response to user events. Simplifies code and idle callbacks
- [breaking] Unify event handlers format. Use simple handlers whenever possible.
- [breaking] Refactor common destroy method for easy read and management
- [breaking] Refactor
event_manager
subscribe()
andunsubscribe()
methods checking for duplicates - [breaking] Refactor instances calls unifying import mode (avoid use * when import ...
v6.2.8
[6.2.8] - 2024-09-26
🥳 🎉
Important
Last version compatible with v5 ontology. Next version will remove official support for tld: muvaet
, divalcdi
, herrimemoria
, mocuenca
, aup
, bene
, valleoxos
, cedis
and mupreva
. They should be maintained by his own institutions.
Last version with layout design support of v5 ontology properties. Next version will include only the v6 model.
This version introduce a new import media options to upload bulk modified images into the same section than previous original uploads.
This version improve the export data and compatibility with Excel and introduce ODS format.
Now, the delete buttons of sections, portals and thesaurus can delete his own publication data.
Added new feature for the relations in inspector, now is possible open all related records of a section.
Added drag and drop between portals as v5 did.
Bug Fixes
- [breaking] Fix
get_value_with_fallback_from_dato_full
bug where always return DEDALO_DATA_LANG instead the passed lang in some context like diffusion (e.g.component_select
case) - Fix CSS issue where
component_text_area
vertical-align of images are displayed incorrectly - Fix class
search_related
issue where limit 0 was not interpreted correctly - Fix relation list issue where the calculated values were not being cleared from the cache between section instances
- Fix syntax error in
ts_object::get_ar_elements
generating wrong type comparing result (double children icon in thesaurus) - Fix time machine notes issues where new record is created every time that user opens the note and do not fill the content (blank value). Fix service_time_machine not refresh issues too
- Fix empty value in
section->update_modified_section_data
logged_user_id on Quit. It is necessary the session value of user_id before. - Fix
ui.load_item_with_spinner
error where DocumentFragment nodes are not accepted. Now, HTMLElement and DocumentFragment are accepted as valid DOM nodes - Fix error where
dd_grid_cell_object.resolve_value
fails when get fallback_value if is not an array as expected - Fix error where widget
media_icons
try to save component value (av duration) in tm mode - Fix issue where non defined 'from_component_tipo' causes an error on
section->get_tm_subdatum
- Fix
backup::export_structure
response message missing 'dedalo_str_tables_data' message - Fix wrong include file path from
str_manager/index.php
file (manages the Ontology files request in master) - Fix Ontology
open_docu
window issues where code is not compatible with v6 - Fix invalid var
DEDALO_CORE_URL
in Ontology context - Fix relation_list deep diffusion resolution issues in v6 (see
mdcat4338
properties case) - Error to move component to the last position of the active elements list in tool_export.
- Add missing component_date
render_input_element_time_range
function in search view - Add service_time_machine wrapper_component events deactivation by CSS to prevent user interactions
- Add double quotes to the image file path. The images could have spaces and is necessary enclose the path with double quotes.
Features
- Add auto-update inspector component data view. Now, on components data change, the inspector data will be updated via event manager subscription
- Add relation list option (in Inspector) to allow open the selected section related records in a new window
- Add
sheetjs
library to manage export grid as XSLX and other formats - Add the ability to drag and drop between different components. Now the property
draggable_to
allows to move a locator from a component to other in the same section. - Improves workflow with modals, adding re-selection of the previously selected component
- Add
component_text_area
save command on user pressNumpadEnter
(enter key from numeric keyboard) for convenience - Add
get_dato_parsed()
method tocompoment_info
. Now the widgets can parse his own data to conform more computable data for export it. - Add
get_grid_value()
forcomponent_info
. Now the component_info can export the widget data using theoutput
definition of the IPO. - Add
get_grid_flat_value()
method to component_info. Now the component can export widget data. widget will export his data in breakdown formatstandard
andbreakdown
will export asbreakdown
. - Add
get_dato_parsed()
method forsum_dates
ofmdcat812
. Now the widget export coherent and computable data. - Add
match
mode into tool_import_files to match the filename with the previous uploaded filename. Used by add modified quality to previous uploaded images matching the name into image section. - Add matching image names without id, free name, to set the quality modified of previous uploaded images.
- Add
get_date_time_original()
method toffmpeg
. get the date fromffprobe
standard format. - Add to create a thumbnail image of the uploaded video file. Now the
tool_import_files
can render the image to show it previously to process it.
Miscellaneous Tasks
- [breaking] Remove output
2>&1
inexec::request_cli
. Prevents duplicity (errors are already sent to CLI process file). - [breaking] Force disabled temporally the filter_locators calculation (beta) !
- Add test_unit methods
test_get_identifier
,test_set_dato_resolved
tocomponent_common_Test
class - Add
common.get_section_elements_context
auto createself.components_list
control - Add version to tool CSS load file to force refresh cache on new version
- Normalize
tool_update_cache
CSS colors - Remove disabled temporally the filter_locators calculation (beta) !
- Change header_count position issue and normalize relation list CSS colors
- Add
lang::resolve_multiple
method to manage multiple langs simultaneously - Add spinner to section load relation list
- Delete unused method
dd_ts_api::delete
- Add
block_label
style to layout dd-modal CSS - Add
component_common_Test
test:test_get_grid_flat_value
,test_empty_data
- Unify
dd_api
JSON exit (usingexit( 0 )
insteaddie()
) - Unify
ts_object
delete button label fromdelete
todelete_resource_and_links
(same as portals) - Add list modal editor to
component_json
in list view - Improve str manager errors managing (used to manage Ontology updates from master server)
- Add new hierarchy
category
to be used as typology->category. Used into numismatic typenumisdata3
. - Add
component_json
to components life cycle test skip_models fro test '.content_data' in list mode - Add
get_dato
to widget_common. - Add
get_dato_parsed
to widget common. Now the widget could parse his data to conform a export data more consistent, used by component_info to create the grid_value. - Add
component_json->regenerate_component()
method to fix some non JSON values (like old user activity datadd1521
) - Add
session_data
as table to skip indb_data_check::check_sequences
- Add inspector paginator
section_id
info for easy navigation - Change the error situation for ImageMagick. Now the error take account if the word
Error
is in the sentence. - Return null when is not present any stream in the uploaded video file.
- Add label of the component that open the
tool_import_files
. - Change the text to use the caller component when the
tool_import_files()
is open by component instead a section - Added to get the creation date of uploaded PDF with
pdfinfo
. - Added to get the creation time of uploaded av file.
- Add style to match label of
tool_import_files
- Change the name of the match methods to be used by any other media than image. Now the match could be used by other media as audiovisual or pdf
- Change core functions
get_backtrace_sequence
name - Add
pre_built_search
to section.build - Add CSS padding-right: 1.33rem to search preset labels for easy read
- Add
backtrace_sequence
to debug log ofget_referenced_locators
for easy detect calls - Add core function
get_bactrace_sequence
for convenience
Performance
- Improve
search->generate_children_recursive_search
filter. Change from OR sentence to IN to filter an array of section_id - Defer log activity (
register_shutdown_function
) to improve API response
Refactor
- Change
component_common->get_identifier
code to improve clarity - Rewrite
component_radio_button.get_content_value
functions for easy read - Wrap diffusion class include into try catch to prevent crashes when a file is not available (Socrata case for example)
- Change
tool_update_cache
to make it easier to locate elements (preserve section groups and layout order) - Change
ts_object->get_child_data
count_data_group_by code (indexations) for clarity. Moved to new functionget_count_data_group_by
- Change
event_manager.publish
code for clarity - Change
utils.object_to_url_vars
code for better readability - Unify the output of the widget get_archive_states of
dmm1076
to define a export computable way. Now the output define every data asid
. - Improve
json_decode
error detection incomponent:json::set_dato
- Refactor
collect_all_str_files
code to make it clearer and more reusable - Atomized
set_components_data()
method to be used in other import ways. Now, is possible to set thecomponent_options
added by users intool_import_files
in different import mode. - Change the match option into the
tool_import_files
. Now the button deactivate all other file options. - Change the
set_media_file()
method to be used by any uploaded media file. Now the process is unified and is possible to use by image, PDF, video files. - Improve after-upload file management for components in tool_upload (added
upload_handler
callback call) - Improve component_portal
change_order_modal
handler to auto focus and select the input value to change element order
Change
- [breaking] Change
dd_core_api::delete
permissions calculation from `...
v6.2.7
[6.2.7] - 2024-09-05
🥳 🎉
This update unifies the flow of media process between components. Now the media use the regenerate() method when the user upload media files, instead use a specific behavior.
Adds a control to different configurations and versions of ImageMagick to manage alpha and meta channels when alternative versions that support transparency are active. Read the ../config/sample_config.php
for more details.
Introduces the new component_indexation
which allows paging data and fetching its data from a calculation instead saving related data. It allows to show related tch and tchi heritage in the thesaurus tree. And now the thesaurus can display the indexations of the children in its parent, grouping all related heritage together in the parent term.
Bug Fixes
- [breaking] Fix diffusion sub-level bug where thesaurus parents publication blocks the deep level resolutions (case images in MHT game for example).
- Fix unit test error where component_input_text check 'get_permissions' instead 'get_component_permissions'
- Fix unit test error where
gettype
is check instead isset for test_debug_log - Fix tool_update_cache components_selection name coherence errors across client and server
- Fix
diffusion_sql
error where records from global_table_maps are not deleted on delete record (search_global2
case) - Fix bug where
Ffmpeg::build_av_alternate_command
fails after first call with same settings
Documentation
- Add Image Magick configuration documentation.
- Add Request Query Object documentation, unfinished.
Features
- Add check_normalized_files method for component_images, used to check if the uploaded files has the normalized and alternative image versions
- Add regeneration options to tool cache. Normalized components
get_regenerate_options
options - Add delete_normalized_files method. Used to move all images into delete directory and keep the uploaded files.
- Add delete_tipos() method into transform data. Used to delete some components data in updates.
Miscellaneous Tasks
- Add
magick_config
constant to sample config. It defines some specific behavior control of the ImageMagick library based in the difference of the library behavior in some OS. - Update chai js lib from 4.3.3 to 4.3.8. Moved from
/lib/mocha
to/lib/chai
- Add
DEDALO_SEARCH_PRESET_SECTION_TIPO
(dd623) to dd_tipos for convenience - Add bulk process to update cache.
- Add option to set the layers defined by the components to choose witch layer need to be processed by ImageMagick. Used by
component_pdf
to create the first page image. - Update composer libs
- Remove unused Leafleft libraries
- Delete unused code of
component_3d
- Check if the default file and alternative versions files exists before regenerate the component, if doesn't exists re-create doing a build
- Add specific build for
component_pdf
. Unify with the process of component_image. - Remove unused call to
get_section_elements_context
in search.js
Refactor
- Simplify
tool_media_version.render_file_versions
code for clarity - Change
dd_dcore_api::read
activity log code for clarity. Moved logic to new methoddd_dcore_api::log_activity
- Change delete and remove_component_media_files to get the extension of the file to be deleted. Now delete process take account the file extension to delete only the file with specific extension.
- Change the way to delete image files. Now all images are moved into the delete directory and his data is preserved when only 1 file (with specific extension) is deleted.
- Change the way to process uploaded files and convert the quality of them by regenerate processes.
- Unify the regenerate way to create image archives when user upload files or update cache. Now the process always call to regenerate the images instead done specific process
- Change
component_external->load_data_from_remote
component tipo iteration names and filter - Change diffusion methods related with delete for clarity
- Unify the way to create file versions in different quality. Now all file process will use
regenerate_component()
. - Unify the way to create file versions in different quality for component_av. Now all file process will use
regenerate_component()
. - Unify the way to delete normalized files in
component_common
. Now every component define his own normalized qualities to be delete before regenerate it. - Unify the way to create file versions in different quality for
component_svg
. Now all file process will useregenerate_component()
. - Unify the way to create file versions in different quality for
component_pdf
. Now all file process will useregenerate_component()
. - Unify the way to get text from pdf. Now the upload process and the tool use the same way to get the pdf text.
- Add some debug controls to
process_ocr
method incomponent_pdf
- Unify the way to regenerate
component_pdf
with all media components.
Change
- Add control of ImageMagick library for transparent images.
- Unify
reload_js_files
action in update_code (area_maintenance) - Change component_publication appearance in mobile. Restored box-shadow
- Remove
ckcachebust
from unit_test/index.html (unnecessary for development) - Add default value '0750' to core function
create_directory
- Change default tool_diffusion
skip_publication_state_check
default value form 0 to 1 - Delete all normalized files previously to regenerate process. Now is force to delete all generated - normalized images to recreate all versions and qualities.
- Add component_av posterframe outline to improve visualization when background is white
- Set thesaurus search typology_selector width as 10rem to prevent width changes when user changes the selection
- Unify the way to get regenerate options of the components. Used to show it into the tools as update_cache.
- Change default state for tool_cache regenerate options from 'opened' to 'closed'
- Set
async
property to true to create media version, used by component_av to generate it in background - Add control to show the components of section info into the selection list of components to search of export.
- Disallow the process of uploaded documents different of PDF files. this kind of documents can not be processed by OCR or get his text.
- Check if the file could be processed as PDF or is other kind of text file «doc», «pages».
- Add get_section_elements_context parameter
caller_tipo
to allow skip_permissions in area thesaurus context - Remove old thesaurus terms that are not used;
section_list_thesaurus
andsearch
. Now when a new hierarchy is build do not copy those nodes. - Remove
tchi9
from sql_thesaurus clean in the v6.2.7 update
v6.2.6
[6.2.6] - 2024-08-28
🥳 🎉
Major changes
This release adds a new service to efficiently control browser cache and JS code versions.
The image component can now handle alpha channels of psd or tiff files in the same way.
This version introduces a major change to the component_relation_index, it can now handle paged data, so it can be used as a portal configured as external without saving data.
Bug Fixes
- [breaking] Fix ImageMagick class conversion policy issues. Conversion of some tiff files fails (ifs case) when using Photoshop transparency
- [breaking] Fix 'is_iterable' restriction error that prevents tool configurations from loading
- [breaking] Fix bug where component_relation_parent escaped slashes in get_diffusion_value (e.g. 'Central Hessen/Rhineland'). Added flag JSON_UNESCAPED_SLASHES to json_encode
- Fix service_time_machine issue where grid layout is wrong for view_mini rendered (inspector version). New processes column has been hidden
- Fix CSS issues in service_time_machine where labels of 'note' and 'person' are not reduced in height
- Fix service_time_machine new bulk_process_id issue where is added incorrectly in views 'history' and 'mini'. Now the column is ignored in render
- Fix component_image publication error when source is external
- Fix component_image CSS error where external images do not implement image_container node
- Fix section_record view text issue where non defined column callback crash the execution
- Fix tool_indexation tag note bug where tag_note functions are not load by the main tool_indexation.js file
- Fix missing sqo filter properties as children_recursive when is removed the order of the search
- Fix menu local DB issue where user changes logged user id (from user to superadmin for example). Now, the menu data stored in local DB is filtered by user id to prevent recycle incorrect data
- Fix tool_user_admin bug where sometime the logged user is not found because the SQO offset value is not as expected (zero). Force SQO offset in each call to prevent it
- Fix bug where ui.active component creates an double event in some context like when component_text_area is focused generating double save action and double time machine records
- Fix tool_indexation CSS issue where lang selector and buttons are no displayed correctly on component activation (z-index)
- Fix component_pdf::process_uploaded_file error where extension comparison was not taken into account uppercase PDF cases
- Fix issue where login press enter key fail (button_enter listener was changed from click to mousedown)
- Fix missing model error in ts_object->get_child_data where non existent tipos (like 'tchi59') cause exception creating the component
- Set the reference data in publication process with multiple tags.
- Set correct section_top_tipo check in parse_data for component_relation_index
- Security check of the panel of check SQO in maintenance area. Only global_admin can do this checks, because the SQO is open to search into the full matrix.
Documentation
- Change the locator documentation
Features
- [breaking] Add to show related data in the indexation_grid defined by specific component_relation_index that point to specific sections (as tch1, tch100, etc) and add to show all related_data of all his children.
- [breaking] Change the search_related to use more than 1 locator as filter_by_locators. Now is possible search more than 1 locator to get his section callers. Is used into indexation_grid to get all children indexations.
- [breaking] Add code version compatibility check to area_maintenance::update_ontology
- Add to resolve get_ddo_map property for rqo.search
- Add to resolve get_ddo_map property for rqo.choose
- Add references component to toll transcription. Now is possible use the references in the same way than indexation
- Add references component to tool indexation. Now is possible use the references in the same way than indexation component.
- Add SQO search into indexation_grid to get the inverse_relations with more parameters that only the thesaurus term, as his children. Now the filter_by_locators is taken into account into the get_ar_locators
- Add get_children_recursive method to the ts_object using the read API call in the same way that other get_data calls. The search set the children_recursive to true and return only the basic locator with section_id and section_tipo.
- Add button environment to the menu debug_info_bar to easy check current environment vars for developers
- Add service worker use selection only for development server (config DEVELOPMENT_SERVER = true). This allow to control browser cache because the service ignores 'disable cache' controls
- Add expand feature to tool_image_rotation. Now the tool can expand the canvas to adjust to the rotate image.
Miscellaneous Tasks
- Update version info
- Change the section tch2 to tch10. Update the data of the installation to tch10
- Change the reference button in the ck-editor toolbar of html_text to be more close to link button.
- Remove the text view of the component_portal view_indexation
- Improve tools_register unit test
- Use the default subdatum when the component has a request_config defined in properties. Now the component_relation_index can show standard ddo defined in the request_config instead only the ddo defined in relation_list of the related sections. Now the component can point to specific sections to get only the relations of those pointed sections.
- Update sublime snippets
- Remove unused var 'main_window' from tool_common
- Add dedalo_version property to API get_dedalo_files. Used in cache worker to set the cache version
- Remove unused inspector indexation_list container
- Change login quit action for developers. Now, if
page_globals.is:developer
is true, quit action do not change the URL (default is go to Dédalo base URL to force access to default user section) - Add menu debug_info_bar service_worker_active information. If the service worker is active and registered, a 'sw' label is displayed in the menu debug bar
- Add missing await to ´delete_dataframe´ in component_portal function
fn_click_unlink_record
- Add split_q self capacities to component_input_text, component_text_area, component_iri, component_json. Now they handle the split task directly
- Add empty q values control to component_common::handle_query_splitting to prevent to include empty values (like double spaces issues)
- Add new icon 'gears' to CSS styles
- Add new icon 'gears.svg' used by service worker
Performance
- Optimize service worker fetch by excluding non-JavaScript file handling
- Exclude /lib/* files from service worker fetch
- Add metrics to
tool_common::get_config
- Add cache to
tools_register::get_all_config_tool
for performance - Add cache to
tools_register::get_all_default_config
for performance - Add tool_config calculation to cached user_tools from
tool_common::get_user_tools
. Will be used later to get resolved user tools config from cache
Refactor
- [breaking] Refactor
instances.get_instance
to easy file discovery by packers (Webpack, Rollup, ..) - [breaking] Refactor json_langs calculation from service_autocomplete and component_geolocation, unified in function 'get_json_langs'
- Refactor
component_info.get_widgets
to allow file discovery by packers (Webpack, Rollup, ..) - Move the get_ddo_map to new function to be called by others, removed from rqo->show process.
- Unify the way to store reference tags. Now the all text_area, including html_text will store the references as Dédalo tag instead a html node.
- Refactor component portal view_indexation_edit using normalized 'open_window' function
- Refactor area_maintenance::rebuild_db_indexes to easy change SQL sentences (moved to a separate file 'db_indexes.php')
- Rebuild publication data for text_area is necessary sustain the compatibility with previous data of references.
- Unified the way that get_dato(), get_dato_paginated(), count_data(), count_data_group_by() get inverse locators as data. Now the filter_locator and the target_section are to be created in a common methods.
- Change the show_indexation in ts_object to show the indexation_grid in the same node container. Now is more solid the user interface, and the SQO to get the new data of the dd_grid use the filter_by_locators defined by the caller, opening the way to add more that 1 locator.
- Refactor login and service worker code to improve readability
- Simplifies section rqo_count.source removing unused properties
- Add requestAnimationFrame to menu wrapper style changes on window resize for smooth movement
- Improve
ui.load_item_with_spinner
error management and code readability - Improve login.quit method errors control and delete dedalo_files caches managing
- Unify check directory (default_quality_path) code at component_pdf::process_uploaded_file
- Create a new common function as get_image_source() to calculate the uploaded image file (original, modified, high quality than current quality)
- Change the control of transparency channels (alpha and meta channels) to be more compatible with tiff and psd formats. Now the meta channel is used always to create the version of the images (flat and transparency versions)
- Change the way to create alternative versions of images to maintain the transparency channels of the original uploaded file. (avif and png cases)
Change
- [breaking] Change initial files load (on login) worker_cache 'cache' property value from 'no-cache' to 'reload'
- Change login quit behavior from "window.location.reload" to "window.location.href = DEDALO_ROOT_WEB" (redirect to Dédalo base URL to force access to default user section)
- Add
worker_cache.js
to page index imports to force update file from cache before login - Add other component filters to the duplicated search, prevent g...
v6.2.5
[6.2.5] - 2024-08-08
🥳 🎉
Major changes
tags
This version change the references tags in component_text_area. Now the references will stored in a component_portal defined as indexation with relation_type = dd605
, the old tag references will move in the update process.
This version change the draw tags in component_text_area. Now the draw will stored in a component_portal defined as indexation with relation_type = dd305
, the old tag references will move in the update process.
Bulk process
Review the profiles to get the new components: rsc1368 in audiovisual section rsc167 and rsc1369 in image section rsc170
This version introduce the bulk process section and reference to the import, propagate, revert changes and publication processes. Review the profiles to set permissions to the global administrators ans other users.
Bulk process group the changes done in one process and time_machine can revert the bulk process in the time machine tool.
Bulk processes generate a section and create a default title automatically, and description to identify the process done, in import csv data is possible change the title directly in the tool import.
Read only
Refactor the access to media files with read only permissions. Now the user with read only permissions can open the media files into the viewer.
Bug Fixes
- [breaking] Fix create_posterframe bug where audio files generates a infinite loop trying to get the aspect ratio
- [breaking] Fix component_filter 'set_dato_default' issues where new permission button was not taken into account
- Fix non extension issue when get backup files (get_backup_files, get_mysql_backup_files)
- Fix login SAML error where code was passed a array instead string, preventing the login
- Fix minor ts_object drag and insert issues
- Fix component_av error where media_streams are not calculated correctly disallowing media navigation by frame
- Fix get_json_langs error in component_geolocation where value is not passed between navigation loads
- Fix ts_object bug where root nodes were removed after close edit window (refresh_element)
- Fix Safari issue where Ontology path is not recognized opening a new window
- Fix portal view line CSS issue where margin is not as expected (zero)
- Fix get_process_status issues with protocol HTTP/1.1. Added fill_buffer property inside the output object instead the previous blank spaces at end
- Fix check_active_tld issue where 'section_id' was return as non active, but for SQO uses is valid (filter paths). See rsc80 properties
- Fix CSS issues on dd_grid view indexation with av transcription and buttons width
- Fix CSS dd_grid .column.indexation error
- Fix set_default_dato error where section tipo was not taken into account
- Fix section label issue where search presets section was ignored on set menu section label
- Fix error where empty values of filter::get_filter_user_records_by_id returns null instead an expected empty array
- Fix Safari unsupported requestIdleCallback
- Fix diffusion bug where multiple time_machine records are created on publish
- Fix unnecessary search cycle in tool diffusion export list
- Fix non defined
common::$pdata->section_counter
issue in component_update - Fix component_text_area empty values issue on 'update_dato_version' method
- Fix no image management issue in tool_image_rotation
- Set the filter_by_locators of the rqo.sqo with the new locator when user click to add or duplicate record in a pop-up Windows.
- Set correct permissions for section in list mode. Now is checked the delete button and add button permissions correctly.
- Set the correct attribute for tag_id to get last tag id
- Set the key_dir variable to simpleUpload service_ckeditor to set the directory to save the uploaded images.
- To show the correct size of images in html_text before load the ckeditor, and set the text_area toolbar up the images in the z-index.
- Change the draw tag svg code to render correctly in Firefox
- Fallback to array when the filter_user_records_by_id return a null value (it happens when the user has not set any filter by id; dd478 in user section; dd128)
- Double save of time_machine when is saved a bulk process. Removed the process_id check as necessary to create new record
Documentation
- Add some comments and definitions in locator class
- Add some comments into portal filter_data_by_tag_id specifying that calls could be defined into the ontology
- Add comment as how default call to API are interpreted to create a upload file used by service ckeditor.
Features
- Add tag_type definition and function into locator class
- Get the reference tag in the same way that index tag in service ckeditor
- Add to select the reference test into text_area when the user click into the reference tag
- Add find_instances method to get a specific instance with tipo,section_tipo,section_id,mode and lang in the same way than PHP.
- Add get_tags_info function into component_text_area API to get the resolve tags (locators as terms).
- Add a get_tags_info method in the client component_text_area to get the resolve tags in a common way.
- Add
get_selected_tag()
method to get the tag data of the tag selected by the user - Implement a common build_tag in component_text_area to use the layer selection in a common way for draw, geo and page tags.
- Implement a draw tag indexation with related component_portal, set and get the locator from the related component using the view_indexation of the portal. Now the draw tags could be reference the layer of the image and can be pointed by a standard locator.
- Add to include a review and fix broken indexations for draw tags. Now the review will include a delete draw tags when is not present in text area.
- To include the layer selector to set the correct image layer into the draw tags. Used for missing draw tags or change the current tag.
- Add tool_revert. Used to revert bulk processes.
- Add to get the current date and time as Unix timestamp.
- Implement process_id property for the components, to be saved in time machine, when the component change his data inside of bulk process (propagate or import processes).
- Implement to view the process_id data into the time machine list.
- Implement the revert process of time machine for bulk processes identified by process_id. Now the process_id identify every bulk process and this implementation revert the change.
- Save the process_id of the import CSV data process into time machine, to use to revert the import changes.
- Add render_callback into section_record to control specific column render functionality. Now is possible control the render process of the column instance, ex: to add specific events.
- Implement get_value action into core_api integrated within the read action. The API will return the flat text version of the data.
- Implement an input text to identify the bulk process into import Dédalo CSV.
- Add bulk process id generation for tool_diffusion. Now the process will save a common bulk process id. Used to group all sections was published in the publication process.
- Add some indexes to update version to 6.2.5 to improve the searches.
Miscellaneous Tasks
- Remove the
render_reference
when the user click inside a reference tag in text_area, now the user need to click into the reference button to open the reference modal. - Add update 6.2.5 for the component_text_area, it move the references to component_autocomplete_hi
- Add 6.2.5 update to text_area to move the html and dd references into component_portal
- Remove references for text_areas by default. Now the references need a component_portal associate to get the reference locators
- Add reference tag style for view_indexation of component_portal
- Add Tigrinya language translation to ckeditor
- Add blue draw tags (missing tags)
- Add update matrix_time_machine to store process_id
- Change the process_id variable name to local_db_id to avoid conflicts with time_machine bulk_process_id
- Added constants for process section into dd_tipos.
- Update tool import csv register with the new labels.
- Update tool propagate component data register with new labels
- Update tool time machine register with new labels
- Change the process_id variable name to bulk_process_id to identify it more clear.
- Update tool register of time machine, propagate data and import Dédalo CSV to match with Dédalo version 6.2.5
- Add test_create_directory test to test unit
- Add data_format to dd_grid
render_json_column
(view table). If data_format is passed and is 'dedalo_raw', encode the HTML characters to prevent the browser from rendering it - Improve area_maintenance long_process widget adding update_rate control
- Unify component_inverse CSS appearance like component_section_id
- Add table info to API read raw response
- Improve search presets appearance
- Add search_tm unit test
- Change updates
ALTER TABLE matrix_time_machine
sentence to prevent errors when columnbulk_process_id
is already defined - Add back-trace to propagate component dato to relations table.
- Change the label «listado» to list name
- Revert delete component_css to control the viewer buttons with permissions
- Add control for external sources to handler_open_viewer in media_common. Now if the media component has a external source it will not open the tool_upload.
- Update turf library to v7
- Add await for load turf and iro libraries. Prevent error to render data without the libraries.
- Add new security method
get_section_new_permissions
to easy get section button new permissions (used by component_filter y default dato) - Add class security PHP test unit
- Add missing bulk_process_label to tool_import_dedalo_csv get_import_files_options test
- Add People special indexes (name [rsc85], surname [rsc86]) to area_maintenance::rebuild_db_indexes. Add matrix_time_machine_bulk_process_id...
v6.2.4
[6.2.4] - 2024-07-12
Bug Fixes
- [breaking] Add missing caller dataframe to tool_import_dedalo_csv
- [breaking] Fix component_text_area error where method 'get_component_indexations_term_id' do not create the indexation terms correctly to use in v6
- [breaking] Fix section pagination error where search using children option (in MIB Catalog for example) fails on go from list to edit mode because SQO is not updated on navigate section.
- Fix tool_import_files error when no options selector are defined causing an invalid DOM selection element
- Fix dd_grid view indexation issues
- Fix environment 'get_label' value non JSON decoded. Now, is decoded in server side
- Add default values for 'window.get_label' and 'window.SHOW_DEBUG' to prevent update cache issues. They will be overwritten on set the API environment values
- Fix component_text_area indexation value error where tools were not calculated
- Add missing DEVELOPMENT_SERVER var on start page (used by login)
- Fix missing fallback value for filter_section (dd_core_api::get_indexation_grid)
- Fix invalid type string for environment lang_labels
- Fix service_autocomplete bug where Zenon results was not display because data don't have currently mandatory mode
- Fix ts_object.refresh_element error where root elements not take care about if element children is open or not on refresh
- Fix class label set_static_label_vars issue where default lang labels were not calculated again on update Ontology
- Fix ts_object 'element to hilite' issues with root terms were children are updated even if not shown
- Fix section pagination error where 'session_save' with false value is changing the pagination of local DB data
- Fix '../common/js/lang.json' load file redundancy
- Fix component_iri view mini margin issues
- Fix component_portal view line first child margin top issue (now is aligned with vertical position of other components like input text)
- Fix component_iri bug where values with lang : 'lg-nolan' were not published. Now, a fallback is made when value is empty
- Fix pagination issue where section new and duplicate events do not save pagination status and loosing the offset on window refresh
- Set a fallback to object when the process property of calculation widget has not options property
- Remove the automatic sort of component_check_box, the list is sorted in get_list_of_values function, and controlled by ontology
- Fix search bug where q_operator was not reset correctly
- Fix invalid offset issue in dd_core_api:.build_json_rows
- Fix update_dato_version issue in component_pdf where old 'scalar' values are not taken into account to update dato
- Fix component_number->set_format_form_type method error where round numeric value fails if value is not integer|double
- Fix tools_register issues where invalid model stop execution
- Fix transform_data::changes_in_tipos issue where null section_id crash the process. Now, types distinct from string|integer will be pontificated and ignored
- Fix non defined property 'skip_virtuals' issue in transform_data
- Fix rebuild_db_indexes error where json_files was not passed in the expected format
- Remove section_group_div from get_section_elements_context (section list items used for search selection)
- Fix non defined method scenario manage in transform_data::changes_in_tipos. Non exiting will be ignored and error log will be generated
- Fix bug where new window sections with session_save=false don't navigate correctly after go to list and search
- Fix issue where component_text_area method get_diffusion_value crash when try to html_entity_decode in non string values
- Fix diffusion_sql bug where map_target_section_tipo fails if data is not as expected (array)
- Improve diffusion save_global_table_data column values check to prevent errors if format is not as expected (array of strings)
- Fix component_filter display issue where long lists were not being cut off, generating very long lines vertically
- Fix component_iri issue where old string values are not managed correctly
- Fix non posterframe scenarios in component av view edit default
- Fix non available text editor scenarios in component_text_area. Now, editor service is checked before apply focus or scroll
Documentation
- Add total definition in SQO documentation
- Add group_by property to SQO documentation
- Fix some tabs and typos in SQO documentation
- Add nomenclature definitions for flat denominations in SQL documentation
- Change the thesaurus dependence documentation with the new hierarchies
- Update the change_log of documentation
- Change properties order, fix typos and sync with the sample.config
- Add sessions definitions in config documentation
- Move cache manager definition documentation to sync with sample.config
- Add explanation of check publication state documentation in diffusion
- Fix error in the markdown
- Fix typo in events documentation
Features
- Add set_total method to sqo(search query object) definition
- Add set_group_by method to sqo(search query object) definition.
- Implement group_by to count in search and search_related classes. Now is possible specify the concept to be counted as section_tipo
- Add function to get_calculation_data for component_info, is used to get his value in widgets of calculations in the same way than dates
- Add range_to_days function to get the day between two dates in mdcat calculation widget
- Add days_correction_manually function into calculation mdcat widget
- Add data_fn property to ddo_object, it used to define the function to get data of the component
- Add use_from_component_tipo property in get_fixed_filter, to remove the from_component_tipo of locator data to match with other components, select data used into portal
- Create a ddo_map by default when is not defined in the ontology, ddo_map created assume that is the component to get data and is in the section_tipo and section_id of the caller.
- Add final_total function to calculate the total amount in ex-prisoners
- Add subtract function to subtract values from two components
- Add get_calculation_data to component_relation_common, to obtain specific component values inside portals
- Add show_section_id to show_interface properties, by default is true, when false remove the section_id label (not the functionality of edit button)
- Add get_plain_text method to remove the tags and HTML of the text area. Used to search into a clean data by diffusion.
Miscellaneous Tasks
- [breaking] Incorporates the environment data into the API start flow. Eliminates the need for a specific file (environment.js.php)
- Improve view_indexation buttons behavior and styles
- Change minor CSS issues in tool_diffusion.less
- Add portal button edit title info for debug (section_tipo, section_id)
- Fix PHP unit test issues and add some new minor test
- Unified JS section session_key build
- Add a JSON to replace «objet» hierarchy to object hierarchy
- Remove unused code in the mdcat widgets
- Improve search_Test test unit
- Improve tool_import_dedalo_csv responsive CSS
- Add inside_dataframe ui function
- Improve thesaurus grid indexation CSS for mobile
- Improve component_portal|component_dataframe view_tree CSS
- Add transform definitions to move mdcat to dmm in v6
- Change the display of the get_archive_state of dmm1076 widget
- Add onelogin/php-saml composer lib
- Update composer libraries
- Add certs to gitignore list
- Update login SAML files and config to allow to use in v6
- Add specific get_diffusion_value method to component_dataframe
- Add login->get_user_code method to easy get the current user code
- Add missing portal legacy methods 'get_political_toponymy' and 'get_legacy_political_map' used to publication of 'cost humà'
- Unify create and delete posterframe actions from tool_posterframe. Now, component 3D is allowed for the tool. (It is necessary to update tool_posterframe to version >= 2.0.3)
Refactor
- [breaking] Refactor user navigation. Now, local storage for pagination limit and offset is used instead old SQO edit/list approach to preserve client and server coherence between modes and search configurations
- Get the context and sub-context of all calling sections as now the data is always paginated and is not possible get from current data.
- Refactor pagination from section. Add local DB table 'pagination'
- Change the sample.config with more sense order
- Improve component_iri view default edit interface CSS
- Use array as main data values of calculations in mdcat widget
- Assume array as data from components to summarize
- Get label defined in ontology for calculations and format with a space between value and the label.
- Change the sum_dates mdcat widget to v6 format
Revert
- Revert dropzone lib because it doesn't work in http servers only in https
- Revert search update caller pagination deletion
Change
- [breaking] Change locator check way to improve errors detection. Added check_locator method and removed destruct throw
- [breaking] Add check_locator process to every conform_import_data value. This allow to detect invalid locators on import
- Add new dropzone lib with uuidv4
- Rename the dropzone files
- Set max-height to text areas to render in list mode
- Add the restoration hierarchies of thesaurus. Changed from coXX to resXX
- Set provisional label to full indexation tags
- Set the check count result of pagination to false, prevent the 0 value of total could be not set.
- Set the portal CSS selector to more generic view_mosaic
- Remove the component_relation_index setting it as box elements
- Set default mode to list for section count
- Add pagination options to dd_grid. Now dd_grid could use pagination to show data.
- Implement show_interface property to control the options of paginator
- Add control of the total set in sqo, now when is empty t...
v6.2.3
[6.2.3] - 2024-06-07
🥳 🎉
Major changes
- This version added an optional OCR process to PDF files, now is possible to install OCR library to process every uploaded PDF. See the sample_config.php and documentation to install and configure this new option. Thanks to @pricua for his initiative and implementing this feature.
- The Thesaurus of
Conservation
has been renamed toRestoration
.
Bug Fixes
- [breaking] Fix component_portal 'add_component_info' calculation error where 'ddinfo' was not found when no previous data already exists.
- [breaking] Fix component_portal search error where some request config are not resolved correctly in search mode
- [breaking] Fix common::get_ar_request_config error where components in tm mode (time machine) are using 'default' switch mode instead the expected: 'list'
- Fix user search incorrect filter locator passed as array instead expected object
- Fix get_columns_map errors where in search mode, term was not displayed
- Fix keyup event issue where transcription field (text area editor) was blur on user key press ESC
- Fix paginator missing vars page_row_begin, page_row_end in non defined label situations
- Fix CSS issues on component_av and component_portal list views
- Fix wrong URL from widget media_icons
- Fix dd_grid get_record_link_column issue where 'session_save = false' was missing in URL
- Fix component_image issue where image_container.object_node fails on fit_image. Now is checked before apply changes for safe
- Fix active_fill_color error on vector_editor where null active_fill_color crash the application
- Fix service_time_machine CSS issue where images from non component_text_area were set to 1rem in height
- Fix section CSS issues in time_machine service
- Fix bug where component properties CSS was applied into tool_time_machine list
- Fix service_time_machine CSS issue where images in the mosaic portal were displayed too large
- Fix modal iframe height issue where scrollbars are displayed incorrectly because wrong height definitions
- Fix tool_propagate_component_data issue where change_data was not properly set before save to tmp section
- Fix component_text_area issue where focus editor fails if ckeditor is not already initialized
- Fix errors in start sequence client page where unavailable PHP or PostgreSQL servers were not managed properly
- Fix page index environment js file path error
- Fix process_uploaded_file issue where empty argument 'process_options' generates an error. Fixed both arguments to default value of null for compatibility with current tools (like tool_leaflet_special_tools)
- Add missing 'mosaic' view definition to component_portal in list mode render
- Removed double instantiation of tools.
- Remove double JSON encode q value in get_hierarchy_sections_from_types
- Service dropzone info node name
- Service dropzone global_progress status set to 100% when previous uploads was done. Now the global_progress is reset to 0% when new file is added or when the queue is done.
- Set extracted text data as array previously to save for the PDF in the text processing
Documentation
- Change the Conservation thesaurus to Restoration names and tlds in documentation.
- Change the example of file in tool_import_csv
- Add OCR optional install and configuration documentation
Features
- Add children_search when the thesaurus call to flat sections as rsc197 (People under study)
- Added get_hierarchy_tld method in hierarchy, call to the hierarchy1 with the specific section_id to obtain his tld.
- Added delete_virtual_section method in hierarchy, to delete all ontology definitions from the specified tld
- Add to clone the property definition of the real_section when tool_hierarchy create new virtual section, is necessary to get the original properties to use rqo or sqo definitions
- Added force_to_create option into the tool_hierarchy, to remove previous definition and recreate the virtual section with the changes.
- Add component_image regenerate_component option to check and fix SVG file path
- Add to get the tool_config of specific tool or his default definition.
- Added an overwrite the config defined by ontology with the default or specific tool_config. Implemented for the buttons and components context.
Miscellaneous Tasks
- Improve service autocomplete autocomplete_data_li CSS line-height
- Add to change peri1 section to dc1 section to unify thesaurus tlds
- Update composer files (autoload, etc.)
- Add search thesaurus 'children_search' for People section case (rsc197 from hierarchy1)
- First change of the duplicated SQL search, is not operative!
- Add vector_editor missing stopPropagation for click events
- Add 'get_structure_context_simple' to tool_common for consistency with common calls
- Add $add_request_config===true clause to ar_target_section_ddo calculation in common::get_structure_context to prevent calculate target-sections and their request config when the function call explicit set add_request_config = false
- Add view_tool_time_machine_list class name 'mode'
- Add 'Invalid tipo' error to start sequence from API when received tipo model cannot be resolved
- Prepare API environment for future calls
Refactor
- [breaking] Refactor core function 'session_start_manager' for easy debug
- [breaking] Refactor environment.js.php for easy debug
- [breaking] Unify dd_core_api::start calls to use 'get_structure_context_simple' instead of the (more expensive) 'get_structure_context'.
- Change the SQL to use to find duplicates, now it use a HAVING clause and the window return the id in the same way that other searches.
- Unify open viewer in media components (3d, av, image, pdf, svg). Implement media common handler for this
- Service dropzone with more sense class names
- Add process_options to component_3d, component_av, component_image, component_json, component_svg and component_media_common process_uploaded_file
- Unify the process of OCR to PDF files as process options flow
Change
- Update main index.html CSS cachebust
- Remove environment display_errors = 0 (environment errors are useful in some situations)
- Remove common->get_json debug duplicated data properties
- Add new label into tool_lang_multi to use his own label definition
- Replace Spanish label with English label in render paginator
- Change default display_json value for some render stream process
- Add check if the term has children when the caller is a hierarchy of a flat section as rsc197(people under study)
- Add target_section_tipo to the get_children API call from ts_object
- Add check if the ts_object have children to change the style of the arrow
- Update the register file of tool_hierarchy to include new labels and translations
- Add pagination total to get_children_data on children_search
- Add filter of not null values to find duplicates.
- Add common var $buttons_context, used to store calculated buttons context value
- Add 'set_permissions' to get_structure_context_simple to prevent calculate context permissions in simple mode
- Move set_dato_default permissions check to the end of the function to prevent unnecessary permissions calculation on set_dato_default
- Add active_component_instance to tool_hierarchy
- Set the default limit to get thesaurus terms, set with 300
- Change default DEDALO_ROOT_WEB for CLI as '/dedalo' instead '/' (solve path problems using processes)
- Add caller_options to set the section caller and the component/button caller to the tools. implemented in tool_common
- Change the restoration hierarchies definition in hierarchies
- Add to get 2 characters in the name of the files into the tool_import_file. Now the regex could get 2 letter for the field definition.
- Add tool_common.open_tool options to receive options.tool_context as string such as 'tool_upload' and calculate tool context by itself
- Change component_3d file name from view_column_list_3d to view_default_list_3d
- Homogenise media_wrapper CSS image components
- Upgrade dropzone to v7.1.2 from the fork: https://github.com/NicolasCARPi/dropzone
- Show the log of the process only when the show debug is active
- Remove the min-with of the service autocomplete in small screens
- Change the flex-direction of the service tmp section in small screens
- Re style CSS of the tool_import_files and create new layout for small screens
- Add to set the destination field when an image is dropped in the tool import files. Now if the control field is active the image dropped will be assign to the correct field.
- Set the regex of tool import files to get the field name with 1 or 2 characters. Now the files can set the field control with 2 letters as my_file-An.jpg
- Add cache to get the tools config. Now if the tool has been resolved it will returned directly without calling the DDBB
- Add modal close action re-select the caller component for easy user
- Style the OCR options in tool_upload
- Enforce the shell command for OCR processing PDF files
- Remove PHPUnit function from component_pdf
- Change the typology 10 name from Conservation to Restoration
- Check if the data and value is set for render view mini of component_number
- Check if is set fields_separator else use the default. Changed in component_number and component_input text render edit.
v6.2.2
[6.2.2] - 2024-05-29
Bug Fixes
- [breaking] Check mode when component get or update his data in datum, change into section_record and component_common. Now the data has the mode to identify data from list, edit, tm... in same section.
- [breaking] Fix tool_diffusion::export call error where old function is changed to unified tool_diffusion::export
- [breaking] Fix missing time machine 'mode' property from subdatum items
- [breaking] Fix missing session_key restore in dd_core_api::start
- [breaking] Fix build_rqo_show/build_rqo_search issue where request config with section tipo as string was not accepted. Now a fallback is made to allow objects and strings
- Fix legacy bad formed (using image with btn.php) tags into component_text_area
- Fix service_autocomplete issues where spinner and search label are not removed on empty search results
- Check if the data is empty in time machine recovery before decode, if the data is empty, is not necessary decode.
- Fix component_component_portal 'add_component_info' build detection error where only first item was checked
- Fix component_input_text issue where empty transliterable values create unnecessary DOM nodes
- Fix component_text_area error where null values generates and error trying to replace legacy data values (btn.php)
- Fix component_av CSS issues in list mode when inside portal
- Fix wrong response result in tool_diffusion::export_list
- Fix name of dynasty in hierarchies definition
- Fix missing q operator in component_filter search mode (and view)
- Fix empty term error case in component_input_text_json
- Fix missing component_relation_common method 'map_locator_to_term_id' used to resolve diffusion values
- Fix missing diffusion properties in component_autocomplete
- Fix minor diffusion type inconsistencies on empty values
- Fix empty extension error case in core_functions -> get_file_extension (e.g. file name value do not contains extension)
- Fix issues on empty caller_dataframe scenario (search mode case)
- Fix component_portal view mosaic error in list mode
- Calculate the higher row count instead the sum of both (parent locator with the next deep level locators) in get_dd_grid_cell_object for relation components as portal
- Improve the user interface and functionality of the drag and drop in tool export
- Fix Safari change lang issue where environment was not updated on user language change
- Fix component_image quality selector click event issues
- Fix tool_diffusion missing download RDF file after publish
- Set time for negative years into dd_date
- Check if the year is a NaN and if it is, launch a error msg
- Fix core::get_http_response_code error where false headers was not managed (no network connection cases)
- Fix minor PHP data inconsistency in class diffusion_section_stats
Documentation
- Added typology thesaurus, Objects, Flora, Fauna into documentation
- Update tld status in readme
Features
- Added get_active_tlds() function into RecordObj_dd to get from jer_dd table all active/installed tlds.
- Added check_active_tld() function into RecordObj_dd to check if the tipo tld is available and installed in the ontology.
- Add property 'features' to dd_grid_cell_object class definition. Is a multipurpose container used to pass useful information, for example the section color
- Added ceramic and numismatic hierarchies as typology in hierarchies.json
- Added deportation_nazi_camps mapping from mdcat to dmm
- Add indexation tag 'full'
- Add area_maintenance Highlight lib to hilite code strings in warnings etc.
- Add area_maintenance::update_data_version param 'updates_checked' to allow admins control what update elements are processes using check-boxes
- Add an option to fill the gaps in breakdown export data.
- Add the fill the gaps feature into view csv grid
- Add stop processes functionality
- Add area_maintenance widget 'move_tld'
- Add ui component method 'add_component_warning' to manage components warning like duplicated value, etc.
- Add component_section_id 'distinct' search mode. Add optional q_operator too
Miscellaneous Tasks
- Remove sections that are not installed in ontology. Now if the section is not installed it will be removed from sqo definition, allow to define sections in properties than will not available in the specific installation.
- Remove fixed filter object when is not are not installed in ontology. Now if the component to search is not installed it will be removed from sqo definition, allow to define fixed filters in properties than will not available in the specific installation.
- Remove ddo is show if tipo is not installed in ontology. Now if the component to show is not installed it will be removed from ddo_map definition, allow to define ddo_map in properties than will not available in the specific installation.
- Remove ddo is search if tipo is not installed in ontology. Now if the component to search is not installed it will be removed from ddo_map definition, allow to define ddo_map in properties than will not available in the specific installation.
- Remove ddo is choose if tipo is not installed in ontology. Now if the component to be choose is not installed it will be removed from ddo_map definition, allow to define ddo_map in properties than will not available in the specific installation.
- Improve dd_grid view_indexation CSS code to be more easily manageable
- Implement indexation_list fallback to real section on build_indexation_grid
- Remove letter space custom in component_date when in list mode
- Add cache-bust to main page/index.html file to prevent Safari cache issues
- Remove .htaccess localhost cache and ETag controls
- Update component_date to set time property when years are negative (was not saved in previous version).
- Improve tool_diffusion report info. Added class name switcher and errors notifications
- Update Nepal js lang
- Add environment check of config file (may fail in installation situations)
- Add dd_init_test php_user info to easy debug on permissions errors
Performance
- Change page index.html load main.css and environment.js.php order. Now both are preloaded via link rel="preload" (safe CSS and global vars access)
Refactor
- [breaking] Re-factorized component_number edit views to preserve interface coherence with component_input_text
- Change the options to create dd_grid object with a config parameter instead use direct vars. Now specific tool parameters will be defined in the config.
- Add self parameter into the get_columns to include the instance variables
- Unify get_columns method using the csv_dd_grid in the tsv view
- Re-factorize area_maintenance highlight code using modules
- Set common way to get data value length in get_buttons add for component_date
- Check new enter value from input node and set in correct way into the date object data.
Revert
- Restore add image tags on the fly for component_text_area in list mode (used by view mini in 'numisdata71' and other to display svg elements)
Change
- [breaking] Logger_back-end_activity no longer saves relations from filter (table relations used to deep search)
- [breaking] Change default command composition for request CLI where 2>&1 is eliminated to prevent send errors to process log file in Linux
- [breaking] Change empty check for array_find result in dd_core_api::build_rows from 'empty' to 'is_object' to ensure that the result values are correct
- Remove Dédalo tags in component_text_area list values
- Added a resolved model for ddos in search and choose ddo_map in get_ar_request_config() to prevent errors and resolve it into next steps.
- Unify section class clean caches. Now, no direct management on sessions or caches will be done by the section class
- PROVISIONAL, added control for get master ontology in v6.render installation
- Add grid features section color information to section_grid object on build_indexation_grid
- Change indexation grid method 'get_section_id_column' to render a link button to record instead the current simple section_id text
- Added dynasty and style thesaurus into install hierarchies
- Change lock_components data decoded cast to array by a fallback to empty array
- Add focus into the input node when a wrong data was introduced by users
- Change general CSS style '.error' default appearance: added alert icon
- Change dataframe CSS button for same width and height
- Improve ui component add_component_warning method dynamic position
- Improve component_input_text duplicates check manager
- Add CSS fade-in-fast animation (0.25s) used in add_component_warning wrapper
- Update component_input_text JS method 'is_unique' to more usable 'find_equal' used to check duplicate values
- Add automatic pointer to component_wrapper in ui.component.add_component_warning
- Change the component_input_text behavior in a tool. Do not activate in this case
v6.2.1
Version [6.2.1] - 2024-05-14
Bug Fixes
- [breaking] Fix component_relation_common::get_request_config_section_type bug when the returned value is not a real array (it is an associative array)
- [breaking] Fix class backup copy_to_file and copiy_from_file SQL error where in some cases, some similar tld are mixed in update Ontology process
- [breaking] Fix components change_mode bug where not unique id_variant creates interactions between duplicated elements like people name, etc.
- [breaking] Fixes a search bug where empty filters cause errors because the resulting filter string is invalid SQL
- [breaking] Fix time_machine transform data error where some section_tipo values do not change to updated mapped values
- [breaking] Fix bug where single quotes are escaped in CLI process (adding: %27)
- Add transform data case 'inverse_locators' to manage old section data with this property (it will be removed)
- Transform data error when data is array or object causes and error on test
- Fix missing environment var 'DEDALO_MAINTENANCE_MODE' that causes blank screen on update to v6.2.0
- Fix null as standalone case in transform_data::add_view_in_thesaurus
- Fix missing environment var 'DEDALO_NOTIFICATION' that causes blank screen on update to v6.2.0
- Fix mkdocs.yml missing 'search' plugin
- Fix component_pdf::valid_utf8 errors where function were declared multiple times
- Fix overwriting PDF extracted text on regenerate component PDF
- Fix ontology propagation data errors from v5 manager (tch/tchi unsync cases)
- Fix ontology error where edit_term overwrite the field value with the definition value on edit
- Fix transform_data bug where section_tipo was not taken into account when updating records
- Fix fallback time unit issues in exec_time_unit_auto
- Fix component_svg issue where the image was rendered twice in tag view
- Return empty array to be compatible with empty data in resolve fixed filter resolve_component_data_recursively.
- Fix missing request lang into session in calculate_tree script
- Fix missing tooltips re-activation in inspector on render section/components info
- Fix error where null result causes crash in component_relation_common::resolve_component_data_recursively
- Fix component_portal error where add value crash when server response is not as expected
- Fix null propagate_data_value scenario in tool_propagate_component_data::propagate_component_data
- Fix dd_date_Test error where unix_timestamp reference value give wrong values in some cases
- Fix ImageMagick::get_layers_file_info error when null values have not been taken into account
- Fix component_image missing content_data pointer on refresh when render_level==='content'
- Fix component_image render edit incoherence on set xlink:href
- Fix tool_media_versions minor issues
- Fix transform_data update errors. Now, 'skip_virtuals' is used to skip defined sections
- Add empty tool name manager to skip bad formed tools cases
- Fix duplicated_dato error where was checked as array instead object
- Fix test_copy_test_csv_file issue when no target directory exists
- Fix dd_core_api save error where insert data/add_new_element generates an error when data is empty (new empty component_date value for example)
- Fix legacy calls to 'get_valor' in class relation list. Changed by 'get_value'
- Fix CSS issues in relation_list paginator
- Fix component_common::extract_component_dato_fallback error where fallback lang values are not calculated correctly for transliterable components
- Fix component_input_text issue where button delete fails on focus input
Documentation
- Add Diffusion multiple databases (MySQL)
- Add compatibility and support for v5 ontology in readme.
- Add new column to readmne
- Change the v6 transition status in readme.
Features
- Add tool_media_versions option to delete version files
- Add refresh_data to observer process to update the data of observer in server context.
- Add relation_list to component_portal delete dialog modal
- Add new get_archive_state for dmm model to calculate the expedients process.
- Add page key option to toggle inspector: control + i
- Add multilang support for temporary components data in tool_import_files
Miscellaneous Tasks
- Add missing method 'resolve_query_object_sql' to component_json
- Improve component_json method 'resolve_query_object_sql'. Now, default search, is 'contains'
- Update Ontology install import files
- Add component_pdf->create_alternative_version method
- Update Ontology install import files and JS languages files
- Add function name selector to tool_media_versions file_info_node fora easy identification
- Add update_version control to catch empty update data cases
- Improve class update CLI messages and info
- Unify components view text JS and CSS
- Fix CSS issues in list and autocomplete
- Unify components is_empty method
- Service_tmp_section change components show_interface.tools from false to true to enable components tools in temporal sections
Refactor
- [breaking] Refactor component_date to allow use in a smaller space
- Unify the view tree to use common buttons and remove unused. View tree remains alive, but reduced, because small spaces as a portal column needs different HTML and CSS than view_line. Use view line for usually components.
- Re-factorized security::get_permissions_table method. Enable cache by default using a simplified table of permissions
Change
- [breaking] Replace old get_list_value(), that use only v5 model, with new get_value() in list mode for component_select.
- Increase cache life from 2 days to 4 (dd_init_test)
- Commented update v 6.4.1 => 6.2.0 component_pdf component update because is very long. Run manually on demand with tool update cache
- Add text pdf extraction to component_pdf 'regenerate_component' method
- Low PDF render resolution to 600dpi
- Defines button tree to false by default, now the button_tree can be added to any portal, but by default needs to be false
- Add button tree functionality to general render edit for portals. Now the button_tree can be added to any portal
- Add hilite by model to tool_update_cache
- Add to render image with cropbox of PDF files. Now imageMagick take account the cropbox defined inside PDF files.
- Increase tables_rows_iterator counter reset from 1000 to 3000 (is enough to gc_collect_cycles)
- Add memory and counter info to CLI process data printed in transform_data::changes_in_tipos
- Reduce the density and remove the resize to render PDF files.
- Component_media_common implements component_media_interface to unify common methods
- Unify media components alternative version creation on regenerate component (tool_update_cache)
- Add css selector as argument to ui.activate_tooltips to allow flexible tooltips construction
- Add cache option to security::get_security_permissions
- Adjust the quality of render PDF for original and web to be faster
- Disable component_geolocation tracking options when changing the map position, to avoid unintentional saving
- Add
fauna
andflora
hierarchies, and move theobject1
hierarchy from 1 to 11 typology (11 typologies are:object1
,flora1
andfauna1
)