- Publicity: Public Only All
context-procs.tcl
Context handling interface Definition of a connection context, containing user info, URLs, parameters. this is used via "Package initialize"... similar as page_contracts and for included content (includelets), and used for per-connection caching as well. The intention is similar as with ad_conn, but based on objects. So far, it is pretty simple, but should get more clever in the future.
This file defines the following Objects and Classes: ::xo::Context
- Location:
- packages/xotcl-core/tcl/context-procs.tcl
- Created:
- 2006-08-06
- Author:
- Gustaf Neumann <neumann@wu-wien.ac.at>
- CVS Identification:
$Id: context-procs.tcl,v 1.75.2.43 2024/08/27 10:15:52 gustafn Exp $
Procedures in this file
- Class ::xo::Context (public)
- xo::ConnectionContext instproc eval_as_user (public)
- xo::ConnectionContext instproc permission (public)
- xo::ConnectionContext instproc query_parameter (public)
- xo::Context instproc export_vars (public)
- xo::Context instproc get_parameters (public)
- xo::validate_parameter_constraints (public)
Detailed information
Class ::xo::Context (public)
::xotcl::Class ::xo::Context
This class provides a context for evaluation, somewhat similar to an activation record in programming languages. It combines the parameter declaration (e.g. of a page, an includelet) with the actual parameters (specified in an includelet) and the provided query values (from the url). The parameter decaration are actually XOTcl's non positional arguments.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
xo::ConnectionContext instproc eval_as_user (public)
<instance of xo::ConnectionContext> eval_as_user \ [ -user_id user_id ] cmd
Run a command as the specified different user. Essentially, this method updates xo::cc and the ad_conn array array with the specified user, runs the command and resets the user to the previous value.
- Switches:
- -user_id
(optional)- switch temporarily to this user
- Parameters:
- cmd - command to be exevuted
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- create_test_items
xo::ConnectionContext instproc permission (public)
<instance of xo::ConnectionContext> permission \ [ -object_id object_id ] -privilege privilege \ [ -party_id party_id ]
Call ::permission::permission_p but avoid multiple calls in the same request through caching in the connection context
- Switches:
- -object_id
(optional)- -privilege
(required)- -party_id
(optional)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- xowiki_test_cases
xo::ConnectionContext instproc query_parameter (public)
<instance of xo::ConnectionContext> query_parameter __spec \ [ default ]
Get query parameter with default and optional value constraints. In case the value check for the query parameter fails, and no further precautions are performed (::aa_test_noabort is set), the method raises an exception with "ad_return_complaint" and aborts the script.
- Parameters:
- __spec - has the formname or name:value_constraint
default (optional) - default value
- Returns:
- actual value of the query parameter
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- api__context, test_xo_cc, path_resolve
xo::Context instproc export_vars (public)
<instance of xo::Context> export_vars [ -all ] [ -level level ]
Export either the declared query variables (default) or all (when explicitly demanded).
- Switches:
- -all
(optional)- when specified, export all query variables
- -level
(defaults to"1"
) (optional)- target level
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- package_normalize_path, xowiki_test_cases, link_tests, slot_interactions, path_resolve
xo::Context instproc get_parameters (public)
<instance of xo::Context> get_parameters
Convenience routine for includelets. It combines the actual parameters from the call in the page (highest priority) with the values from the url (second priority) and the default values from the signature.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- xowiki_test_cases
xo::validate_parameter_constraints (public)
xo::validate_parameter_constraints name constraint value
Validate the provided value against the constraints. In case of failure, return with ad_return_complaint when there is a connection, otherwise raise an error.
- Parameters:
- name
constraint
value
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.