Index: openacs-4/packages/bootstrap-icons/tcl/resource-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bootstrap-icons/tcl/resource-procs.tcl,v diff -u -r1.1.2.10 -r1.1.2.11 --- openacs-4/packages/bootstrap-icons/tcl/resource-procs.tcl 3 Feb 2024 08:28:41 -0000 1.1.2.10 +++ openacs-4/packages/bootstrap-icons/tcl/resource-procs.tcl 23 Jul 2024 16:10:50 -0000 1.1.2.11 @@ -102,9 +102,10 @@ downloadURLs https://github.com/twbs/icons/releases/download/v${version}/bootstrap-icons-${version}.zip \ cspMap $cspMap \ urnMap {} \ - versionCheckURL "https://cdnjs.com/libraries?q=bootstrap-icons" + versionCheckURL "https://cdnjs.com/libraries?q=bootstrap-icons" \ + versionCheckAPI {cdn cdnjs library bootstrap-icons count 1} \ + installedVersion $version - return $result } Index: openacs-4/packages/cookie-consent/tcl/cookie-consent-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/cookie-consent/tcl/cookie-consent-procs.tcl,v diff -u -r1.12.2.10 -r1.12.2.11 --- openacs-4/packages/cookie-consent/tcl/cookie-consent-procs.tcl 12 Sep 2022 09:15:15 -0000 1.12.2.10 +++ openacs-4/packages/cookie-consent/tcl/cookie-consent-procs.tcl 23 Jul 2024 16:10:50 -0000 1.12.2.11 @@ -29,12 +29,12 @@ # widget also via NaviServer config file: # # ns_section ns/server/${server}/acs/cookie-consent - # ns_param Version cookieconsent2/3.1.1 + # ns_param Version 3.1.1 set ::cookieconsent::version [parameter::get \ -package_id $package_id \ -parameter Version \ - -default cookieconsent2/3.1.1] + -default 3.1.1] ad_proc -private get_relevant_subsite {} { } { @@ -193,7 +193,7 @@ "name": "$cookie_name", "path": "/", "domain": "", - "samesite": "lax", + "samesite": "lax", "expiryDays": "${:expiryDays}" }, "theme": "$theme", @@ -325,7 +325,10 @@ prefix $prefix \ cssFiles {cookieconsent.min.css} \ jsFiles {cookieconsent.min.js} \ - extraFiles {} + extraFiles {} \ + versionCheckURL https://cdnjs.com/libraries/cookieconsent2 \ + versionCheckAPI {cdn cdnjs library cookieconsent2 count 5} \ + installedVersion $version return $result } Index: openacs-4/packages/fa-icons/tcl/resource-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/fa-icons/tcl/resource-procs.tcl,v diff -u -r1.1.2.6 -r1.1.2.7 --- openacs-4/packages/fa-icons/tcl/resource-procs.tcl 31 May 2024 11:32:59 -0000 1.1.2.6 +++ openacs-4/packages/fa-icons/tcl/resource-procs.tcl 23 Jul 2024 16:10:50 -0000 1.1.2.7 @@ -90,7 +90,10 @@ downloadURLs https://github.com/FortAwesome/Font-Awesome/releases/download/${version}/fontawesome-free-${version}-web.zip \ cspMap $cspMap \ urnMap {} \ - versionCheckURL https://cdnjs.com/libraries/font-awesome + versionCheckURL https://cdnjs.com/libraries/font-awesome \ + versionCheckAPI {cdn cdnjs library font-awesome count 5} \ + installedVersion $version + return $result } Index: openacs-4/packages/highcharts/tcl/resource-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/highcharts/tcl/resource-procs.tcl,v diff -u -r1.1.2.10 -r1.1.2.11 --- openacs-4/packages/highcharts/tcl/resource-procs.tcl 31 May 2024 11:32:59 -0000 1.1.2.10 +++ openacs-4/packages/highcharts/tcl/resource-procs.tcl 23 Jul 2024 16:10:50 -0000 1.1.2.11 @@ -101,7 +101,9 @@ }] \ cspMap $cspMap \ urnMap {} \ - versionCheckURL "https://cdnjs.com/libraries?q=highcharts" + versionCheckURL https://cdnjs.com/libraries/highcharts \ + versionCheckAPI {cdn cdnjs library highcharts count 5} \ + installedVersion $version return $result } Index: openacs-4/packages/openacs-bootstrap3-theme/tcl/init-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/openacs-bootstrap3-theme/tcl/init-procs.tcl,v diff -u -r1.5.2.6 -r1.5.2.7 --- openacs-4/packages/openacs-bootstrap3-theme/tcl/init-procs.tcl 5 Apr 2022 07:43:30 -0000 1.5.2.6 +++ openacs-4/packages/openacs-bootstrap3-theme/tcl/init-procs.tcl 23 Jul 2024 16:10:50 -0000 1.5.2.7 @@ -44,7 +44,9 @@ urnMap { urn:ad:css:bootstrap3 css/bootstrap.min.css urn:ad:js:bootstrap3 js/bootstrap.min.js - } + } \ + installedVersion $version + if {$cdnHost ne ""} { lappend result cspMap [subst { urn:ad:css:bootstrap3 { Index: openacs-4/packages/openacs-bootstrap5-theme/tcl/resource-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/openacs-bootstrap5-theme/tcl/resource-procs.tcl,v diff -u -r1.1.2.11 -r1.1.2.12 --- openacs-4/packages/openacs-bootstrap5-theme/tcl/resource-procs.tcl 20 Mar 2024 10:18:10 -0000 1.1.2.11 +++ openacs-4/packages/openacs-bootstrap5-theme/tcl/resource-procs.tcl 23 Jul 2024 16:10:50 -0000 1.1.2.12 @@ -49,7 +49,9 @@ urn:ad:css:bootstrap5 css/bootstrap.min.css urn:ad:js:bootstrap5 js/bootstrap.bundle.min.js } \ - versionCheckURL "https://cdnjs.com/libraries?q=bootstrap" + versionCheckURL https://cdnjs.com/libraries/bootstrap \ + versionCheckAPI {cdn cdnjs library bootstrap count 1} \ + installedVersion $version #urn:ad:js:popper2 dist/umd/popper.min.js Index: openacs-4/packages/richtext-ckeditor4/tcl/richtext-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/richtext-ckeditor4/tcl/richtext-procs.tcl,v diff -u -r1.14.2.26 -r1.14.2.27 --- openacs-4/packages/richtext-ckeditor4/tcl/richtext-procs.tcl 19 Jul 2024 12:44:46 -0000 1.14.2.26 +++ openacs-4/packages/richtext-ckeditor4/tcl/richtext-procs.tcl 23 Jul 2024 16:10:50 -0000 1.14.2.27 @@ -97,6 +97,7 @@ lappend ckOptionsList \ "language: '[lang::conn::language]'" \ "disableNativeSpellChecker: false" \ + "versionCheck: false" \ "scayt_autoStartup: [dict get $options spellcheck]" # @@ -259,8 +260,13 @@ extraFiles {} \ downloadURLs http://download.cksource.com/CKEditor/CKEditor/CKEditor%20${version}/ckeditor_${version}_${ck_package}.zip \ urnMap {} \ - versionCheckURL https://cdn.ckeditor.com/ - + versionCheckURL https://cdn.ckeditor.com/ \ + plugins { + a11yhelp about clipboard dialog image link magicline pastefromgdocs pastefromlibreoffice + pastefromword pastetools scayt specialchar table tableselection tabletools widget + } \ + versionCheckAPI {cdn cdnjs library ckeditor count 20} \ + installedVersion $version \ return $result } @@ -348,11 +354,49 @@ set ck_package ${::richtext::ckeditor4::ck_package} } - set resource_info [::richtext::ckeditor4::resource_info \ -ck_package $ck_package \ -version $version] + set downloadFromCDNnjs 0 + if {$downloadFromCDNnjs} { + # + # If you really want to use this, you should also clear + # "downloadURLs" in resource_info to avoid the version + # check on the tar file in + # :util::resources::is_installed_locally. For this + # piecewise download the tar file does not exist. + # + set install_dir_name [acs_package_root_dir richtext-ckeditor4]/www/resources/$version/standard + set download_prefix https://cdnjs.cloudflare.com/ajax/libs/ckeditor/$version/ + if {[info commands ::json::json2dict] eq ""} { + package require json + } + + file mkdir $install_dir_name + set r [ns_http run https://api.cdnjs.com/libraries/ckeditor/$version] + set d [::json::json2dict [dict get $r body]] + foreach fn [dict get $d files] { + if {[string match *.min.* $fn]} continue + if {[regexp {plugins/([^/]+)/} $fn . pluginName]} { + if {$pluginName ni [dict get $resource_info plugins]} { + continue + } + } + set result [::util::resources::download_helper -url $download_prefix/$fn] + #ns_log notice "... returned status code [dict get $result status]" + set spool_fn [dict get $result file] + + set subdir [ad_file dirname $install_dir_name/$fn] + if {![ad_file isdirectory $subdir]} { + file mkdir $subdir + } + #ns_log notice "mv $spool_fn $install_dir_name/$fn" + file rename -force -- $spool_fn $install_dir_name/$fn + } + return + } + ::util::resources::download \ -resource_info $resource_info \ -version_dir $version Index: openacs-4/packages/richtext-tinymce/tcl/richtext-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/richtext-tinymce/tcl/richtext-procs.tcl,v diff -u -r1.4.2.10 -r1.4.2.11 --- openacs-4/packages/richtext-tinymce/tcl/richtext-procs.tcl 23 Jul 2024 09:28:05 -0000 1.4.2.10 +++ openacs-4/packages/richtext-tinymce/tcl/richtext-procs.tcl 23 Jul 2024 16:10:50 -0000 1.4.2.11 @@ -123,7 +123,9 @@ [::richtext::tinymce::lang_download_url] \ ] \ urnMap {} \ - versionCheckURL https://www.tiny.cloud/tinymce/ + versionCheckURL https://cdnjs.com/libraries/tinymce \ + versionCheckAPI {cdn cdnjs library tinymce count 5} \ + installedVersion $version return $result } Index: openacs-4/packages/xowiki/tcl/resource-info-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/resource-info-procs.tcl,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/xowiki/tcl/resource-info-procs.tcl 2 Feb 2024 12:14:32 -0000 1.1.2.4 +++ openacs-4/packages/xowiki/tcl/resource-info-procs.tcl 23 Jul 2024 16:10:50 -0000 1.1.2.5 @@ -47,7 +47,10 @@ urnMap { urn:ad:css:bootstrap3-treeview bootstrap-treeview.min.css urn:ad:js:bootstrap3-treeview bootstrap-treeview.min.js - } + } \ + versionCheckURL https://cdnjs.com/libraries/bootstrap-treeview \ + versionCheckAPI {cdn cdnjs library bootstrap-treeview count 1} \ + installedVersion $version if {$cdnHost ne ""} { lappend result csp_lists [subst {