- Publicity: Public Only All
06-package-procs.tcl
Definition of a package manager for creating XOTcl package objects
- Location:
- packages/xotcl-core/tcl/06-package-procs.tcl
- Created:
- 2007-09-24
- Author:
- Gustaf Neumann <neumann@wu-wien.ac.at>
- CVS Identification:
$Id: 06-package-procs.tcl,v 1.41.2.61 2024/08/30 07:47:19 gustafn Exp $
Procedures in this file
- xo::Package instproc require_root_folder (public)
- xo::PackageMgr instproc first_instance (public)
- xo::PackageMgr instproc import_prototype_page (public)
- xo::PackageMgr instproc initialize (public)
- xo::PackageMgr instproc instances (public)
- xo::PackageMgr instproc require (public)
- xo::PackageMgr instproc require_site_wide_pages (public)
- xo::PackageMgr proc get_package_class_from_package_key (public)
Detailed information
xo::Package instproc require_root_folder (public)
<instance of xo::Package> require_root_folder \ [ -parent_id parent_id ] [ -content_types content_types ] \ -name name
Make sure, the root folder for the given package exists. If not, create it and register all allowed content types. Note that xowiki (and derived packages) define their own version of "require_root_folder" based on form pages. Therefore, this function is just for packages not based on xowiki.
- Switches:
- -parent_id
(defaults to"-100"
) (optional)- -content_types
(optional)- -name
(required)- Returns:
- folder_id
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- xowiki_test_cases
xo::PackageMgr instproc first_instance (public)
<instance of xo::PackageMgr> first_instance \ [ -privilege privilege ] [ -party_id party_id ]
Returns the first mounted instance of this Package. When a privilege and a party are specified, will return the first instance where the party has such privilege.
- Switches:
- -privilege
(optional)- -party_id
(optional)- the party we are checking the privilege for
- Returns:
- integer package_id, empty string when none is found
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- xowiki_test_cases, create_form_with_form_instance
xo::PackageMgr instproc import_prototype_page (public)
<instance of xo::PackageMgr> import_prototype_page \ [ -package_key package_key ] -name name -parent_id parent_id \ -package_id package_id [ -lang lang ] [ -add_revision on|off ]
Import a named page from the prototypes folder of the package, i.e. under www/prototypes/*.page of the package.
- Switches:
- -package_key
(optional)- when provided, the package_key used to locate the page. When not provided, use the package_key of the class, on which this function is called.
- -name
(required)- name of the page to be loaded (not including the language prefix)
- -parent_id
(required)- place to where the page should be loaded
- -package_id
(required)- package instance to which the page should be loaded
- -lang
(defaults to"en"
) (optional)- -add_revision
(boolean) (defaults to"true"
) (optional)- When the page to be loaded exists already, add a new revision. When the page exists already, and the flag is not set, no change happens.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- xowiki_test_cases
xo::PackageMgr instproc initialize (public)
<instance of xo::PackageMgr> initialize [ -ad_doc ad_doc ] \ [ -parameter parameter ] [ -package_id package_id ] [ -url url ] \ [ -user_id user_id ] [ -actual_query actual_query ] \ [ -original_url_and_query original_url_and_query ] \ [ -init_url init_url ] [ -keep_cc keep_cc ] \ [ -form_parameter form_parameter ] [ -export_vars export_vars ]
Create the connection context ::xo::cc and a package object if these are none defined yet. The connection context ::xo::cc and the package object will be destroyed on cleanup, when the global variables are reclaimed. As a side effect this method sets in the calling context the query parameters and package_id as variables, using the "defaults" for default values. init_url false requires the package_id to be specified and a call to Package instproc set_url to complete initialization. keep_cc true means that the original connection context is preserved (i.e. not altered) in case it exists already.
- Switches:
- -ad_doc
(optional)- -parameter
(optional)- -package_id
(defaults to"0"
) (optional)- -url
(optional)- -user_id
(defaults to"-1"
) (optional)- -actual_query
(defaults to" "
) (optional)- -original_url_and_query
(optional)- -init_url
(defaults to"true"
) (optional)- -keep_cc
(defaults to"false"
) (optional)- -form_parameter
(optional)- -export_vars
(defaults to"true"
) (optional)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- package_normalize_path, includelet_toc, includelet_childresources, xowiki_test_cases, link_tests, slot_interactions, path_resolve, create_form_with_form_instance
xo::PackageMgr instproc instances (public)
<instance of xo::PackageMgr> instances \ [ -include_unmounted include_unmounted ] [ -closure closure ]
- Switches:
- -include_unmounted
(defaults to"false"
) (optional)- include unmounted package instances
- -closure
(defaults to"false"
) (optional)- include instances of subclasses of the package
- Returns:
- list of package_ids of xowiki instances
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
xo::PackageMgr instproc require (public)
<instance of xo::PackageMgr> require [ -url url ] package_id
Create package object if needed.
- Switches:
- -url
(optional)- Parameters:
- package_id
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- create_folder_with_page, package_normalize_path, xowiki_test_cases, create_form_with_form_instance
xo::PackageMgr instproc require_site_wide_pages (public)
<instance of xo::PackageMgr> require_site_wide_pages \ [ -refetch on|off ] [ -refetch_if_modified on|off ] \ [ -pages pages ]
Load site-wide pages from the prototype page directory. The pages are loaded into to site-wide instance. When a page to be loaded exists already, a new revision is added. If no pages are provided, use the list of pages as defined for the package.
- Switches:
- -refetch
(boolean) (defaults to"false"
) (optional)- force fresh loading of prototype pages
- -refetch_if_modified
(boolean) (defaults to"false"
) (optional)- refetch when modification date of file is new than the version in the content repository
- -pages
(optional)- list of pages (without languages prefix) or empty to refer to per-package definition.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- xowiki_test_cases
xo::PackageMgr proc get_package_class_from_package_key (public)
xo::PackageMgr get_package_class_from_package_key package_key
Obtain the package class from a package key
- Parameters:
- package_key
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- package_normalize_path, xowiki_test_cases, link_tests, path_resolve, create_form_with_form_instance