Gustaf Neumann
A xotcl-based enterprise wiki system with multiple object types
2023-07-11
@@ -55,11 +55,11 @@
BSD-Style
2
-
+
-
+
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.9 -r1.1.2.10
--- openacs-4/packages/xowiki/tcl/resource-info-procs.tcl 29 Jul 2024 12:01:29 -0000 1.1.2.9
+++ openacs-4/packages/xowiki/tcl/resource-info-procs.tcl 11 Aug 2024 06:37:22 -0000 1.1.2.10
@@ -9,13 +9,27 @@
namespace eval ::xowiki::bootstrap_treeview {
ad_proc -private ::xowiki::bootstrap_treeview::resource_info {
- {-version "1.2.0"}
+ {-version ""}
} {
Get information about available version(s) of bootstrap-treeview either
from the local filesystem, or from CDN.
} {
+ set parameter_info {
+ package_key xowiki
+ parameter_name BootstrapTreeviewVersion
+ default_value 1.2.0
+ }
+
+ if {$version eq ""} {
+ dict with parameter_info {
+ set version [::parameter::get_global_value \
+ -package_key $package_key \
+ -parameter $parameter_name \
+ -default $default_value]
+ }
+ }
#
# Setup variables for access via CDN vs. local resources.
#
@@ -47,6 +61,8 @@
urn:ad:js:bootstrap3-treeview bootstrap-treeview.min.js
} \
versionCheckAPI {cdn cdnjs library bootstrap-treeview count 1} \
+ vulnerabilityCheck {service snyk library bootstrap-treeview} \
+ parameterInfo $parameter_info \
configuredVersion $version
if {$cdnHost ne ""} {
@@ -64,6 +80,230 @@
}
+namespace eval ::xowiki::jquery {
+
+ ad_proc -private ::xowiki::jquery::resource_info {
+ {-version ""}
+ } {
+
+ Get information about available version(s) of jquery either
+ from the local filesystem, or from CDN.
+
+ } {
+ set parameter_info {
+ package_key xowiki
+ parameter_name JqueryVersion
+ default_value 3.7.1
+ }
+
+ if {$version eq ""} {
+ dict with parameter_info {
+ set version [::parameter::get_global_value \
+ -package_key $package_key \
+ -parameter $parameter_name \
+ -default $default_value]
+ }
+ }
+ #
+ # Setup variables for access via CDN vs. local resources.
+ #
+ set resourceDir [acs_package_root_dir xowiki/www/resources/jquery]
+ set cdn //cdnjs.cloudflare.com/ajax/libs/jquery
+
+ set path $resourceDir/$version/jquery.min.js
+ ns_log notice "jquery: check $path ->" [file exists $path]
+
+ if {[file exists $path]} {
+ set prefix /resources/xowiki/jquery/$version
+ set cdnHost ""
+ } else {
+ set prefix $cdn/$version
+ set cdnHost cdnjs.cloudflare.com
+ }
+
+ #
+ # Return the dict with at least the required fields
+ #
+ lappend result \
+ resourceName "jquery" \
+ resourceDir $resourceDir \
+ cdn $cdn \
+ cdnHost $cdnHost \
+ prefix $prefix \
+ cssFiles {} \
+ jsFiles {jquery.min.js} \
+ extraFiles {} \
+ urnMap {
+ urn:ad:js:jquery jquery.min.js
+ } \
+ versionCheckAPI {cdn cdnjs library jquery count 1} \
+ vulnerabilityCheck {service snyk library jquery} \
+ parameterInfo $parameter_info \
+ configuredVersion $version
+
+ if {$cdnHost ne ""} {
+ lappend result csp_lists [subst {
+ urn:ad:js:jquery {
+ script-src $cdnHost
+ }
+ }]
+ }
+ return $result
+ }
+}
+
+
+namespace eval ::xowiki::jqueryui {
+
+ ad_proc -private ::xowiki::jqueryui::resource_info {
+ {-version ""}
+ } {
+
+ Get information about available version(s) of jqueryui either
+ from the local filesystem, or from CDN.
+
+ } {
+ set parameter_info {
+ package_key xowiki
+ parameter_name JqueryuiVersion
+ default_value 1.14.0
+ }
+
+ if {$version eq ""} {
+ dict with parameter_info {
+ set version [::parameter::get_global_value \
+ -package_key $package_key \
+ -parameter $parameter_name \
+ -default $default_value]
+ }
+ }
+ #
+ # Setup variables for access via CDN vs. local resources.
+ #
+ set resourceDir [acs_package_root_dir xowiki/www/resources/jqueryui]
+ set cdn //cdnjs.cloudflare.com/ajax/libs/jqueryui
+
+ set path $resourceDir/$version/jquery-ui.min.js
+ ns_log notice "jquery-ui: check $path ->" [file exists $path]
+
+ if {[file exists $path]} {
+ set prefix /resources/xowiki/jqueryui/$version
+ set cdnHost ""
+ } else {
+ set prefix $cdn/$version
+ set cdnHost cdnjs.cloudflare.com
+ }
+
+ #
+ # Return the dict with at least the required fields
+ #
+ lappend result \
+ resourceName "jquery-ui" \
+ resourceDir $resourceDir \
+ cdn $cdn \
+ cdnHost $cdnHost \
+ prefix $prefix \
+ cssFiles {themes/base/jquery-ui.min.css} \
+ jsFiles {jquery-ui.min.js} \
+ extraFiles {} \
+ urnMap {
+ urn:ad:css:jquery-ui themes/base/jquery-ui.min.css
+ urn:ad:js:jquery-ui jquery-ui.min.js
+ } \
+ versionCheckAPI {cdn cdnjs library jqueryui count 5} \
+ vulnerabilityCheck {service snyk library jquery-ui} \
+ parameterInfo $parameter_info \
+ configuredVersion $version
+
+ if {$cdnHost ne ""} {
+ lappend result csp_lists [subst {
+ urn:ad:css:jqueryui {
+ style-src $cdnHost
+ }
+ urn:ad:js:jqueryui {
+ script-src $cdnHost
+ }
+ }]
+ }
+ return $result
+ }
+}
+
+namespace eval ::xowiki::jqueryui_touchpunch {
+
+ ad_proc -private ::xowiki::jqueryui_touchpunch::resource_info {
+ {-version ""}
+ } {
+
+ Get information about available version(s) of jqueryui-touch-punch either
+ from the local filesystem, or from CDN.
+
+ } {
+ set parameter_info {
+ package_key xowiki
+ parameter_name JqueryuiTouchPunchVersion
+ default_value 0.2.3
+ }
+
+ if {$version eq ""} {
+ dict with parameter_info {
+ set version [::parameter::get_global_value \
+ -package_key $package_key \
+ -parameter $parameter_name \
+ -default $default_value]
+ }
+ }
+ #
+ # Setup variables for access via CDN vs. local resources.
+ #
+ set resourceDir [acs_package_root_dir xowiki/www/resources/jqueryui-touch-punch]
+ set cdn //cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch
+
+ set path $resourceDir/$version/jqueryui-touch-punch.min.js
+ ns_log notice "jqueryui-touch-punch: check $path ->" [file exists $path]
+
+ if {[file exists $path]} {
+ set prefix /resources/xowiki/jqueryui-touch-punch/$version
+ set cdnHost ""
+ } else {
+ set prefix $cdn/$version
+ set cdnHost cdnjs.cloudflare.com
+ }
+
+ #
+ # Return the dict with at least the required fields
+ #
+ lappend result \
+ resourceName "jqueryui-touch-punch" \
+ resourceDir $resourceDir \
+ cdn $cdn \
+ cdnHost $cdnHost \
+ prefix $prefix \
+ cssFiles {} \
+ jsFiles {jqueryui-touch-punch.min.js} \
+ extraFiles {} \
+ urnMap {
+ urn:ad:js:jqueryui-touch-punch jqueryui-touch-punch.min.js
+ } \
+ versionCheckAPI {cdn cdnjs library jqueryui-touch-punch count 1} \
+ vulnerabilityCheck {service snyk library jquery-ui-touch-punch} \
+ parameterInfo $parameter_info \
+ configuredVersion $version
+
+ if {$cdnHost ne ""} {
+ lappend result csp_lists [subst {
+ urn:ad:js:jqueryui-touch-punch {
+ script-src $cdnHost
+ }
+ }]
+ }
+ return $result
+ }
+}
+
+
+
+
# Local variables:
# mode: tcl
# tcl-indent-level: 2
Index: openacs-4/packages/xowiki/tcl/resource-init.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/resource-init.tcl,v
diff -u -r1.3.2.20 -r1.3.2.21
--- openacs-4/packages/xowiki/tcl/resource-init.tcl 20 Mar 2024 10:25:34 -0000 1.3.2.20
+++ openacs-4/packages/xowiki/tcl/resource-init.tcl 11 Aug 2024 06:37:22 -0000 1.3.2.21
@@ -1,11 +1,6 @@
#
# Register some URNs that we are providing for sharing.
#
-template::register_urn -urn urn:ad:js:jquery -resource /resources/xowiki/jquery/jquery-3.7.1.min.js
-template::register_urn -urn urn:ad:js:jquery-ui -resource /resources/xowiki/jquery/jquery-ui.min.js
-template::register_urn -urn urn:ad:css:jquery-ui -resource /resources/xowiki/jquery/jquery-ui.css
-template::register_urn -urn urn:ad:js:jquery-ui-touch-punch \
- -resource /resources/xowiki/jquery/jquery.ui.touch-punch-0.2.3.js
template::register_urn -urn urn:ad:js:bootstrap3 \
-resource //maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js \
@@ -16,7 +11,7 @@
if {![apm_package_enabled_p "highcharts"]} {
template::register_urn -urn urn:ad:js:highcharts \
- -resource https://cdnjs.cloudflare.com/ajax/libs/highcharts/11.4.0/highcharts.js \
+ -resource https://cdnjs.cloudflare.com/ajax/libs/highcharts/11.4.3/highcharts.js \
-csp_list {script-src cdnjs.cloudflare.com}
}
#template::register_urn -urn urn:ad:js:highcharts-theme -resource /resources/xowiki/highcharts/js/themes/gray.js
@@ -49,15 +44,7 @@
template::register_urn -urn urn:ad:css:xowiki-bootstrap -resource /resources/xowiki/xowiki-bootstrap3.css
template::register_urn -urn urn:ad:css:xowiki-bootstrap5 -resource /resources/xowiki/xowiki-bootstrap5.css
-set resource_info [xowiki::bootstrap_treeview::resource_info -version 1.2.0]
-foreach URN [dict keys [dict get $resource_info urnMap]] {
- template::register_urn \
- -urn $URN \
- -resource [dict get $resource_info prefix]/[dict get $resource_info urnMap $URN] \
- -csp_list [expr {[dict exists $resource_info csp_lists $URN]
- ? [dict set $resource_info csp_lists $URN]
- : ""}]
-}
+::util::resources::register_urns -namespace xowiki
#
Index: openacs-4/packages/xowiki/www/sitewide-admin/download.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/sitewide-admin/download.tcl,v
diff -u -r1.1.2.3 -r1.1.2.4
--- openacs-4/packages/xowiki/www/sitewide-admin/download.tcl 28 Jul 2024 12:15:01 -0000 1.1.2.3
+++ openacs-4/packages/xowiki/www/sitewide-admin/download.tcl 11 Aug 2024 06:37:22 -0000 1.1.2.4
@@ -3,10 +3,11 @@
@creation-date Jan 04, 2017
} {
+ {lib:token,notnull ""}
{version:token,notnull ""}
}
-set resource_info [::xowiki::bootstrap_treeview::resource_info -version $version]
+set resource_info [::xowiki::${lib}::resource_info -version $version]
set resourceDir [dict get $resource_info resourceDir]
file mkdir $resourceDir/$version
@@ -26,9 +27,6 @@
ad_returnredirect .
-#https://cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0//bootstrap-treeview.min.css
-# //cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0/bootstrap-treeview.min.css
-
# Local variables:
# mode: tcl
# tcl-indent-level: 4
Index: openacs-4/packages/xowiki/www/sitewide-admin/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/sitewide-admin/index.adp,v
diff -u -r1.1.2.2 -r1.1.2.3
--- openacs-4/packages/xowiki/www/sitewide-admin/index.adp 2 Feb 2024 12:31:36 -0000 1.1.2.2
+++ openacs-4/packages/xowiki/www/sitewide-admin/index.adp 11 Aug 2024 06:37:22 -0000 1.1.2.3
@@ -3,9 +3,35 @@
@context;literal@
@title;noquote@
+
The pages available for all package instances @package_key@ are available here:
@package_key@ site-wide pages.
@resource_title;noquote@
-Checking for @resoure_name@ in version @version@.
-
+
+
+-
+
@resoure_name1@
+ Checking for @resoure_name1@ in version @version1@.
+
+
+
+-
+
@resoure_name2@
+ Checking for @resoure_name2@ in version @version2@.
+
+
+
+-
+
@resoure_name3@
+ Checking for @resoure_name3@ in version @version3@.
+
+
+
+-
+
@resoure_name4@
+ Checking for @resoure_name4@ in version @version4@.
+
+
+
+
\ No newline at end of file
Index: openacs-4/packages/xowiki/www/sitewide-admin/index.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/sitewide-admin/index.tcl,v
diff -u -r1.1.2.4 -r1.1.2.5
--- openacs-4/packages/xowiki/www/sitewide-admin/index.tcl 24 Jul 2024 16:31:45 -0000 1.1.2.4
+++ openacs-4/packages/xowiki/www/sitewide-admin/index.tcl 11 Aug 2024 06:37:22 -0000 1.1.2.5
@@ -5,15 +5,31 @@
} {
}
set title "[::xowiki::Package pretty_name] - Site-wide Admin"
+set context [list $title]
set package_key [::xowiki::Package package_key]
-set version 1.2.0
-set resource_info [::xowiki::bootstrap_treeview::resource_info -version $version]
-set resoure_name [dict get $resource_info resourceName]
set resource_title "Static resources"
-set download_url [ad_conn url]/download?version=$version
-set context [list $title]
+set resource_info1 [::xowiki::bootstrap_treeview::resource_info]
+set version1 [dict get $resource_info1 configuredVersion]
+set resoure_name1 [dict get $resource_info1 resourceName]
+set download_url1 [ad_conn url]/download?version=$version1&lib=bootstrap_treeview
+set resource_info2 [::xowiki::jquery::resource_info]
+set version2 [dict get $resource_info2 configuredVersion]
+set resoure_name2 [dict get $resource_info2 resourceName]
+set download_url2 [ad_conn url]/download?version=$version2&lib=jquery
+
+set resource_info3 [::xowiki::jqueryui::resource_info]
+set version3 [dict get $resource_info3 configuredVersion]
+set resoure_name3 [dict get $resource_info3 resourceName]
+set download_url3 [ad_conn url]/download?version=$version3&lib=jqueryui
+
+set resource_info4 [::xowiki::jqueryui_touchpunch::resource_info]
+set version4 [dict get $resource_info4 configuredVersion]
+set resoure_name4 [dict get $resource_info4 resourceName]
+set download_url4 [ad_conn url]/download?version=$version4&lib=jqueryui_touchpunch
+
+
# Local variables:
# mode: tcl
# tcl-indent-level: 4