The Kernel Tcl API library. Contains all the core Tcl API, including the request processor, security and session management, permissions, site-nodes, package management infrastructure, etc.


Package Documentation

Procedure Files

tcl/00-database-procs-postgresql.tcl       Postgres-specific database API and utility procs. 
tcl/00-database-procs.tcl       An API for managing database queries. 
tcl/10-charset-compat-procs.tcl       Compatibily procs in case we're not running a version of AOLServer that supports charsets. 
tcl/30-xml-utils-procs.tcl       Compatibily procs in case we're not running a version of AOLServer that supports charsets. 
tcl/acs-permissions-procs.tcl       Tcl procs for the acs permissioning system. 
tcl/acs-private-data-procs.tcl       Tcl procs for managing privacy 
tcl/ad-functional-procs.tcl       Functional Programming in Tcl? - Absolutely! <p> This library adds the expressive power of functional languages like LISP, Gofer or Haskell to the Tcl language! <p> If you don't know what functional programming is, here's a good place to start: <ul> <li><a href=""></a> </ul> A general naming convention in this file is: <p> f = a function <br> x = an element <br> xs = a list of elements 
tcl/admin-procs.tcl       Procedures used only in admin pages (mostly the user class stuff). 
tcl/adp-parser-procs.tcl       Routines for a pure-Tcl parser supporting an ADP-like syntax. 
tcl/aolserver-3-procs.tcl       Contains procedures specific to AOLserver 3 (mostly recreating functionality dropped from AOLserver 2). 
tcl/apm-file-procs.tcl       Functions that APM uses to interact with the file system and I/O. 
tcl/apm-install-procs.tcl       Routines used for installing packages. 
tcl/apm-procs.tcl       Routines used by the package manager. 
tcl/apm-xml-procs.tcl       Functions that APM uses to parse and generate XML. 
tcl/application-data-link-procs.tcl       Procs of application data linking 
tcl/application-link-procs.tcl       Procs of application linking 
tcl/callback-procs.tcl       Supports the use of callbacks. 
tcl/community-core-2-procs.tcl       Community routines (dealing with users, parties, etc.). 
tcl/community-core-procs.tcl       Community routines (dealing with users, parties, etc.). 
tcl/defs-procs.tcl       ACS-specific general utility routines. 
tcl/deprecated-utilities-procs.tcl       Provides a variety of non-ACS-specific utilities that have been deprecated Note the 5.2 deprecated procs have been moved to deprecated/5.2/acs-tcl 
tcl/document-procs.tcl       An API for managing documents. 
tcl/ds-stub-procs.tcl       Stub procs for developer support procs we call in acs-tcl for logging. 
tcl/form-processing-procs.tcl       Form processing utilities. 
tcl/html-email-procs.tcl       Contains procs to send HTML email outside of the context of ACS Mail package. 
tcl/html-procs.tcl       Procs to read and manipulate HTML structures 
tcl/http-auth-procs.tcl       Use OpenACS user logins for HTTP authentication 
tcl/http-client-procs.tcl       Procs for http client comunication 
tcl/image-procs.tcl       Procedures to manage image files. 
tcl/install-procs.tcl       Procs which may be invoked using similarly named elements in an install.xml file. 
tcl/json-procs.tcl       Utility ad_procs for Tcl <-> JSON conversion. 
tcl/membership-rel-procs.tcl       Manage Membership Relations 
tcl/memoize-procs.tcl       Defines a convenient cache mechanism, util_memoize. 
tcl/navigation-callback-procs.tcl       Callback contract definitions for page rendering. 
tcl/navigation-procs.tcl       Provides procedures to spit out the navigational parts of the site. 
tcl/object-procs.tcl       Object support for ACS. 
tcl/object-type-procs.tcl       Supporting procs for ACS Object Types 
tcl/openacs-kernel-procs.tcl       A library of additional OpenACS utilities 
tcl/parameter-procs.tcl       parameter procs 
tcl/pdf-procs.tcl       Functions for handling Template-documents 
tcl/proxy-procs.tcl       Proxy procs 
tcl/request-processor-procs.tcl       The ACS Request Processor: the set of routines called upon every single HTTP request to an ACS server. 
tcl/security-procs.tcl       Provides methods for authorizing and identifying ACS users (both logged in and not) and tracking their sessions. 
tcl/server-cluster-procs.tcl       Provides methods for communicating between load-balanced servers. 
tcl/set-operation-procs.tcl       Simple set-manipulation procedures. 
tcl/site-node-apm-integration-procs.tcl       site node / apm integration procs 
tcl/site-node-object-map-procs.tcl       Portal Node Mappings 
tcl/site-nodes-procs.tcl       site node api 
tcl/sql-statement-procs.tcl       Procs for manipulating SQL statements 
tcl/table-display-procs.tcl       This is the table, dimensional bar and sort tools. 
tcl/tcl-documentation-procs.tcl       Routines to support documenting pages and processing query arguments. 
tcl/tcltrace-procs.tcl       Tcl trace procs, accompanied by tcltrace-init.tcl Add Tcl execution traces to asserted Tcl commands 
tcl/tdom-procs.tcl       Procedures to make parsing XML using TDOM a little easier 
tcl/text-html-procs.tcl       Contains procs used to manipulate chunks of text and html, most notably converting between them. 
tcl/user-extensions-procs.tcl       Procs to manage extensions to user data. 
tcl/util-diff-procs.tcl       Procedures to generate pretty formatted diffs of some text 
tcl/utilities-procs.tcl       Provides a variety of non-ACS-specific utilities, including the procs to support the who's online feature. 
tcl/whos-online-procs.tcl       Provides support for registering which users are online. 
tcl/widgets-procs.tcl       UI widgets for use in forms, etc. 
tcl/xml-1-dom-procs.tcl       # dom.tcl -- # # This file implements the Tcl language binding for the DOM - # the Document Object Model. 


DoubleApos       if the user types "O'Malley" and you try to insert that into an SQL database, you will lose big time because the single quote is magic in SQL and the insert has to look like 'O''Malley'. 
NsSettoTclString       returns a plain text version of the passed ns_set id 
ReturnHeaders       We use this when we want to send out just the headers and then do incremental writes with ns_write. 
__ad_verify_signature       Returns 1 if signature validated; 0 if it fails. 
acs_lookup_magic_object       Non memoized version of acs_magic_object. 
acs_lookup_magic_object_no_cache       Non memoized version of acs_magic_object. 
acs_magic_object       Returns the object ID of a magic object. 
acs_object::get       Gets information about an acs_object. 
acs_object::get_element       Gets a specific element from the info returned by acs_object::get. 
acs_object::package_id       Gets the package_id of the object 
acs_object::package_id_not_cached       Gets the package_id of the object 
acs_object::set_context_id       Sets the context_id of the specified object. 
acs_object_name       Returns the name of an object. 
acs_object_type       Returns the type of an object. 
acs_object_type::acs_object_instance_of       Returns true if the specified object_id is a subtype of the specified type. 
acs_object_type::get       Get info about an object type. 
acs_object_type::get_table_name       Return the table name associated with an object_type. 
acs_object_type::get_table_name_not_cached       Return the table name associated with an object_type. 
acs_object_type::supertype       Returns true if subtype is equal to, or a subtype of, supertype. 
acs_object_type::supertypes       Returns a list of the supertypes of subtypes. 
acs_object_type_hierarchy       Returns an HTML snippet representing a hierarchy of ACS Object Types 
acs_privacy::privacy_control_enabled_p       Returns whether privacy control is turned on or not. 
acs_privacy::privacy_control_set       set the privacy control 
acs_privacy::set_user_read_private_data       grant permission to access private data 
acs_privacy::user_can_read_private_data_p       check if a user can access an object's private data 
acs_user::ScreenName       Get the value of the ScreenName parameter. 
acs_user::approve       Approve a user 
acs_user::ban       Ban a user 
acs_user::cache_timeout       Returns the number of seconds the user info cache is kept. 
acs_user::change_state       Change the membership state of a user. 
acs_user::delete       Delete a user 
acs_user::flush_cache       Flush the acs_user::get cache for the given user_id. 
acs_user::get       Get basic information about a user. 
acs_user::get_by_username       Returns user_id from authority and username. 
acs_user::get_by_username_not_cached       Returns user_id from authority and username. 
acs_user::get_element       Get a particular element from the basic information about a user returned by acs_user::get. 
acs_user::get_from_user_id_not_cached       Returns an array list with user info from the database. 
acs_user::get_from_username_not_cached       Returns an array list with user info from the database. 
acs_user::get_portrait_id       Return the image_id of the portrait of a user, if it does not exist, return 0 
acs_user::get_portrait_id_not_cached       Return the image_id of the portrait of a user, if it does not exist, return 0 
acs_user::get_user_id_by_screen_name       Returns the user_id from a screen_name, or empty string if no user found. 
acs_user::registered_user_p       Return 1 if the specified user (defaults to logged in user) is a registered user and 0 otherwise. 
acs_user::reject       Reject a user 
acs_user::site_wide_admin_p       Return 1 if the specified user (defaults to logged in user) is site-wide administrator and 0 otherwise. 
acs_user::unapprove       Unapprove a user 
acs_user::update       Update information about a user. 
acs_user_extension::dispatch       Dispatches (calls the service contract routines) the requested method so that the operation gets executed, and packages are notified of changes in user information. 
acs_user_extension::list_extensions       List the extensions (User Data contract) 
acs_user_extension::user_approve       Notifies packages when a user is approved. 
acs_user_extension::user_deapprove       Notifies packages when a user is deapproved. 
acs_user_extension::user_delete       Notifies packages when a user is deleted. 
acs_user_extension::user_modify       Notifies packages when a user is modified. 
acs_user_extension::user_new       Notifies packages when a new user is added to the system. 
ad_acs_kernel_id       Returns the package_id of the kernel. 
ad_acs_kernel_id_mem       Returns the package_id of the kernel. 
ad_acs_release_date       The OpenACS release date of this instance. 
ad_acs_require_basic_schemata       This is a transitional code to ensure that the SQL schemata required for botostrapping (i.e. 
ad_acs_version       The OpenACS version of this instance. 
ad_acs_version_no_cache       The OpenACS version of this instance. 
ad_admin_context_bar       Returns a Yahoo-style hierarchical navbar. 
ad_admin_footer       Signs pages with ad_admin_owner (usually a programmer who can fix bugs) rather than the signatory of the user pages 
ad_admin_home       Returns the directory for the admin home. 
ad_admin_present_user       This function is an alias to acs_community_member_admin_link and receives identical parameters, but the former finds out the name of the user if a blank is passed. 
ad_apply       Evaluates the first argument with ARGLIST as its arguments, in the environment of its caller. 
ad_approval_system_inuse_p       Returns 1 if the system is configured to use and approval system. 
ad_block_sql_urls       A filter that detect attempts to smuggle in SQL code through form data variables. 
ad_cache_returnredirect       An addition to ad_returnredirect. 
ad_call_proc_if_exists       Calls a procedure with particular arguments, only if the procedure is defined. 
ad_canonical_server_p       Returns true if this is the primary server, false otherwise. 
ad_change_password       Change the user's password 
ad_check_password       Returns 1 if the password is correct for the given user ID. 
ad_choice_bar       Displays a list of choices (Yahoo style), with the currently selected one highlighted. 
ad_color_to_hex       Converts a string of the form 0,192,255 to a string of the form #00C0FF. 
ad_color_widget       Returns a color selection widget, optionally using JavaScript. 
ad_color_widget_js       Returns JavaScript code necessary to use color widgets. 
ad_complain       Used to report a problem while validating user input. 
ad_complaints_count       Returns the number of complaints encountered so far. 
ad_complaints_get_list       Returns the list of complaints encountered so far. 
ad_complaints_init       Initializes the complaints system. 
ad_complaints_parse_error_strings       Parses the error-strings argument to ad_page_contract and stores the result in global variables, so it can be used by ad_complain. 
ad_complaints_with_key       Sets the default errorkey to be used when ad_complaint is called. 
ad_conn       Returns a property about the connection. 
ad_context_bar       Returns a Yahoo-style hierarchical navbar. 
ad_context_bar_html       Generate the an html fragement for a context bar. 
ad_context_bar_multirow       Returns a Yahoo-style hierarchical navbar. 
ad_context_bar_ws       Returns a Yahoo-style hierarchical navbar. 
ad_context_bar_ws_or_index       Returns a Yahoo-style hierarchical navbar. 
ad_context_node_list       Starting with the given node_id, return a list of [list url instance_name] items for parent nodes. 
ad_convert_to_html       Convenient interface to convert text or html into html. 
ad_convert_to_text       Convenient interface to convert text or html into plaintext. 
ad_custom_form       sets up the head of a form to feed to /tools/form-custom.tcl 
ad_custom_list       Generates the html fragment for choosing, editing and creating user customized data 
ad_custom_load       load a persisted user customization as saved by for example table-custom.tcl. 
ad_custom_page_defaults       set the page defaults. 
ad_dateentrywidget       Returns form pieces for a date entry widget. 
ad_db_select_widget       given a sql query this generates a select group. 
ad_dbclick_check_dml       This proc is used for pages using double click protection. 
ad_decode       this procedure is analogus to sql decode procedure. 
ad_decorate_top       Use this for pages that might or might not have an image defined in ad.ini; if the second argument isn't the empty string, ad_decorate_top will make a one-row table for the top of the page 
ad_dimensional_set_variables       set the variables defined in option_list from the form provided (form defaults to ad_conn form) or to default value from option_list if not in the form data. 
ad_dimensional_settings       given a dimensional slider definition this routine returns a form to set the defaults for the given slider. 
ad_dom_fix_html       Similar in spirit to the famous Tidy command line utility, this proc takes a piece of possibly invalid markup and returns a 'fixed' version where unopened tags have been closed and attribute specifications have been normalized by transforming them in the form <code>attribute-name="attribute value"</code>. 
ad_dom_sanitize_html       Sanitizes HTML by specified criteria, basically removing unallowed tags and attributes, javascript or outer references into page URLs. 
ad_enhanced_text_to_html       Converts enhanced text format to normal HTML. 
ad_enhanced_text_to_plain_text       Converts enhanced text format to normal plaintext format. 
ad_export_vars       <b><em>Note</em></b> This proc is deprecated in favor of <a href="/api-doc/proc-view?proc=export_vars"><code>export_vars</code></a>. 
ad_footer       Writes a horizontal rule, a mailto address box (ad_system_owner if not specified as an argument), and then closes the BODY and HTML tags 
ad_form       This procedure implements a high-level, declarative syntax for the generation and handling of HTML forms. 
ad_form_new_p       This is for pages built with ad_form that handle edit and add requests in one file. 
ad_generate_random_string       Generates a random string made of numbers and letters 
ad_generic_optionlist       Use this to build select form fragments. 
ad_get_client_property       Looks up a property for a session. 
ad_get_cookie       Returns the value of a cookie, or $default if none exists. 
ad_get_login_url       Returns a URL to the login page of the closest subsite, or the main site, if there's no current connection. 
ad_get_logout_url       Returns a URL to the logout page of the closest subsite, or the main site, if there's no current connection. 
ad_get_node_id_from_host_node_map       Obtain node_id from host_node_map 
ad_get_signed_cookie       Retrieves a signed cookie. 
ad_get_signed_cookie_with_expr       Retrieves a signed cookie. 
ad_get_tcl_call_stack       Returns a stack trace from where the caller was called. 
ad_get_user_id       Gets the user ID. 
ad_get_user_info       Sets first_names, last_name, email in the environment of its caller. 
ad_header       writes HEAD, TITLE, and BODY tags to start off pages in a consistent fashion 
ad_header_with_extra_stuff       This is the version of the ad_header that accepts extra stuff for the document head and pre-page content html 
ad_host       Returns the hostname as it was typed in the browser, provided forcehostp is set to 0. 
ad_host_administrator       As defined in the HostAdministrator kernel parameter. 
ad_html_colors       Returns an array of HTML colors and names. 
ad_html_qualify_links       Convert in the HTML text relative URLs into fully qualified URLs including the host name. 
ad_html_security_check       Returns a human-readable explanation if the user has used any HTML tag other than the ones marked allowed in antispam section of ad.ini. 
ad_html_text_convert       Converts a chunk of text from a variety of formats to either text/html or text/plain. 
ad_html_text_convertable_p       Returns true of ad_html_text_convert can handle the given from and to mime types. 
ad_html_to_text       Returns a best-guess plain text version of an HTML fragment. 
ad_html_to_text_put_newline       Helper proc for ad_html_to_text 
ad_html_to_text_put_text       Helper proc for ad_html_to_text 
ad_http_cache_control       This adds specific headers to the http output headers for the current request in order to prevent user agents and proxies from caching the page. 
ad_httpget       Just like ns_httpget, but first headers is an ns_set of headers to send during the fetch. 
ad_include_contract       Define interface between a page and an <include> similar to the page_contract. 
ad_integer_optionlist       Produces an optionlist for a range of integers from start_value to end_value. 
ad_job       Convenience wrapper for simple usages of ns_job provided by AOLServer and NaviServer. 
ad_log       Output ns_log message with detailed context. 
ad_log_stack_trace       A wrapper for ad_print_stack_trace which does the logging for you. 
ad_login_page       Returns 1 if the page is used for logging in, 0 otherwise. 
ad_looks_like_html_p       Tries to guess whether the text supplied is text or html. 
ad_maybe_redirect_for_registration       Checks to see if a user is logged in. 
ad_mutex_eval       Compatibility proc for handling differences between NaviServer and AOLserver since AOLserver does not support "ns_mutex eval". 
ad_navbar       produces navigation bar. 
ad_new_sort_by       Makes a new sort_by string, sorting by "key". 
ad_ns_set_keys       Returns the keys of a ns_set as a Tcl list, like <code>array names</code>. 
ad_ns_set_to_tcl_vars       Takes an ns_set and sets variables in the caller's environment correspondingly, i.e. 
ad_order_by_from_sort_spec       Takes a sort_by spec, and translates it into into an "order by" clause with each sort_by key dictated by the sort info in tabledef 
ad_page_contract       Specifies the contract between programmer and graphic designer for a page. 
ad_page_contract_eval       This just uplevels it's args. 
ad_page_contract_filter       Declare a filter to be available for use in ad_page_contract. 
ad_page_contract_filter_invoke       Invokes a filter on the argument and returns the result (1 or 0). 
ad_page_contract_filter_priority       Returns the type of proc that executes the given ad_page_contract filter, or the empty string if the filter is not defined. 
ad_page_contract_filter_proc       Returns the proc that executes the given ad_page_contract filter. 
ad_page_contract_filter_proc_allhtml       Allows any html tags (a no-op filter) 
ad_page_contract_filter_proc_boolean       Checks whether the value is boolean (1 or 0) or predicate (t or f) or otherwise a 2 state value (true or false, y or n, yes or no) 
ad_page_contract_filter_proc_date       Validates date type variables 
ad_page_contract_filter_proc_email       Checks whether the value is a valid email address (stolen from philg_email_valid_p) 
ad_page_contract_filter_proc_float       Checks to make sure that the value in question is a valid number, possibly with a decimal point - randyb took this from the ACS dev bboard 
ad_page_contract_filter_proc_html       Checks whether the value contains naughty HTML 
ad_page_contract_filter_proc_integer       Checks whether the value is a valid integer, and removes any leading zeros so as not to confuse Tcl into thinking it's octal. 
ad_page_contract_filter_proc_localurl       Checks whether the value is a an acceptable (non-external) url, which can be used in ad_returnredirect without throwing an error. 
ad_page_contract_filter_proc_naturalnum       Checks whether the value is a valid integer >= 0, and removes any leading zeros so as not to confuse Tcl into thinking it's octal. 
ad_page_contract_filter_proc_negative_float       Same as float but allows negative numbers too GN: this is deprecated, since "float" allows as well negative numbers 
ad_page_contract_filter_proc_nohtml       Doesn't allow any HTML to pass through. 
ad_page_contract_filter_proc_path       Checks whether the value is a Tcl word, or contains a few rather safe other characters ("-", "/", ".") used in (file-system) paths 
ad_page_contract_filter_proc_phone       Checks whether the value is more or less a valid phone number with the area code. 
ad_page_contract_filter_proc_range       Checks whether the value falls between the specified range. 
ad_page_contract_filter_proc_sql_identifier       Checks whether the value is a valid SQL identifier 
ad_page_contract_filter_proc_string_length       Checks whether the string is less or greater than the minimum or maximum length specified, inclusive e.g.address_1:notnull,string_length(max|100) will test address_1 for maximum length of 100. 
ad_page_contract_filter_proc_string_length_range       Checks whether the string is within the specified range, inclusive 
ad_page_contract_filter_proc_time       Validates time type variables of the regular variety (that is 8:12:21 PM) 
ad_page_contract_filter_proc_time24       Validates time type variables of the 24HR variety (that is 20:12:21) 
ad_page_contract_filter_proc_tmpfile       Checks to see that the tmpfile path is allowed on the system 
ad_page_contract_filter_proc_token       Checks whether the value is a Tcl word, or contains a few rather safe other characters (".", ",", "-") used e.g. 
ad_page_contract_filter_proc_usphone       Checks whether the value is more or less a valid US phone number with the area code. 
ad_page_contract_filter_proc_word       Checks whether the value is a Tcl word, i.e. 
ad_page_contract_filter_rule       A filter rule determines what filters are applied to a given value. 
ad_page_contract_filter_rule_proc       Returns the proc that executes the given ad_page_contract default-filter. 
ad_page_contract_filter_rule_proc_html       Makes sure the filter nohtml gets applied, unless some other html filter (html or allhtml) is already specified. 
ad_page_contract_filter_rule_proc_tmpfile       Makes sure the tmpfile filter gets applied for all vars named *.tmpfile. 
ad_page_contract_filter_rule_script       Returns the proc that executes the given ad_page_contract default-filter. 
ad_page_contract_filter_script       Returns the type of proc that executes the given ad_page_contract filter, or the empty string if the filter is not defined. 
ad_page_contract_filter_type       Returns the type of proc that executes the given ad_page_contract filter, or the empty string if the filter is not defined. 
ad_page_contract_get_validation_passed_p       Find out whether the named validation block has been passed or not. 
ad_page_contract_get_variables       Returns a list of all the formal variables specified in ad_page_contract. 
ad_page_contract_handle_datasource_error       Output a diagnostic page. 
ad_page_contract_set_validation_passed       Call this to signal that a certain validation block has passed successfully. 
ad_page_contract_verify_datasources       Check if all the datasources (properties) promised in the page contract have actually been set. 
ad_parameter       Package instances can have parameters associated with them. 
ad_parameter_all_values_as_list       Returns multiple values for a parameter as a list. 
ad_parameter_cache       Manages the cache for ad_parameter. 
ad_parameter_cache_all       Loads all package instance parameters into the proper nsv arrays 
ad_parameter_from_file       This proc returns the value of a parameter that has been set in the parameters/ad.ini file. 
ad_parse_html_attributes       This is a wrapper proc for <a href="/api-doc/proc-view?proc=ad_parse_html_attributes_upvar"><code>ad_parse_html_attributes_upvar</code></a>, so you can parse attributes from a string without upvar'ing. 
ad_parse_html_attributes_upvar       Parse attributes in an HTML fragment and return them as a list of lists. 
ad_port       Returns the port as it was typed in the browser, provided forcehostp is set to 0. 
ad_present_user       This function is an alias to acs_community_member_link and receives identical parameters, but the former finds out the name of the user if a blank is passed. 
ad_pretty_mailing_address_from_args       Returns a prettily formatted address with country name, given an address. 
ad_print_stack_trace       Formerly known as PrintStackTrace. 
ad_privacy_threshold       Pages that are consider whether to display a user's name or email address should test to make sure that a user's priv_ from the database is less than or equal to what ad_privacy_threshold returns. 
ad_process_color_widgets       Sets variables corresponding to the color widgets named in $args. 
ad_progress_bar_begin       Return a proress bar. 
ad_progress_bar_end       Ends the progress bar by causing the browser to redirect to a new URL. 
ad_publisher_name       A human-readable name of the publisher, suitable for legal blather. 
ad_pvt_home       This is the URL of a user's private workspace on the system, usually [subsite]/pvt/home.tcl 
ad_pvt_home_name       This is the name that will be used for the user's workspace (usually "Your Workspace"). 
ad_quotehtml       Quotes ampersands, double-quotes, and angle brackets in $arg. 
ad_redirect_for_registration       Redirects user to [subsite]/register/index to require the user to register. 
ad_register_filter       Registers a filter that gets called during page serving. 
ad_register_proc       Registers a procedure (see ns_register_proc for syntax). 
ad_registration_finite_state_machine_admin_links       Returns the admininistation links to change the user's state in the user_state finite state machine. 
ad_restrict_entire_server_to_registered_users       A preauth filter that will halt service of any page if the user is unregistered, except the site index page and stuff underneath [subsite]/register. 
ad_restrict_to_https       Redirects user to HTTPS. 
ad_return       Works like the "return" Tcl command, with one difference. 
ad_return_complaint       Custom implementation of ad_return_complaint which allows for returning err msg only. 
ad_return_error       Returns a page with the HTTP 500 (Error) code, along with the given title and explanation. 
ad_return_exception_page       Returns an exception page. 
ad_return_forbidden       Returns a page with the HTTP 403 (Forbidden) code, along with the given title and explanation. 
ad_return_if_another_copy_is_running       Returns a page to the user about how this server is busy if another copy of the same script is running. 
ad_return_string_as_file       Return a string as the content of a file 
ad_return_top_of_page       Returns HTTP headers plus the top of the user-visible page. 
ad_return_url       Build a return url suitable for passing to a page you expect to return back to the current page. 
ad_return_warning       Returns a page with the HTTP 200 (Success) code, along with the given title and explanation. 
ad_returnredirect       Write the HTTP response required to get the browser to redirect to a different page, to the current connection. 
ad_reverse       returns the opposite sort order from the one it is given. 
ad_run_scheduled_proc       Runs a scheduled procedure and updates monitoring information in the shared variables. 
ad_same_page_link       Makes a link to this page, with a new value for "variable". 
ad_sanitize_filename       Sanitize the provided filename for modern Windows, OS X, and Unix file systems (NTFS, ext, etc.). 
ad_schedule_proc       Replacement for ns_schedule_proc and friends, allowing us to track what's going on. 
ad_script_abort       Aborts the current running Tcl script, returning to the request processor. 
ad_secure_conn_p       Use security::secure_conn_p instead. 
ad_server_modules       Return the list of the available sever modules 
ad_set_client_property       Sets a client (session-level) property. 
ad_set_cookie       Sets a cookie. 
ad_set_element_value       Set the value of a particular element in the current form being built by ad_form. 
ad_set_form_values       Set multiple values in the current form. 
ad_set_signed_cookie       Sets a signed cookie. 
ad_set_typed_form_variable_filter       <pre> # # Register special rules for form variables. 
ad_sign       Returns a digital signature of the value. 
ad_sort_primary_key       return the primary (first) key of an order spec used by 
ad_sql_append       Adds to the SQL statement. 
ad_system_name       This is the main name of the Web service that you're offering on top of the OpenACS Web Publishing System. 
ad_system_owner       Person who owns the service this person would be interested in user feedback, etc. 
ad_table       DRB: New code should use the listbuilder. 
ad_table_column_list       build a list of pointers into the list of column definitions <p> returns a list of indexes into the columns one per column it found <p> -sortable from t/f/all 
ad_table_form       builds a form for chosing the columns to display <p> columns is a list of the currently selected columns. 
ad_table_orderby_sql       create the order by clause consistent with the orderby and order variables and the datadef which built the table 
ad_table_same       Called from inside ad_table. 
ad_table_sort_form       builds a form for setting up custom sorts. 
ad_table_span       given string the function generates a row which spans the whole table. 
ad_tcl_list_list_to_ns_set       Takes a list of lists of key/value pairs and <code>ns_set update</code>s values in an ns_set. 
ad_tcl_vars_list_to_ns_set       Takes a Tcl list of variable names and <code>ns_set update</code>s values in an ns_set correspondingly: key is the name of the var, value is the value of the var. 
ad_tcl_vars_to_ns_set       Takes a list of variable names and <code>ns_set update</code>s values in an ns_set correspondingly: key is the name of the var, value is the value of the var. 
ad_text_to_html       Converts plaintext to html. 
ad_tmpdir       Convenience function to return the tmp directory 
ad_tmpnam       A stub function to replace the deprecated "ns_tmpnam", which uses the deprecated C-library function "tmpnam()" 
ad_unquotehtml       reverses ad_quotehtml 
ad_unset_cookie       Un-sets a cookie. 
ad_url       This will be called by email alerts. 
ad_urldecode_path       Decode provided string with url-encoding for paths segments (instead of query segments) as defined in RFC 3986 
ad_urldecode_query       Decode provided string with url-encoding for query segments (instead of path segments) as defined in RFC 3986 
ad_urlencode       same as ns_urlencode except that dash and underscore are left unencoded. 
ad_urlencode_folder_path       Perform an urlencode operation on the segments of the provided folder (for a full folder path rather than path segments as in ad_urlencode_path). 
ad_urlencode_path       Encode provided string with url-encoding for paths segments (instead of query segments) as defined in RFC 3986 
ad_urlencode_query       Encode provided string with url-encoding for query segments (instead of paths) as defined in RFC 3986 
ad_urlencode_url       Perform an urlencode operation on a potentially full url (containing a location, but without query part). 
ad_user_class_description       Takes an ns_set of key/value pairs and produces a human-readable description of the class of users specified. 
ad_user_class_parameters       Returns the list of parameter var names used to define a user class. 
ad_user_login       Logs the user in, forever (via the user_login cookie) if -forever is true. 
ad_user_logout       Logs the user out. 
ad_user_new       Creates a new user in the system. 
ad_var_type_check_dirname_p       <pre> # # return 0 if $value contains a / or \, 1 otherwise. 
ad_var_type_check_fail_p       <pre> # # A check that always returns 0. 
ad_var_type_check_integer_p       <pre> # # return 1 if $value is an integer, 0 otherwise. 
ad_var_type_check_integerlist_p       <pre> # # return 1 if list contains only numbers, spaces, and commas. 
ad_var_type_check_nocheck_p       <pre> # # return 1 regardless of the value. 
ad_var_type_check_noquote_p       <pre> # # return 1 if $value contains any single-quotes # <pre> 
ad_var_type_check_number_p       <pre> # # return 1 if $value is a valid number # <pre> 
ad_var_type_check_safefilename_p       <pre> # # return 0 if the file contains ".." # <pre> 
ad_var_type_check_third_urlv_integer_p       <pre> # # Returns 1 if the third path element in the URL is integer. 
ad_var_type_check_word_p       <pre> # # return 1 if $value contains only letters, numbers, dashes, # and underscores, otherwise returns 0. 
ad_verify_and_get_user_id       Returns the current user's ID. 
ad_verify_install       Returns 1 if the acs is properly installed, 0 otherwise. 
ad_verify_signature       Verifies a digital signature. 
ad_verify_signature_with_expr       Verifies a digital signature. 
api_page_documentation_mode_p       Determines whether the thread is in "gathering documentation" or "executing the page" mode. 
apm::convert_type       Convert a package instance to a new type, doing the proper instantiate and mount callbacks and parameter creation. 
apm::get_package_descendent_options       Get a list of pretty name, package key pairs for all packages which are descendents of the given package key. 
apm::metrics       Return some code metrics about the files in package $package_key. 
apm::metrics_internal       The cached version of apm::metrics 
apm::package_version::attributes::default_value       Return the default value for the given attribute name. 
apm::package_version::attributes::generate_xml       Return an XML string with the dynamic package version attributes for a certain package version. 
apm::package_version::attributes::generate_xml_element       Format an XML element wit a value depending on the specified arguemnts 
apm::package_version::attributes::get       Set an array with the attribute values of a certain package version. 
apm::package_version::attributes::get_instance_name       Return the package_instance_name which is used for naming instances in .LRN, every time that we are creating a class. 
apm::package_version::attributes::get_pretty_name       Return the pretty name of attribute with given short name. 
apm::package_version::attributes::get_spec       Return dynamic attributes of package versions in an array list. 
apm::package_version::attributes::maturity_int_to_text       Get the internationalized maturity description corresponding to the given integer package maturity level. 
apm::package_version::attributes::parse_xml       Given the parent node in an XML tree parse the package version attributes and set their values with upvar in the array with given name. 
apm::package_version::attributes::set_all_instances_names       Set all names of the instances for those packages that have the attribute package_instance_name. 
apm::package_version::attributes::store       Store the dynamic attributes of a certain package version in the database. 
apm::process_install_xml       process an xml install definition file which is expected to contain directives to install, mount and configure a series of packages. 
apm::read_files       Read the contents from a list of files at a certain path. 
apm_application_new_checkbox       Return an HTML checkbox of package_key and package names for applications that can be mounted in the site-map. 
apm_arg_names_for_callback_type       Return the list of required argument names for the given callback type. 
apm_assert_callback_type_supported       Throw an error if the given callback type is not supported. 
apm_attribute_value       Parses the XML element to return the value for the specified attribute. 
apm_body_callback       This callback uses the document api to append more text to the stream. 
apm_build_one_package_relationships       Builds the nsv dependency structures for a single package. 
apm_build_package_relationships       Builds the nsv dependency and ancestor structures. 
apm_build_subsite_packages_list       Build the nsv_set cache of all packages which claim to implement subsite semantics. 
apm_callback_and_log       Executes the $callback callback routine with $message as an argument, and calls ns_log with the given $severity. 
apm_callback_format_args       Return a string on format -arg_name1 arg_value1 -arg_name2 arg_value2 ... 
apm_callback_has_valid_args       Returns 1 if the specified callback proc of a certain type has a valid argument list in its definition and 0 otherwise. 
apm_callback_type_supported_p       Return 1 if the given type of callback is supported and 0 otherwise. 
apm_cancel_all_watches       Cancel all watches in the given package. 
apm_copy_inherited_params       Copy parameters from a packages ancestors. 
apm_copy_param_to_descendents       Copy a new parameter in a package to its descendents. 
apm_db_type_keys       Returns a list of valid database type keys. 
apm_dependency_add       Add a dependency to a version. 
apm_dependency_check       Check dependencies of all the packages provided. 
apm_dependency_check_new       Checks dependencies and finds out which packages are required to install the requested packages. 
apm_dependency_provided_p       Returns 1 if the current system provides the dependency inquired about. 
apm_dependency_remove       Removes a dependency from the system. 
apm_doc_body_callback       This callback uses the document api to append more text to the stream. 
apm_dummy_callback       A dummy callback routine which does nothing. 
apm_enabled_packages       Returns a list of package_key's for all enabled packages. 
apm_extract_tarball       Extracts a distribution tarball into a particular directory, overwriting any existing files. 
apm_file_type_keys       Returns a list of valid file type keys. 
apm_file_type_names       Returns an array list with filetypes as keys and filetype pretty names as values. 
apm_file_watch       Marks the file of the indicated path to be watched. 
apm_file_watch_cancel       Stop watching a certain file, or all watched files if path is not specified. 
apm_file_watchable_p       Given the path of a file determine if it is appropriate to be watched for reload. 
apm_files_load       Load the set of files into the currently running Tcl interpreter. 
apm_generate_package_spec       Generates an XML-formatted specification for a version of a package. 
apm_generate_tarball       Generates a tarball for a version, placing it in the content repository. 
apm_get_callback_proc       Return Tcl procedure name for the callback of a certain type for the given package. 
apm_get_installed_provides       Sets the dependencies provided by the packages installed on this system in an array keyed by dependency service-uri. 
apm_get_installed_versions       Sets the current installed version of packages installed on this system in an array keyed by package_key. 
apm_get_package_repository       Gets a list of packages available for install from either a remote package repository or the local file system. 
apm_get_repository_channel       Returns the channel to use when installing software from the repository. 
apm_get_repository_channels       Returns the channels and urls from a repository 
apm_get_watchable_files       Get a list of paths relative to server root of watchable files in the given package 
apm_highest_version       Return the highest version of the indicated package. 
apm_highest_version_name       Return the highest version of the indicated package. 
apm_instance_name_from_id_mem       unmemoized version of apm_instance_name_from_id 
apm_interface_add       Add a interface to a version. 
apm_interface_remove       Removes a interface from the system. 
apm_invoke_callback_proc       Invoke the Tcl callback proc of a given type for a given package version. 
apm_invoke_install_proc       read an xml install element and invoke the appropriate processing procedure. 
apm_load_any_changed_libraries       In the running interpreter, reloads files marked for reload by apm_mark_version_for_reload. 
apm_load_apm_file       Uncompresses and loads an APM file into the filesystem. 
apm_load_catalog_files       Load catalog files for a package that is either installed or upgraded. 
apm_load_install_xml       Loads an install file and returns the root node. 
apm_load_libraries       Loads all -procs.tcl (if $procs_or_init is "procs") or -init.tcl files into the current interpreter for installed, enabled packages. 
apm_load_packages       Load Tcl libraries and queries for the packages with given keys. 
apm_load_queries       Load up the queries for all enabled packages (or all specified packages). 
apm_load_tests_p       Determine whether to load acs-automated-testing tests for packages. 
apm_log       Centralized APM logging. 
apm_mark_files_for_reload       Mark the given list of Tcl and query files for reload in all interpreters. 
apm_mark_version_for_reload       Examines all tcl_procs files in package version $version_id; if any have changed since they were loaded, marks (in the apm_reload array) that they must be reloaded by each Tcl interpreter (using the apm_load_any_changed_libraries procedure). 
apm_mkdir       Creates the directory specified by path and returns it. 
apm_mount_core_packages       <p> Mount, and set permissions for a number of packages part of the OpenACS core. 
apm_ns_write_callback       A simple callback which prints out the log message to the server stream. 
apm_one_package_descendents       Returns a list of package keys of all packages that inherit from the given package 
apm_one_package_inherit_order       Returns a list of package keys in package inheritance order. 
apm_one_package_load_libraries_dependencies       Generate a list of package keys in library load dependency order. 
apm_order_upgrade_scripts       Upgrade scripts are ordered so that they may be executed in a sequence that upgrades package. 
apm_package_deinstall       Deinstalls a package from the filesystem. 
apm_package_delete       De-install a package from the system. 
apm_package_descendents       Wrapper that returns the cached package descendents list. 
apm_package_enabled_p       Returns 1 if there is an enabled package version corresponding to the package_key and 0 otherwise. 
apm_package_id_from_key_mem       unmemoized version of apm_package_id_from_key 
apm_package_ids_from_key_mem       unmemoized version of apm_package_ids_from_key 
apm_package_info_file_path       Returns the path to a .info file in a package directory, or throws an error if none exists. 
apm_package_inherit_order       Wrapper that returns the cached package inheritance order list. 
apm_package_install       Registers a new package and/or version in the database, returning the version_id. 
apm_package_install_callbacks       Install the Tcl proc callbacks for the package version. 
apm_package_install_data_model       Given a spec file, reads in the data model files to load from it. 
apm_package_install_dependencies       Install all package dependencies. 
apm_package_install_owners       Install all of the owners of the package version. 
apm_package_install_owners_prepare       Prepare the owners data structure for installation. 
apm_package_install_parameters       Installs a set of parameters into the package denoted by package_key. 
apm_package_install_spec       Writes the XML-formatted specification for a package to disk, marking it in the database as the only installed version of the package. 
apm_package_install_version       Installs a version of a package. 
apm_package_installed_p       Returns 1 if there is an installed package version corresponding to the package_key, 0 otherwise. 
apm_package_instance_delete       Deletes an instance of a package 
apm_package_instance_new       Creates a new instance of a package and calls the post instantiation proc, if any. 
apm_package_key_from_id_mem       unmemoized version of apm_package_key_from_id 
apm_package_key_from_version_id       Returns the package_key for the given APM package version id. 
apm_package_key_from_version_id_mem       Returns the package_key for the given APM package version id. 
apm_package_list_url_resolution       Use a left-right, breadth-first traverse of the inheritance DAG to build a structure to be used by the request processor to resolve URLs based on a package's "extends" and "embeds" dependencies. 
apm_package_load_libraries_order       Wrapper that returns the cached package library load order list. 
apm_package_register       Register the package in the system. 
apm_package_registered_p       Returns 1 if there is a registered package with the indicated package_key. 
apm_package_rename       Renames a package instance 
apm_package_supported_databases       Return a list of db types (i.e. 
apm_package_upgrade_parameters       Upgrades the parameters to the current version. 
apm_package_url_from_id       Will return the first url found for a given package_id 
apm_package_url_resolution       Wrapper that returns the cached package search order list. 
apm_package_version_delete       Deletes a version from the database. 
apm_package_version_release_tag       Returns a CVS release tag for a particular package key and version name. 
apm_packages_full_install       Loads the data model, installs, enables, instantiates, and mounts all of the packages in pkg_list. 
apm_parameter_register       Register a parameter in the system. 
apm_parameter_sync       Syncs the parameters in the database with the memory cache. 
apm_parameter_unregister       Unregisters a parameter from the system. 
apm_post_instantiation_tcl_proc_from_key       Generates the name of the Tcl procedure we execute for post-instantiation. 
apm_pretty_name_for_db_type       Returns the pretty name corresponding to a particular file type key (memoizing to save a database hit here and there). 
apm_pretty_name_for_file_type       Returns the pretty name corresponding to a particular file type key 
apm_read_package_info_file       Reads a .info file, returning an array containing the following items: <ul> <li><code>path</code>: a path to the file read <li><code>mtime</code>: the mtime of the file read <li><code>provides</code>, <code>embeds</code>, <code>extends</code>, and <code>requires</code>: <p> lists of dependency information, containing elements of the form <code>[list $url $version]</code> <li><code>owners</code>: a list of owners containing elements of the form <code>[list $url $name]</code> <li><code>files</code>: a list of files in the package, containing elements of the form <code>[list $path $type]</code> NOTE: Files are no longer stored in info files but are always retrieved directly from the file system. 
apm_remove_callback_proc       Remove the callback of a certain type for the given package. 
apm_required_attribute_value       Returns an attribute of an XML element, throwing an error if the attribute is not set. 
apm_scan_packages       Scans a directory for unregistered package specification files. 
apm_set_callback_proc       Set the name of an APM Tcl procedure callback for a certain package version. 
apm_simple_package_install       Simple basic package install function. 
apm_subdirs       Returns a list of subdirectories of path (including path itself) 
apm_supported_callback_types       Gets the list of package callback types that are supported by the system. 
apm_tag_value       Parses the XML element and returns the associated property name if it exists. 
apm_unregister_disinherited_params       Remove parameters for package_key that have been disinherited (i.e., the dependency that caused them to be inherited have been removed). 
apm_unused_callback_types       Get a list enumerating the supported callback types that are not used by the given package version. 
apm_upgrade_logic       Logic to help upgrade a package. 
apm_upgrade_logic_compare       Compare the from-versions in two of apm_upgrade_logic's array entries on the form 'from_version_name,to_version_name'. 
apm_version_disable       Disables a version of a package. 
apm_version_enable       Enables a version of a package (disabling any other version of the package). 
apm_version_get       Gets information about a package version. 
apm_version_id_from_package_key       Return the id of the (per default enabled) version of the given package_key. 
apm_version_info       Sets a set of common package information in the caller's environment. 
apm_version_load_status       If a version needs to be reloaded (i.e., a <code>-procs.tcl</code> has changed or been added since the version was loaded), returns "needs_reload". 
apm_version_loaded_p       Returns 1 if a version of a package has been loaded and initialized, or 0 otherwise. 
apm_version_names_compare       Compare two version names for which is earlier than the other. 
apm_version_sortable       Return a sortable version of the version name. 
apm_version_update       Update a version in the system to new information. 
apm_version_upgrade       Upgrade a package to a locally maintained later version. 
apm_watch_all_files       Watch all Tcl procs and xql query files in the given package 
apm_workspace_dir       Return the path to the apm-workspace, creating the directory if necessary. 
apm_workspace_install_dir       Return the path to the installation directory of the apm-workspace, creating the directory if necessary. 
application_data_link::delete_from_list       Delete references 
application_data_link::delete_links       Delete application data links for all objects linking to the given object_id. 
application_data_link::exist_link       Check for the existence of a link from an object_id to a target_object_id, with optional relation_tag. 
application_data_link::get       Retrieves a list of object_ids for all objects linked to the given object_id, tagged with the optional relation_tag. 
application_data_link::get_linked       Placeholder for contacts to work on 5.1 
application_data_link::get_linked_content       Gets the content of the linked object. 
application_data_link::get_linked_content_not_cached       Gets the content of the linked object. 
application_data_link::get_linked_not_cached       Gets the ID for the object linked to from_object_id and matches the to_object_type. 
application_data_link::get_links_from       Get a list of objects that are linked from an object, possible using the relation_tag. 
application_data_link::get_links_to       Get a list of objects that are linked to an object, possible using the relation_tag. 
application_data_link::link_exists       Check if a link exists, only checks in the directon requested. 
application_data_link::new       Create a new data link between this_object_id and target_object_id. 
application_data_link::new_from       Create a new data link between this_object_id and target_object_id. 
application_data_link::new_to       Create a new data link between this_object_id and target_object_id. 
application_data_link::relation_tag_where_clause       Utility proc to return relation tag where clause fragment. 
application_data_link::scan_for_links       Search for object references within text Supports /o/ /file/ /image/ object URL formats 
application_data_link::update_links_from       Update the references to this object in the database, optionally update links using the given relation_tag. 
application_link::delete_links       Delete application links for all packages linking to the given package_id. 
application_link::get       Retrieves a list of package_ids for all applications linked to the given package_id. 
application_link::get_linked       Placeholder for contacts to work on 5.1 
application_link::new       Create a new link between this_package_id and target_package_id. 
build_mime_message       Composes multipart/alternative email containing plain text and html versions of the message, parses out the headers we need, constructs an array and returns it to the caller. 
callback::get_object_type_impl       Finds the most type specific implementation of <code>callback</code>. 
callback::impl_exists       Returns whether the specified implementation exists. 
callback::navigation::package_admin::contract       <p>Returns the list of available admin actions for the passed in user on the passed in package_id.</p> <pre> { {LINK url_stub text title_text long_text} {SECTION title long_text} } </pre> <p>Where LINK and SECTION are the literal strings.</p> <p>For LINK the url and text are required, text and title should be plain text but long_text should be html (and renderers should present it noquote).</p> <p>For SECTION both title and long_text can be blank which for the rendering agent would imply a section break with something like blank space or an &lt;hr&gt; tag. 
cc_lookup_email_user       Return the user_id of a user given the email. 
cc_name_to_group       Returns the group ID for a particular name, or an empty string if none exists. 
check_for_form_variable_naughtiness       stuff to process the data that comes back from the users if the form looked like <input type=text name=yow> and <input type=text name=bar> then after you run this function you'll have Tcl vars $foo and $bar set to whatever the user typed in the form this uses the initially nauseating but ultimately delicious Tcl system function "uplevel" that lets a subroutine bash the environment and local vars of its caller. 
country_widget       Returns a country selection box. 
db_0or1row       Usage: <blockquote> db_0or1row <i>statement-name sql</i> [ -bind <i>bind_set_id</i> | -bind <i>bind_value_list</i> ] [ -column_array <i>array_name</i> | -column_set <i>set_name</i> ] </blockquote> <p>Performs the SQL query sql. 
db_1row       Usage: <blockquote> db_1row <i>statement-name sql</i> [ -bind <i>bind_set_id</i> | -bind <i>bind_value_list</i> ] [ -column_array <i>array_name</i> | -column_set <i>set_name</i> ] </blockquote> <p>Performs the SQL query sql. 
db_abort_transaction       Aborts all levels of a transaction. 
db_bind_var_substitution       This proc emulates the bind variable substitution in the postgresql driver. 
db_blob_get       <strong>PostgreSQL only.</strong> 
db_boolean       Converts a Tcl boolean (1/0) into a SQL boolean (t/f) 
db_dml       Do a DML statement. 
db_driverkey       Normally, a dbn is passed to this proc. 
db_exec       A helper procedure to execute a SQL statement, potentially binding depending on the value of the $bind variable in the calling environment (if set). 
db_exec_lob       A helper procedure to execute a SQL statement, potentially binding depending on the value of the $bind variable in the calling environment (if set). 
db_exec_lob_oracle       A helper procedure to execute a SQL statement, potentially binding depending on the value of the $bind variable in the calling environment (if set). 
db_exec_lob_postgresql       A helper procedure to execute a SQL statement, potentially binding depending on the value of the $bind variable in the calling environment (if set). 
db_exec_plpgsql       <strong>PostgreSQL only.</strong> <p> A helper procedure to execute a SQL statement, potentially binding depending on the value of the $bind variable in the calling environment (if set). 
db_exec_plsql       <strong>Oracle:</strong> Executes a PL/SQL statement, and returns the variable of bind variable <code>:1</code>. 
db_flush_cache       Flush the given cache of entries with keys that match the given pattern. 
db_foreach       Usage: <blockquote> db_foreach <em><i>statement-name sql</i></em> [ -bind <em><i>bind_set_id</i></em> | -bind <em><i>bind_value_list</i></em> ] [ -column_array <em><i>array_name</i></em> | -column_set <em><i>set_name</i></em> ] <em><i>code_block</i></em> [ if_no_rows <em><i>if_no_rows_block</i> ]</em> </blockquote> <p>Performs the SQL query <em><i><tt>sql</tt></i></em>, executing <em><i><tt>code_block</tt></i></em> once for each row with variables set to column values (or a set or array populated if <tt>-column_array</tt> or <tt>column_set</tt> is specified). 
db_get_database       <strong>PostgreSQL only.</strong> <p> 
db_get_dbhost       <strong>PostgreSQL only.</strong> <p> 
db_get_pgbin       <strong>PostgreSQL only.</strong> <p> 
db_get_port       <strong>PostgreSQL only.</strong> <p> 
db_get_quote_indices       Given a piece of SQL, return the indices of single quotes. 
db_get_sql_user       <strong>Oracle only.</strong> <p> 
db_getrow       A helper procedure to perform an ns_db getrow, invoking developer support routines as necessary. 
db_html_select_options       Generate html option tags for an html selection widget. 
db_html_select_value_options       Generate html option tags with values for an html selection widget. 
db_list       Usage: <b>db_list</b> <i>statement-name sql</i> [ <tt>-bind</tt> <i>bind_set_id</i> | <tt>-bind</tt> <i>bind_value_list</i> ] 
db_list_of_lists       Usage: <b>db_list_of_lists</b> <i>statement-name sql</i> [ <tt>-bind</tt> <i>bind_set_id</i> | <tt>-bind</tt> <i>bind_value_list</i> ] 
db_list_of_ns_sets       Usage: <b>db_list_of_ns_sets</b> <i>statement-name sql</i> [ <tt>-bind</tt> <i>bind_set_id</i> | <tt>-bind</tt> <i>bind_value_list</i> ] 
db_load_sql_data       Loads a CSV formatted file into a table using PostgreSQL's COPY command or Oracle's SQL*Loader utility. 
db_multirow_group_last_row_p       Used inside the code_block to db_multirow to ask whether this row is the last row before the value of 'column' changes, or the last row of the result set. 
db_nextval       Example: <pre> set new_object_id [db_nextval acs_object_id_seq] </pre> 
db_nullify_empty_string       A convenience function that returns [db_null] if $string is the empty string. 
db_quote       Quotes a string value to be placed in a SQL statement. 
db_release_unused_handles       Releases any database handles that are presently unused. 
db_source_sql_file       Sources a SQL file into Oracle (SQL*Plus format file) or PostgreSQL (psql format file). 
db_source_sqlj_file       <strong>Oracle only.</strong> <p> Sources a SQLJ file using loadjava. 
db_string       Usage: <b>db_string</b> <i>statement-name sql</i> [ <tt>-default</tt> <i>default</i> ] [ <tt>-bind</tt> <i>bind_set_id</i> | <tt>-bind</tt> <i>bind_value_list</i> ] 
db_transaction       Usage: <b><i>db_transaction</i></b> <i>transaction_code</i> [ on_error { <i>error_code_block</i> } ] Executes transaction_code with transactional semantics. 
db_with_handle       Places a usable database handle in <i>db</i> and executes <i>code_block</i>. 
doc_adp_abort       Aborts evaluation of an ADP block. 
doc_adp_append_code       Helper procedure to append a line of code to the Tcl translation of an ADP. 
doc_adp_compile       Compiles a block of ADP code. 
doc_adp_execute       Evaluates an ADP block returned by <code>doc_adp_compile</code>. 
doc_adp_execute_file       Compiles and executes an ADP file. 
doc_adp_flush_text_buffer       Helper procedure to generate a <code>doc_adp_puts</code> call for any text remaining in the text buffer. 
doc_adp_puts       Puts a string in the current ADP context. 
doc_adp_quote_tcl_string       Turns literal text into a string which can be used as a Tcl argument. 
doc_body_append       Appends $str to the body property. 
doc_body_flush       Flushes the body (if possible). 
doc_eval_in_separate_frame       Evaluates <code>__code</code> in a separate stack frame. 
doc_exists_p       Returns 1 if there is a document in the global environment. 
doc_find_template       Finds a master.adp file which can be used as a master template, looking in the directory containing $filename and working our way down the directory tree. 
doc_get_property       Returns a property (or an empty string if no such property exists). 
doc_init       Initializes the global environment for document handling. 
doc_parse_property_string       Parses a properties declaration of the form that programmers specify. 
doc_property_exists_p       Return 1 if a property exists, or 0 if not. 
doc_register_adptag       Registers a handler for an ADP tag. 
doc_return       A wrapper to be used instead of ns_return. 
doc_serve_document       Serves the document currently in the environment. 
doc_serve_template       Serves the document in the environment using a particular template. 
doc_set_mime_type       Sets the mime-type property. 
doc_set_page_documentation_mode       Set a flag in the environment determining whether the thread is in "gathering documentation" or "executing the page" mode. 
doc_set_property       Sets a document property. 
exec       This is the wrapped version of exec 
exists_and_equal       Returns 1 if the variable name exists in the caller's envirnoment and is equal to the given value. 
exists_and_not_null       Returns 1 if the variable name exists in the caller's environment and is not the empty string. 
exists_or_null       Returns the contents of the variable if it exists, otherwise returns empty string 
export_entire_form       Exports everything in ns_getform to the ns_set. 
export_entire_form_as_url_vars       export_vars is now the preferred interface. 
export_form_vars       Exports a number of variables as hidden input fields in a form. 
export_ns_set_vars       Returns all the params in an ns_set with the exception of those in exclusion_list. 
export_url_vars       export_vars is now the preferred interface. 
export_vars       Exports variables either in URL or hidden form variable format. 
export_vars_sign       Call ad_sign parameterized via max_age and secret specified in urlencoding 
f::abs       returns the absolute value of x 
f::all       Takes a predicate pred and a list xs and returns 1 if all elements of xs fulfill pred. 
f::and       reduces a list of boolean values using && 
f::any       takes a predicate pred and a list xs and returns 1 if there exists an element of xs that fulfills pred 
f::bind       binds args to the first k arguments of the n-ary function f and returns the resulting (n-k)-ary function 
f::bind2nd       binds arg to the 2nd argument of f 
f::choose       Here's how to compute 'n choose k' like a real nerd. 
f::compose       function composition: evaluates f (g x) 
f::cons       inserts x at the front of the list xs 
f::const       Returns a unary function that ignores its argument and constantly returns k. 
f::copy       returns list of n copies of x 
f::curry       Converts a function that takes one tuple as an argument into a function that takes a series of single arguments. 
f::cycle       returns concatenated list of n copies of xs 
f::drop       returns the remaining elements of xs (without the first n) 
f::drop_while       returns the remaining portion of the list 
f::elem_p       checks if x is contained in s 
f::enum_from_to       generates {lo lo+1 ... 
f::even_p       returns 1 if n is even and 0 otherwise 
f::factorial       compute n! 
f::filter       Returns all elements of the list <em>xs</em> that fulfill the predicate <em>pred</em>. 
f::flip       takes a binary function f and two arguments a and b and returns f b a (arguments are flipped) 
f::fold       Takes a binary function f, a start element e and a list {x1 x2 ...} and returns f (...(f (f (f e x1) x2) x3)...). 
f::fold1       Takes a binary function f and a list {x1 x2 x3 ...} and returns (...(f (f (f x1 x2) x3) x4)...). 
f::fst       returns the first element of a list 
f::gcd       returns the greatest common divisor of x and y 
f::head       first element of a list 
f::id       Identity function: just returns its argument. 
f::init       all elements of a list but the last 
f::iterate       Returns {x (f x) (f (f x) (f (f (f x))) ...}. 
f::lambda       The lambda function - one of the foundations of functional programming - defines an anonymous proc and returns it. 
f::last       last element of a list 
f::lcm       returns the least common multiple of x and y 
f::lmax       returns the maximum element of the list xs 
f::lmin       returns the minimum element of the list xs 
f::map       Takes a function f and a list { x1 x2 x3 ...}, applies the function on each element of the list and returns the result, i.e. 
f::max       returns the maximum of x and y 
f::min       returns the minimum of x and y 
f::mul       multiplies n with a fraction (given as a tuple) 
f::not_elem_p       checks if x is not contained in s 
f::nub       removes duplicates from xs 
f::null_p       checks if xs is the empty list 
f::odd_p       returns 1 if n is odd and 0 otherwise 
f::or       reduces a list of boolean values using || 
f::pascal       prints Pascal's triangle 
f::product       returns the product of the elements of the list xs 
f::products       returns the list of partial products of the list xs 
f::qsort       sorts a sequence with the quicksort algorithm 
f::reverse       reverses the list xs 
f::scanl       takes a binary function f, a start element e and a list {x1 x2 ...} and returns {e (f e x1) (f (f e x1) x2) ...} 
f::scanl1       takes a binary function f and a list {x1 x2 x3 ...} and returns {x1 (f x1 x2) (f (f x1 x2) x3) ...} 
f::snd       returns the second element of a list 
f::span       splits a list using take_while and drop_while 
f::split_at       splits a list using take and drop 
f::sum       returns the sum of the elements of the list xs 
f::sums       returns the list of partial sums of the list xs 
f::tail       all elements of a list but the first 
f::take       returns the first n elements of xs 
f::take_until       returns the list of elements up to and including the first element of xs which satisfies p 
f::take_while       returns the longest initial segment of xs whose elements satisfy p 
f::thd       returns the third element of a list 
f::transpose       tranposes a matrix (a list of lists) 
f::uncurry       Converts a function that takes a series of single arguments into a function that takes one tuple as an argument. 
f::unzip       unzip takes a list of tuples {x1 y1} {x2 y2} {x3 y3} ... 
f::zip       takes two lists {x1 x2 x3 ...} and {y1 y2 y3 ...} and returns a list of tuples {x1 y1} {x2 y2} {x3 y3} ... 
f::zip_with       takes two lists {x1 x2 x3 ...} and {y1 y2 y3 ...} and returns the list {(f x1 y1) (f x2 y2) (f x3 y3) ...} 
future_years_list       Returns a list containing the next num_year years in the future. 
http_auth::authorize       Check HTTP authentication for an OpenACS user account and call the registered procedure to handle the URL to check permissions 
http_auth::register_filter       Setup HTTP authentication for a URL pattern 
http_auth::set_user_id       Get the user_id from HTTP authentication headers. 
http_auth::site_node_authorize       Procedure to take HTTP authenticated user_id and check site_node permissions. 
image::get_info       Get the width and height of an image file. 
install::xml::action::add-subsite-admin       Add a member to a subsite's admins group. 
install::xml::action::add-subsite-member       Add a member to a subsites application group. 
install::xml::action::application-link       Create an application link: <p>&lt;application-link from-package-id=&quot;<em>from-package-id</em>&quot; to-package-id=&quot;<em>to-package-id</em>&quot;/&gt;</p> 
install::xml::action::ats-page       Creates an ATS Page. 
install::xml::action::call-tcl-proc       Call an arbitrary Tcl library procedure. 
install::xml::action::create-package       Create a relation type. 
install::xml::action::create-user       Create a new user. 
install::xml::action::install       Installs a package including dependencies. 
install::xml::action::instantiate-object       Instantiate an object using package_instantiate_object. 
install::xml::action::location       Creates a url location object. 
install::xml::action::mount       Mounts a package on a specified node. 
install::xml::action::mount-existing       Mounts an existing package on a specified node. 
install::xml::action::register-parameter       Registers a package parameter. 
install::xml::action::relation-add       Create a relation. 
install::xml::action::relation-type       Create a relation type. 
install::xml::action::rename-instance       Change the instance name of an existing package (such as the main subsite). 
install::xml::action::set-id       set a name/id pair for use in other install xml things 
install::xml::action::set-join-policy       Set the join policy of a group. 
install::xml::action::set-parameter       Sets a package parameter. 
install::xml::action::set-parameter-default       Sets a package parameter default value <code>&lt;set-parameter-default name=&quot;<em>parameter</em>&quot; package-key=&quot;<em>package-key</em>&quot; value=&quot;val&quot;&gt;</code> 
install::xml::action::set-permission       Sets permissions on an object. 
install::xml::action::source       Source an install.xml file, sql file or Tcl script during execution of the current install.xml. 
install::xml::action::text       A documentation element which ignores its contents and does no processing. 
install::xml::action::unset-permission       Revokes a permissions on an object - has no effect if the permission is not granted directly (ie does not act as negative permissions). 
install::xml::action::wizard       Creates a wizard using the subtags for each step. 
install::xml::object_id::application-group       Returns an object_id for an application group or relational segment of a given package. 
install::xml::object_id::group       Returns an object_id for a group or relational segment. 
install::xml::object_id::object       Returns a literal object_id for an object. 
install::xml::object_id::package       Returns an object_id for a package specified in node. 
install::xml::util::get_id       Returns an id from the global ids variable if it exists and attempts to find an acs_magic_object if not. 
long_month_list       Returns list of months 
max       Returns the maximum of a list of numbers. 
membership_rel::approve       Approve a membership relation 
membership_rel::ban       Ban a membership relation 
membership_rel::change_state       Change the state of a membership relation 
membership_rel::delete       Delete a membership relation 
membership_rel::get       Return the user_id of a rel_id 
membership_rel::get_group_id       Return the group_id of a rel_id 
membership_rel::get_user_id       Return the user_id of a rel_id 
membership_rel::reject       Reject a membership relation 
membership_rel::unapprove       Unapprove a membership relation 
merge_form_with_query       Merges a form with a query string. 
min       Returns the minimum of a list of numbers. 
month_list       Returns list of month abbreviations 
ns_parseurl       Emulation of NaviServer's ns_parseurl 
oacs::user::get       Load up user information 
oacs_util::csv_foreach       reads a csv and executes code block for each row in the csv. 
oacs_util::process_objects_csv       This processes a CSV of objects, taking the csv and calling package_instantiate_object for each one. 
oacs_util::vars_to_ns_set       Does an ns_set put on each variable named in var_list 
parameter::get       Get the value of a package instance parameter. 
parameter::get_from_package_key       Gets an instance parameter for the package corresponding to package_key. 
parameter::get_global_value       Get the value of a global package parameter. 
parameter::set_default       Set the default for the package parameter to the provided value. 
parameter::set_from_package_key       sets an instance parameter for the package corresponding to package_key. 
parameter::set_global_value       Set a global package parameter. 
parameter::set_value       Set the value of a package instance parameter 
parse_incoming_email       Takes an incoming message and splits it into parts. 
party::approved_members       Get a list of approved members of the given party. 
party::get_by_email       Return the party_id of the party with the given email. 
party::update       Update information about a party. 
permission::cache_p       returns 0 or 1 depending if permission_p caching is enabled or disabled. 
permission::get_parties_with_permission       Return a list of lists of party_id and acs_object.title, having a given privilege on the given object 
permission::grant       grant privilege Y to party X on object Z 
permission::inherit_p       does this object inherit permissions 
permission::permission_p       does party X have privilege Y on object Z 
permission::permission_p_not_cached       does party X have privilege Y on object Z This function accepts "-no_cache" just to match the permission_p signature since we alias it to permission::permission_p when caching is disabled. 
permission::permission_thread_cache_flush       Flush thread cache 
permission::require_permission       require that party X have privilege Y on object Z 
permission::require_write_permission       If the user is not allowed to edit this object, returns a permission denied page. 
permission::revoke       revoke privilege Y from party X on object Z 
permission::set_inherit       set inherit to true 
permission::set_not_inherit       set inherit to false 
permission::toggle_inherit       toggle whether or not this object inherits permissions from it's parent 
permission::write_permission_p       Returns whether a user is allowed to edit an object. 
person::delete       delete a person 
person::get       get info for a person as a Tcl array in list form 
person::get_bio       Get the value of the user's bio(graphy) field. 
person::name       get the name of a person. 
person::name_flush       Flush the person::name cache. 
person::name_not_cached       get the name of a person 
person::new       create a new person 
person::person_p       is this party a person? Cached 
person::person_p_not_cached       is this party a person? Cached 
person::update       update the name of a person 
person::update_bio       Update the bio for a person. 
philg_quote_double_quotes       This proc does exactly the same as <a href="/api-doc/proc-view?proc=ad_quotehtml"><code>ad_quotehtml</code></a>. 
pkg_info_new       Returns a datastructure that maintains information about a package. 
populate_secret_tokens_cache       Randomly populates the secret_tokens cache. 
populate_secret_tokens_db       Populates the secret_tokens table. 
populate_secret_tokens_thread_cache       Copy secret_tokens cache to per-thread variables 
proc_doc       A synonym for <code>ad_proc</code> (to support legacy code). 
proxy::exec       Execute the statement in a proxy instead of normal exec 
random       Return a pseudo-random number between 0 and 1. 
randomInit       seed the random number generator. 
randomRange       Returns a pseudo-random number between 0 and range. 
remove_nulls_from_ns_set       Creates and returns a new ns_set without any null value fields 
request_denied_filter       Deny serving the request 
root_of_host       Maps a hostname to the corresponding sub-directory. 
root_of_host_noncached       Helper function for root_of_host, which performs the actual work. 
rp_concrete_file       Given a path in the filesystem, returns the file that would be served, trying all possible extensions. 
rp_file_can_be_public_p       Determines if -- absent application restrictions -- a file can be served to a client without violating simple security checks. 
rp_filter       This is the first filter that runs for non-resource URLs. 
rp_form_put       This proc adds a query variable to AOLserver's internal ns_getform form, so that it'll be picked up by ad_page_contract and other procs that look at the query variables or form supplied. 
rp_form_update       Identical to rp_form_put, but uses ns_set update instead. 
rp_getform       This proc is a simple wrapper around AOLserver's standard ns_getform proc, that will create the form if it doesn't exist, so that you can then add values to that form. 
rp_handle_adp_request       Handles a request for an .adp file. 
rp_handle_html_request       Handles a request for an HTML file. 
rp_handle_tcl_request       Handles a request for a .tcl file. 
rp_handler       The request handler, which responds to absolutely every HTTP request made to the server. 
rp_html_directory_listing       Generates an HTML-formatted listing of a directory. 
rp_internal_redirect       Tell the request processor to return some other page. 
rp_invoke_filter       Invokes the filter described in $argv, writing an error message to the browser if it fails (unless <i>kind</i> is <code>trace</code>). 
rp_invoke_proc       Invokes a registered procedure. 
rp_path_prefixes       Returns all the prefixes of a path ordered from most to least specific. 
rp_register_extension_handler       Registers a proc used to handle requests for files with a particular extension. 
rp_registered_proc_info_compare       A comparison predicate for registered procedures, returning -1, 0, or 1 depending the relative sorted order of $info1 and $info2 in the procedure list. 
rp_report_error       Writes an error to the connection. 
rp_resources_filter       This filter runs on all URLs of the form /resources/*. 
rp_serve_abstract_file       Serves up a file given the abstract path. 
rp_serve_concrete_file       Serves a file. 
rp_serve_resource_file       Serve the resource file if kernel parameter settings allow this. 
safe_eval       Version of eval that checks its arguments for brackets that may be used to execute unsafe code. 
sec_allocate_session       Returns a new session id 
sec_change_user_auth_token       Change the user's auth_token, which invalidates all existing login cookies, ie. 
sec_generate_secure_token_cookie       Sets the ad_secure_token cookie. 
sec_generate_session_id_cookie       Sets the ad_session_id cookie based on global variables. 
sec_get_random_cached_token_id       Randomly returns a token_id from the token cache 
sec_get_token       Returns the token corresponding to the token_id. 
sec_get_user_auth_token       Get the user's auth token for verifying login cookies. 
sec_handler       Reads the security cookies, setting fields in ad_conn accordingly. 
sec_handler_reset       Provide dummy values for global variables provided by the sec_handler, in case, the sec_handler is not called or runs into an exception. 
sec_login_handler       Reads the login cookie, setting fields in ad_conn accordingly. 
sec_login_read_cookie       Fetches values either from ad_user_login_secure or ad_user_login, depending whether we are in a secured connection or not. 
sec_lookup_property       Used as a helper procedure for util_memoize to look up a particular property from the database. 
sec_random_token       Generates a random token. 
sec_session_lifetime       Returns the maximum lifetime, in seconds, for sessions. 
sec_setup_session       Set up the session, generating a new one if necessary, and generates the cookies necessary for the session 
sec_update_user_session_info       Update the session info in the users table. 
security::RestrictLoginToSSLP       Return 1 if login pages and other pages taking user password should be restricted to a secure (HTTPS) connection and 0 otherwise. 
security::csp::nonce       Generate a Nonce token and return it. 
security::csp::render       This is the CSP generator. 
security::csp::require       Add a single value directive to the CSP rule-set. 
security::csrf::fail       This function is called, when a csrf validation fails. 
security::csrf::new       Create a security token to protect against CSRF (Cross-Site Request Forgery). 
security::csrf::session_id       Return an ID for the current session for CSRF protection 
security::csrf::token       Generate a CSRF token and return it 
security::csrf::validate       Validate a CSRF token and call security::csrf::fail the request if invalid. 
security::driver       Return the secure driver if available 
security::get_https_port       Return the HTTPS port specified in the AOLserver config file. 
security::get_insecure_location       Return the current location in insecure mode (http). 
security::get_insecure_qualified_url       Given a relative or qualified url, return the fully qualified HTTP version. 
security::get_register_subsite       Returns a URL pointing to the subsite, on which the register/unregister should be performed. 
security::get_secure_location       Return the current location in secure (https) mode. 
security::get_secure_qualified_url       Given a relative or qualified url, return the fully qualified HTTPS version. 
security::get_uri_part       Get the URI following the location of the given URL. 
security::https_available_p       Return 1 if server is configured to support HTTPS and 0 otherwise. 
security::locations       This function returns the configured locations and the current location and the vhost locations, potentially in HTTP or in HTTPs variants. 
security::redirect_to_insecure       Redirect to the given URL and enter insecure (HTTP) mode. 
security::redirect_to_secure       Redirect to the given URL and enter secure (HTTPS) mode. 
security::replace_host_in_url       Given a fully qualified url, replace the hostname in this URL with the given hostname. 
security::require_secure_conn       Redirect back to the current page in secure mode (HTTPS) if we are not already in secure mode. 
security::secure_conn_p       Returns true if the connection [ad_conn] is secure (HTTPS), or false otherwise. 
server_cluster_all_hosts       Returns a list of all hosts, possibly including this host, in the server cluster. 
server_cluster_authorized_p       Can a request coming from $ip be a valid cluster request, i.e., matches some value in ClusterIPMask or is 
server_cluster_enabled_p       Returns true if clustering is enabled. 
server_cluster_httpget_from_peers       Schedules an HTTP GET request to be issued immediately to all peer hosts (using ad_schedule_proc -once t -thread f -debug t 0). 
server_cluster_logging_p       Returns true if we're logging cluster requests. 
server_cluster_peer_hosts       Returns a list of all hosts, excluding this host, in the server cluster. 
set_append!       <p>Adds the element v to the set named s-name in the calling environment, if it isn't already there.</p> 
set_difference       <p>Returns the difference of sets $u and $v. 
set_difference!       <p>Computes the difference of the set stored in the variable named $u-name in the calling environment and the set v, sets the variable named $u-name in the calling environment to that difference, and also returns that difference.</p> 
set_encoding       <p>The ad_http* and util_http* machineries depend on the AOLserver/NaviServer socket I/O layer provided by [ns_sockopen]. 
set_intersection       <p>Returns the intersection of sets $u and $v.</p> 
set_intersection!       <p>Computes the intersection of the set stored in the variable named $u-name in the calling environment and the set v, sets the variable named $u-name in the calling environment to that intersection, and also returns that intersection.</p> 
set_member?       <p>Tests whether or not $v is a member of set $s.</p> 
set_union       <p>Returns the union of sets $u and $v.</p> 
set_union!       <p>Computes the union of the set stored in the variable named $u-name in the calling environment and the set v, sets the variable named $u-name in the calling environment to that union, and also returns that union.</p> 
set_variables_after_query       to be removed. 
set_variables_after_query_not_selection       to be removed. 
set_variables_after_subquery       to be removed. 
site_map_unmount_application       Unmounts the specified node. 
site_node::closest_ancestor_package       Starting with the node at with given id, or at given url, climb up the site map and return the id of the first not-null mounted object. 
site_node::conn_url       Use this in place of ns_conn url when referencing host_nodes. 
site_node::delete       delete the site node 
site_node::exists_p       Returns 1 if a site node exists at the given url and 0 otherwise. 
site_node::get       Returns an array representing the site node that matches the given url. 
site_node::get_all_from_object_id       Return a list of site node info associated with the given object_id. 
site_node::get_ancestors       return the ancestors of this node 
site_node::get_children       This proc gives answers to questions such as: What are all the package_id's (or any of the other available elements) for all the instances of package_key or package_type mounted under node_id xxx? 
site_node::get_element       returns an element from the array representing the site node that matches the given url either url or node_id is required, if both are passed url is ignored The array elements are: package_id, package_key, object_type, directory_p, instance_name, pattern_p, parent_id, node_id, object_id, url. 
site_node::get_from_node_id       returns an array representing the site node for the given node_id 
site_node::get_from_object_id       return the site node associated with the given object_id WARNING: Returns only the first site node associated with this object. 
site_node::get_from_url       Returns an array representing the site node that matches the given url.<p> A trailing '/' will be appended to $url if required and not present.<p> If the '-exact' switch is not present and $url is not found, returns the first match found by successively removing the trailing $url path component.<p> 
site_node::get_node_id       return the node_id for this url 
site_node::get_node_id_from_object_id       return the site node id associated with the given object_id 
site_node::get_object_id       return the object_id for this node 
site_node::get_package_url       Get the URL of any mounted instance of a package with the given package_key. 
site_node::get_parent       return the parent node of this node 
site_node::get_parent_id       return the parent_id of this node 
site_node::get_url       return the url of this node_id 
site_node::get_url_from_object_id       returns a list of urls for site_nodes that have the given object mounted or the empty list if there are none. 
site_node::init_cache       Initialize the site node cache; actually, this means flushing the cache in case we have root site node. 
site_node::instantiate_and_mount       Instantiate and mount a package of given type. 
site_node::mount       mount object at site node 
site_node::new       create a new site node 
site_node::rename       Rename the site node. 
site_node::unmount       unmount an object from the site node 
site_node::update_cache       Brings the in memory copy of the site nodes hierarchy in sync with the database version. 
site_node::verify_folder_name       Verifies that the given folder name is valid for a folder under the given parent_node_id. 
site_node_apm_integration::child_package_exists_p       Returns 1 if there exists a child package with the given package_key, or 0 if not. 
site_node_apm_integration::delete_site_nodes_and_package       First deletes ALL the site nodes this instance is mapped to, then deletes the instance. 
site_node_apm_integration::get_child_package_id       get the package_id of package_key that is mounted directly under package_id. 
site_node_closest_ancestor_package       <p> Use site_node::closest_ancestor_package. 
site_node_closest_ancestor_package_url       Returns the url stub of the nearest application of the specified type. 
site_node_delete_package_instance       Wrapper for apm_package_instance_delete 
site_node_id       Returns the node_id of a site node. 
site_node_object_map::del       unmap object object_id from site_node node_id in table site_node_object_mappings 
site_node_object_map::new       map object object_id to site_node node_id in table site_node_object_mappings 
site_nodes_sync       Brings the in memory copy of the url hierarchy in sync with the database version. 
string_truncate       Truncates a string to len characters (defaults to the parameter TruncateDescriptionLength), adding the string provided in the ellipsis parameter if the string was truncated. 
tcltrace::before       Simple trace proc for arbitraty commands. 
tcltrace::before-ns_log       Execute this proc before ns_log is called 
tcltrace::before-ns_return       Execute this proc before ns_return is called. 
tdom::get_attribute_value       Returns the value of the attribute specified 
tdom::get_node_object       Returns a tDOM object to the args given If the tDOM object doesn't exist or the value is null, return null <pre> Example ----------------------------------------------------- XML: &lt;experiment&gt; &lt;experimenter&gt; &lt;first-name&gt;Annabelle Lee&lt;/first-name&gt; &lt;last-name&gt;Poe&lt;/last-name&gt; &lt;/experimenter&gt; &lt;/experiment&gt; Params: parent_node_object=$tdom_experiment_object args=experimenter experimenter_two Returns: TDOM object for experimenter node End Example ------------------------------------------------- </pre> 
tdom::get_node_xml       Returns xml of the data pointed to by the node object If tag doesn't exist or the value is null, returns null 
tdom::get_parent_node_object       Returns a tDOM object for the parent node of the child node object passed in 
tdom::get_tag_value       Returns the tag value of the tag_name passed in If tag doesn't exist or the value is null, returns null <pre> Example ----------------------------------------------------- XML: &lt;experiment-id&gt;1222&lt;/experiment-id&gt; Params: node_object=$document args=experiment-id EXPERIMENT-ID Returns: 1222 End Example ------------------------------------------------- </pre> 
template::csrf::validate       validate a csrf token 
text_templates::create_html_content       Create the filled out template as html 
text_templates::create_pdf_content       Create the pdf content from a template 
text_templates::create_pdf_from_html       The HTML Content is transformed into a PDF file 
text_templates::store_final_document       The document is stored in the given folder. 
us_state_widget       Returns a state selection box. 
util::age_pretty       Formats past time intervals in one of three different modes depending on age. 
util::array_list_spec_pretty       Pretty-format an array-list spec with proper indentation. 
util::backup_file       Backs up (move) the file or directory with given path to a file/directory with a backup suffix. 
util::catch_exec       Catch a call to Tcl exec. 
util::configured_location       Return the configured location as configured for the current network driver. 
util::cookietime       Return an RFC2109 compliant string for use in "Expires". 
util::diff       Perform a UNIX diff on 'old' and 'new', and return a HTML fragment of the changes. 
util::external_url_p       check if this URL is external to the current host or a valid alternative valid alternatives include HTTPS or HTTP protocol change HTTP or HTTPS port number added or removed from current host name or another hostname that the host responds to (from host_node_map) 
util::find_all_files       Returns a list of lists with full paths and filename to all files under $path in the directory tree (descending the tree to a depth of up to $max_depth). 
util::get_http_status       Returns the HTTP status code, e.g., 200 for a normal response or 500 for an error, of a URL. 
util::get_node_attributes       Extract attributes names and values from a tDOM node 
util::html::get_form       Extract form with the specified id from a structure as that coming from <code>util::html::get_forms</code> proc. 
util::html::get_form_vars       Read vars from a form structure as that coming out from <code>util::html::get_form</code>. 
util::html::get_forms       Extract every form's specification from HTML supplied 
util::html_diff       Perform a UNIX diff on 'old' and 'new', and return a HTML fragment of the changes. 
util::http::apis       Obtains implemented apis for http communication 
util::http::apis_not_cached       Obtains implemented apis for http communication 
util::http::append_to_payload       Appends content to a POST payload making sure this doesn't exceed given max size. 
util::http::available       Check, if for the given url and preferences the current installation supports util::http::* . 
util::http::basic_auth       Builds BASIC authentication header for a HTTP request 
util::http::cookie_auth       This proc implements the generic pattern for cookie-based authentication: user logs in a webpage providing username, password and optionally other information in a form, page replies generating one or more authentication cookies by which user will be recognized on subsequent interaction with the server.<br> <br> By this method it is possible, for example, to authenticate on a remote OpenACS installation providing <code>email</code> and <code>password</code> as credentials to the /register/ page, and using <code>ad_session_id</code> and <code>ad_user_login</code> as <code>auth_cookies</code>.<br> <br> This proc takes care to submit to the login form also every other formfield on the login page. 
util::http::curl::request       Issue an HTTP request either GET or POST to the url specified. 
util::http::curl::timeout       Convert the provided timeout value to a format suitable for curl. 
util::http::curl::version       Gets Curl's version number. 
util::http::curl::version_not_cached       Gets Curl's version number. 
util::http::follow_redirects       Follow redirects. 
util::http::get       Issue an http GET request to <code>url</code>. 
util::http::get_channel_settings       Helper proc to get encoding based on content_type (From xotcl/tcl/http-client-procs) 
util::http::native::request       Issue an HTTP request either GET or POST to the url specified. 
util::http::native::timeout       Convert the provided value to a ns_time format used by NaviServer 
util::http::native_https_api       Obtains implemented apis for http communication 
util::http::native_https_api_not_cached       Obtains the right https native API 
util::http::post       Implement client-side HTTP POST request. 
util::http::request       Issue an HTTP request either GET or POST to the url specified. 
util::http::set_cookies       Extracts cookies from response headers. 
util::interval_pretty       Takes a number of seconds and returns a pretty interval of the form "3h 49m 13s" 
util::join_location       Join hostname and port and use IP-literal notation when necessary. 
util::json::array2json       Generate a JSON string for a two-element Tcl JSON array list. 
util::json::array::create       Construct a JSON object with the given values list 
util::json::array::get_values       Verify that the given Tcl structure is an object, and return its values list. 
util::json::gen       Top-level procedure to generate a JSON string from its Tcl list representation. 
util::json::gen_inner       Generate a JSON string for a sub-list of a Tcl JSON "object". 
util::json::indent       Indent a JSON string to make it more easily digestable by the human mind. 
util::json::json_value_to_sql_value       While mysql happily treats false as 0, real SQL does not. 
util::json::object2json       Generate a JSON string for a two-element Tcl JSON object list. 
util::json::object::create       Construct a JSON object with the given values list 
util::json::object::get_value       Returns the value of an attribute in an object. 
util::json::object::get_values       Verify that the given Tcl structure is an object, and return its values list. 
util::json::object::set_by_path       This is an odd utility that mimics some odd code in the Ilias SCORM module, included here because it might be of more general use. 
util::json::object::set_value       Set an attribute value in an object structure. 
util::json::parse       Parse JSON text into a Tcl list. 
util::json::parseArray       Parse an array 
util::json::parseArrayElements       Parse the elements of an array 
util::json::parseObject       Parse an object 
util::json::parseObjectMember       Parse an object member 
util::json::parseObjectMembers       Parse the members of an object 
util::json::parseValue       Parse a value 
util::json::sql_values_to_json_values       Converts empty values to "null", consistent with how oracle, mysql, and the nspostgres bindvar hack treats them. 
util::json::type_of       Return the type of the item, "object" or "array" 
util::json::unexpected       Throw an exception signaling an unexpected token 
util::json::unquoteUnescapeString       Get rid of the quotes surrounding a string token and substitute the real characters for escape sequences within it 
util::json::validate       Validate JSON text 
util::link_responding_p       Returns 1 if the URL is responding (generally we think that anything other than 404 (not found) is okay). 
util::name_to_path       Transforms a pretty name to a reasonable path name. 
util::random_list_element       Returns a random element from the list. 
util::randomize_list       Returns a random permutation of the list. 
util::request_info       Produce a string containing the detailed request information. 
util::roll_server_log       Invoke the AOLserver ns_logroll command with some bookend log records. 
util::split_host       Split host potentially into a host name and a port 
util::split_location       Split the provided location into "proto", "hostname" and "port". 
util::string_check_urlsafe       This proc accepts a string and verifies if it is url safe. 
util::string_length_compare       String length comparison function for use with lsort's -command switch. 
util::subst_safe       Make string safe for subst'ing. 
util::trim_leading_zeros       Returns a string w/ leading zeros trimmed. 
util::which       Use environment variable PATH to search for the specified executable program. 
util::word_diff       Does a word (or character) diff on two lines of text and indicates text that has been deleted/changed or added by enclosing it in start/end_old/new. 
util::zip       Create a zip file. 
util_AnsiDatetoPrettyDate       Converts 1998-09-05 to September 5, 1998 
util_PrettyTclBoolean       Turns a 1 (or anything else that makes a Tcl IF happy) into Yes; anything else into No 
util_ReturnMetaRefresh       Ugly workaround to deal with IE5.0 bug handling multipart/form-data using Meta Refresh page instead of a redirect. 
util_WriteWithExtraOutputHeaders       Takes in a string of headers to write to an HTTP connection, terminated by a newline. 
util_absolute_path_p       Check whether the path begins with a slash 
util_background_exec       Executes a chunk of code in the background. 
util_background_get_result       Gets the result of a completed background thread execution. 
util_background_reset       Gets the result of a completed background thread execution. 
util_close_html_tags       Given an HTML fragment, this procedure will close any tags that have been left open. 
util_commify_number       Returns the number with commas inserted where appropriate. 
util_complete_url_p       Determine whether string is a complete URL, i.e. 
util_convert_line_breaks_to_html       Convert line breaks to <p> and <br> tags, respectively. 
util_convert_plaintext_to_html       Almost everything this proc does can be accomplished with the <a href="/api-doc/proc-view?proc=ad_text_to_html"><code>ad_text_to_html</code></a>. 
util_current_directory       Returns the directory of the current URL. 
util_current_location       Like [ad_conn location] - Returns the location string of the current request in the form protocol://hostname?:port? but it looks at the "Host:" header field, that is, takes into account the host name the client used although it may be different from the host name from the server configuration file. 
util_current_location_node_id       returns node_id of util_current_location. 
util_driver_info       Returns the protocol and port for the specified (or current) driver. 
util_email_unique_p       Returns 1 if the email passed in does not yet exist in the system. 
util_email_valid_p       Returns 1 if an email address has more or less the correct form. 
util_escape_quotes_for_csv       Returns its argument with double quote replaced by backslash double quote 
util_expand_entities       Replaces all occurrences of common HTML entities with their plaintext equivalents in a way that's appropriate for pretty-printing. 
util_expand_entities_ie_style       Replaces all occurrences of &amp;#111; and &amp;x0f; type HTML character entities to their ASCII equivalents. 
util_get_current_url       Returns a URL for re-issuing the current request, with query variables. 
util_get_http_status       Returns the HTTP status code, e.g., 200 for a normal response or 500 for an error, of a URL. 
util_get_subset_missing       Returns the elements in list1 that are not in list2. 
util_get_user_messages       Gets and clears the message to be displayed on the next page load. 
util_http_file_upload       Implement client-side HTTP file uploads as multipart/form-data as per RFC 1867. 
util_httpget       util_httpget simply calls util::http::get which also returns status and last_modfied 
util_httpopen       Like ns_httpopen but works for POST as well; called by util_httppost 
util_httppost       Returns the result of POSTing to another Web server or -1 if there is an error or timeout. 
util_link_responding_p       Returns 1 if the URL is responding (generally we think that anything other than 404 (not found) is okay). 
util_list_of_ns_sets_to_list_of_lists       Transform a list of ns_sets (most likely produced by db_list_of_ns_sets) into a list of lists that match the array set format in the sublists (key value key value ...) 
util_list_to_ns_set       Convert a list in the form "key value key value ..." into a ns_set. 
util_maybe_convert_to_html       This proc is deprecated. 
util_memoize       If <i>script</i> has been executed before, return the value it returned last time, unless it was more than <i>max_age</i> seconds ago. 
util_memoize_cached_p       Check whether <i>script</i>'s value has been cached, and whether it was cached no more than <i>max_age</i> seconds ago. 
util_memoize_flush_local       Forget any cached value for <i>script</i>. 
util_memoize_flush_pattern       Loop through all cached scripts, flushing all that match the pattern that was passed in. 
util_memoize_flush_regexp       Loop through all cached scripts, flushing all that match the regular expression that was passed in. 
util_memoize_initialized_p       Return 1 if the util_memoize cache has been initialized and is ready to be used and 0 otherwise. 
util_memoize_seed       Pretend <code>util_memoize</code> was called with <i>script</i> and it returned <i>value</i>. 
util_ns_set_to_list       Convert an ns_set into a list suitable for passing in to the "array set" command (key value key value ...). 
util_quote_double_quotes       This proc does exactly the same as <a href="/api-doc/proc-view?proc=ad_quotehtml"><code>ad_quotehtml</code></a>. 
util_quotehtml       This proc does exactly the same as <a href="/api-doc/proc-view?proc=ad_quotehtml"><code>ad_quotehtml</code></a>. 
util_remove_html_tags       Removes everything between &lt; and &gt; from the string. 
util_report_library_entry       Should be called at beginning of private Tcl library files so that it is easy to see in the error log whether or not private Tcl library files contain errors. 
util_report_successful_library_load       Should be called at end of private Tcl library files so that it is easy to see in the error log whether or not private Tcl library files contain errors. 
util_search_list_of_lists       Returns position of sublist that contains QUERY_STRING at SUBLIST_ELEMENT_POS. 
util_sets_equal_p       Tests whether each unique string in list1 occurs as many times in list1 as in list2 and vice versa (regarless of order). 
util_striphtml       Deprecated. 
util_subset_p       Tests whether list1 is a subset of list2. 
util_text_to_url       Modify a string so that it is suited as a well formatted URL path element. 
util_unlist       Places the <i>n</i>th element of <code>list</code> into the variable named by the <i>n</i>th element of <code>args</code>. 
util_url_valid_p       Returns 1 if a URL is a web URL (HTTP, HTTPS or FTP). 
util_user_message       Sets a message to be displayed on the next page request. 
util_wrap_list       Wraps text to a particular line length. 
validate_ad_dateentrywidget       <p> validate via ad_page_contract 
validate_integer       Throws an error if the string isn't a decimal integer; otherwise strips any leading zeros (so this won't work for octals) and returns the result. 
validate_zip_code       Given a string, signals an error if it's not a legal zip code <p> validate via ad_page_contract 
value_if_exists       If the specified variable exists in the calling environment, returns the value of that variable. 
whos_online::all_invisible_user_ids       This function returns a list with all user_ids which are set to invisible 
whos_online::flush       Removing all user_ids from the last_hit (nsv_set) which have a time Stamp older than the number of seconds indicated by the proc whos_online::interval. 
whos_online::init       Schedules the flush proc that cleans up old who's online values. 
whos_online::interval       Returns the last number of seconds within a user must have requested a page to be considered online. 
whos_online::num_anonymous       Get the number of anony users currently online, and not invisible 
whos_online::num_users       Get the number of registered users currently online, and not invisible 
whos_online::seconds_since_first_request       Returns the number of seconds since the user with given id first requested a page. 
whos_online::seconds_since_last_request       Returns the number of seconds since the user with given id requested a page. 
whos_online::set_invisible       This procedure sets the user user_id to invisible, his user_id will not be returned by user_ids. 
whos_online::unset_invisible       This procedure unsets the invisible state of user_id. 
whos_online::user_ids       This function returns a list of user_ids from users which have requested a page from this Server in the last 10 min.And aren't set to invisible. 
whos_online::user_invisible_p       This function checks if the user user_id is set to invisible. 
whos_online::user_requested_page       Records that the user with given id requested a page on the server 
with_catch       execute code in body with the catch errorMessage in error_var and if there is a non-zero return code from body execute the on_error block. 
with_finally       Execute CODE, then execute cleanup code FINALLY. 
wrap_string       wraps a string to be no wider than 80 columns by inserting line breaks 
xml_get_child_node_attribute_by_path       Return the attribute of a child node down a give path from the current node. 
xml_get_child_node_content_by_path       Return the first non-empty contents of a child node down a given path from the current node. 

SQL Files

Content Pages


  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465