xowiki-utility-procs.tcl

XoWiki - Utility procs

Location:
packages/xowiki/tcl/xowiki-utility-procs.tcl
Created:
2006-08-08
Author:
Gustaf Neumann
CVS Identification:
$Id: xowiki-utility-procs.tcl,v 1.60 2024/09/11 06:15:56 gustafn Exp $

Procedures in this file

Detailed information

callback::subsite::url::impl::apm_package (private)

 callback::subsite::url::impl::apm_package -package_id package_id \
    -object_id object_id [ -type type ]

return the page_url for an object of type tasks_task

Switches:
-package_id (required)
-object_id (required)
-type (optional)
See Also:

Testcases:
No testcase defined.

xowiki::add_ltree_order_column (private)

 xowiki::add_ltree_order_column

Add page_order of type ltree, when ltree is configured (otherwise string)

Testcases:
No testcase defined.

xowiki::cr_thin_out (private)

 xowiki::cr_thin_out [ -doit ] [ -delete_orphans ] \
    [ -delete_sequences ] [ -edit_interval edit_interval ] \
    [ -older_than older_than ] [ -package_id package_id ] \
    [ -item_id item_id ]

Delete supposedly unimportant items and revision from the content repository.

Switches:
-doit (optional, boolean, defaults to "false")
if not true, then just write delete operation to the logfile
-delete_orphans (optional, boolean, defaults to "false")
if true, delete orphaned items
-delete_sequences (optional, boolean, defaults to "false")
if true, delete revisions from edit sequences lower than edit_interval
-edit_interval (optional, defaults to "300")
delete entries, which never become older than this interval (in seconds, default 300)
-older_than (optional, defaults to "1 month ago")
delete only entries, which were modified longer than the provided time ago
-package_id (optional)
if specified, perform operation just on the specified package
-item_id (optional)
if specified, perform operation just on the specified item

Testcases:
No testcase defined.

xowiki::filter_option_list (public)

 xowiki::filter_option_list option_list except

Process an option list (pairs of label and id) suitable to be passed to several widgets and remove all entries having an id from the except list.

Parameters:
option_list (required)
list of labels and ids
except (required)
list of internal ids
Returns:
filtered option list

Testcases:
api_filter_option_list

xowiki::fix_all_package_ids (private)

 xowiki::fix_all_package_ids

Earlier versions of OpenACS did not have the package_id set correctly in acs_objects; this proc updates the package_ids of all items and revisions in acs_objects

Testcases:
No testcase defined.

xowiki::hstore::dict_as_hkey (public)

 xowiki::hstore::dict_as_hkey dict
Parameters:
dict (required)
Returns:
dict value in form of a hstore key.

Testcases:
api_hstore

xowiki::hstore::double_quote (public)

 xowiki::hstore::double_quote value

From hstore manual: "Double-quote keys and values that include whitespace, commas, =s or >s. To include a double quote or a backslash in a key or value, escape it with a backslash." https://www.postgresql.org/docs/current/hstore.html

Parameters:
value (required)
Returns:
double_quoted value as appropriate for hstore

Testcases:
api_hstore, xowiki_test_cases

xowiki::hstore::update_form_instance_item_index (private)

 xowiki::hstore::update_form_instance_item_index \
    [ -package_id package_id ] [ -object_class object_class ] \
    [ -initialize initialize ]

update all instance attributes in hstore

Switches:
-package_id (optional)
-object_class (optional, defaults to "::xowiki::FormPage")
-initialize (optional, defaults to "false")

Testcases:
No testcase defined.

xowiki::hstore::update_hstore (private)

 xowiki::hstore::update_hstore package_id

Update all instance attributes in hstore. This proc can be used from ds/shell as follows: ::xo::Package initialize -url /xowiki ::xowiki::hstore::update_hstore $package_id

Parameters:
package_id (required)

Testcases:
No testcase defined.

xowiki::randomized_index (public)

 xowiki::randomized_index [ -seed seed ] length

Return a single randomized value between 0 and length-1.

Switches:
-seed (optional)
Parameters:
length (required)

Testcases:
api_randomized

xowiki::randomized_indices (public)

 xowiki::randomized_indices [ -seed seed ] length

Produce a list of "length" random numbers between 0 and length-1. Measure quality of randomization:

      time {lappend _ [xowiki::randomized_indices -seed [clock microseconds] 3]} 1000
      foreach t $_ {
        lassign $t a b c; dict incr stats "a $a"; dict incr stats "b $b"; dict incr stats "c $c"
      }
      set stats
    

Switches:
-seed (optional)
Parameters:
length (required)

Testcases:
api_randomized

xowiki::update_views (private)

 xowiki::update_views

update all automatic views of xowiki

Testcases:
No testcase defined.
[ show source ]