• 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[i]

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.40 2023/05/30 10:01:46 gustafn Exp $

Procedures in this file

Detailed information

Class ::xo::Context (public)

 ::xotcl::Class ::xo::Context[i]

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):
%3 acs::icanuse acs::icanuse (public) ad_log ad_log (public) ad_return_complaint ad_return_complaint (public) ad_script_abort ad_script_abort (public) nsf::object::alloc nsf::object::alloc Class ::xo::Context Class ::xo::Context Class ::xo::Context->acs::icanuse Class ::xo::Context->ad_log Class ::xo::Context->ad_return_complaint Class ::xo::Context->ad_script_abort Class ::xo::Context->nsf::object::alloc

Testcases:
No testcase defined.

xo::ConnectionContext instproc eval_as_user (public)

 <instance of xo::ConnectionContext[i]> 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):
%3 test_create_test_items create_test_items (test xowf) xo::ConnectionContext instproc eval_as_user xo::ConnectionContext instproc eval_as_user test_create_test_items->xo::ConnectionContext instproc eval_as_user

Testcases:
create_test_items

xo::ConnectionContext instproc permission (public)

 <instance of xo::ConnectionContext[i]> 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):
%3 test_xowiki_test_cases xowiki_test_cases (test xowiki) xo::ConnectionContext instproc permission xo::ConnectionContext instproc permission test_xowiki_test_cases->xo::ConnectionContext instproc permission permission::permission_p permission::permission_p (public) xo::ConnectionContext instproc permission->permission::permission_p

Testcases:
xowiki_test_cases

xo::ConnectionContext instproc query_parameter (public)

 <instance of xo::ConnectionContext[i]> 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):
%3 test_api__context api__context (test xotcl-core) xo::ConnectionContext instproc query_parameter xo::ConnectionContext instproc query_parameter test_api__context->xo::ConnectionContext instproc query_parameter test_path_resolve path_resolve (test xowiki) test_path_resolve->xo::ConnectionContext instproc query_parameter test_test_xo_cc test_xo_cc (test xotcl-core) test_test_xo_cc->xo::ConnectionContext instproc query_parameter xo::validate_parameter_constraints xo::validate_parameter_constraints (public) xo::ConnectionContext instproc query_parameter->xo::validate_parameter_constraints

Testcases:
api__context, test_xo_cc, path_resolve

xo::Context instproc export_vars (public)

 <instance of xo::Context[i]> 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):
%3 test_link_tests link_tests (test xowiki) xo::Context instproc export_vars xo::Context instproc export_vars test_link_tests->xo::Context instproc export_vars test_package_normalize_path package_normalize_path (test xowiki) test_package_normalize_path->xo::Context instproc export_vars test_path_resolve path_resolve (test xowiki) test_path_resolve->xo::Context instproc export_vars test_slot_interactions slot_interactions (test xowiki) test_slot_interactions->xo::Context instproc export_vars test_xowiki_test_cases xowiki_test_cases (test xowiki) test_xowiki_test_cases->xo::Context instproc export_vars

Testcases:
package_normalize_path, xowiki_test_cases, link_tests, slot_interactions, path_resolve

xo::Context instproc get_parameters (public)

 <instance of xo::Context[i]> 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):
%3 test_xowiki_test_cases xowiki_test_cases (test xowiki) xo::Context instproc get_parameters xo::Context instproc get_parameters test_xowiki_test_cases->xo::Context instproc get_parameters

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):
%3 xo::ConnectionContext instproc form_parameter xo::ConnectionContext instproc form_parameter xo::validate_parameter_constraints xo::validate_parameter_constraints xo::ConnectionContext instproc form_parameter->xo::validate_parameter_constraints xo::ConnectionContext instproc query_parameter xo::ConnectionContext instproc query_parameter (public) xo::ConnectionContext instproc query_parameter->xo::validate_parameter_constraints xowiki::Package instproc get_parameter xowiki::Package instproc get_parameter (public) xowiki::Package instproc get_parameter->xo::validate_parameter_constraints acs::icanuse acs::icanuse (public) xo::validate_parameter_constraints->acs::icanuse ad_return_complaint ad_return_complaint (public) xo::validate_parameter_constraints->ad_return_complaint ad_script_abort ad_script_abort (public) xo::validate_parameter_constraints->ad_script_abort

Testcases:
No testcase defined.
[ show source ]