xotcl.wu-wien.ac.at
Begin main content
Methods: Source: Variables:
[All Methods | Documented Methods | Hide Methods] [Display Source | Hide Source] [Show Variables | Hide Variables]

::xotcl::Class[i] ::xo::db::CrClass

Class Hierarchy of ::xo::db::CrClass

  • ::xotcl::Object[i]
    Meta-class:
    ::xotcl::Class[i]
    Methods for instances:
    __api_make_doc, __api_make_forward_doc, __timediff, abstract, ad_doc, ad_forward, ad_proc, appendC, arrayC, asHTML, autonameC, check, classC, cleanupC, configureC, containsC, copyC, db_0or1rowC, db_1rowC, debug, defaultmethodC, destroyC, destroy_on_cleanup, ds, evalC, existsC, extractConfigureArg, filterC, filterguardC, filtersearch, forward, hasclass, incrC, infoC, init, instvarC, invarC, isclass, ismetaclass, ismixin, isobject, istype, lappendC, log, method, mixinC, mixinguardC, moveC, msg, noinitC, objectparameter, parametercmdC, proc, procsearch, qn, requireNamespaceC, residualargsC, self, serialize, setC, set_instance_vars_defaults, show-object, substC, traceC, unknown, unsetC, uplevelC, upvarC, volatileC, vwait
    Methods to be applied on the class (in addition to the methods provided by the meta-class):
    getExitHandler, setExitHandler, unsetExitHandler

The meta class CrClass serves for a class of applications that mostly store information in the content repository and that use a few attributes adjoining this information. The class handles the open acs object_type creation and the automatic creation of the necessary tables based on instances of this meta-class.

The definition of new types is handled in the constructor of CrType through the method create_object_type, the removal of the object type is handled through the method drop_object_type (requires that all instances of this type are deleted).

Each content item can be retrieved either through the general method CrClass get_instance_from_db or through the "get_instance_from_db" method of every subclass of CrItem.

This Class is a meta-class providing methods for Classes managing CrItems.

Defined in packages/xotcl-core/tcl/cr-procs.tcl

Class Relations

  • superclass: ::xo::db::Class[i]
  • instmixin: ::xo::db::CrCache[i]
  • mixin: ::xo::db::CrCache::Class[i]

Methods

  • proc delete (public)

    ::xo::db::CrClass[i] delete [ -item_id item_id ]
    Delete a CrItem in the database

    Switches:
    -item_id (optional)
  • proc get_child_item_ids (public)

    ::xo::db::CrClass[i] get_child_item_ids -item_id item_id 
    Return a list of content items having the provided item_id as direct or indirect parent. The method returns recursively all item_ids.

    Switches:
    -item_id (required)
    Returns:
    list of item_ids
  • proc get_instance_from_db (public)

    ::xo::db::CrClass[i] get_instance_from_db [ -item_id item_id ] \
        [ -revision_id revision_id ]
    Instantiate the live revision or the specified revision of an CrItem. The XOTcl object is destroyed automatically on cleanup (end of a connection request).

    Switches:
    -item_id (defaults to "0") (optional)
    -revision_id (defaults to "0") (optional)
    Returns:
    fully qualified object containing the attributes of the CrItem
  • proc get_name (public)

    ::xo::db::CrClass[i] get_name -item_id item_id 
    Get the name of a content item either from an already instantiated object or from the database without instantiating it. If item_id is not a valid item_id, we throw an error.

    Switches:
    -item_id (required)
    Returns:
    parent_id
  • proc get_object_type (public)

    ::xo::db::CrClass[i] get_object_type [ -item_id item_id ] \
        [ -revision_id revision_id ]
    Return the object type for an item_id or revision_id.

    Switches:
    -item_id (optional)
    -revision_id (defaults to "0") (optional)
    Returns:
    object_type typically an XOTcl class
  • proc get_parent_id (public)

    ::xo::db::CrClass[i] get_parent_id -item_id item_id 
    Get the parent_id of a content item either from an already instantiated object or from the database without instantiating it. If item_id is not a valid item_id, we throw an error.

    Switches:
    -item_id (required)
    Returns:
    parent_id
  • proc lookup (public)

    ::xo::db::CrClass[i] lookup -name name  [ -parent_id parent_id ]
    Check, whether an content item with the given name exists. If the item exists, return its item_id, otherwise 0.

    Switches:
    -name (required)
    -parent_id (defaults to "-100") (optional)
    Returns:
    item_id
  • proc require_folder_object (public)

    ::xo::db::CrClass[i] require_folder_object [ -folder_id folder_id ] \
        [ -package_id package_id ]
    Dummy stub; let specializations define it

    Switches:
    -folder_id (optional)
    -package_id (optional)
  • instproc create_object_type (public)

    <instance of ::xo::db::CrClass[i]> create_object_type
    Create an oacs object_type and a table for keeping the additional attributes.

  • instproc delete (public)

    <instance of ::xo::db::CrClass[i]> delete -item_id item_id 
    Delete a content item from the content repository.

    Switches:
    -item_id (required)
    id of the item to be deleted
  • instproc drop_object_type (public)

    <instance of ::xo::db::CrClass[i]> drop_object_type
    Delete the object type and remove the table for the attributes. This method should be called when all instances are deleted. It undoes everying what create_object_type has produced.

  • instproc fetch_object (public)

    <instance of ::xo::db::CrClass[i]> fetch_object -item_id item_id  \
        [ -revision_id revision_id ] -object object  \
        [ -initialize initialize ]
    Load a content item into the specified object. If revision_id is provided, the specified revision is returned, otherwise the live revision of the item_id. If the object does not exist, we create it.

    Switches:
    -item_id (required)
    -revision_id (defaults to "0") (optional)
    -object (required)
    -initialize (defaults to "true") (optional)
    Returns:
    cr item object
  • instproc folder_type (public)

    <instance of ::xo::db::CrClass[i]> folder_type \
        [ -include_subtypes include_subtypes ] [ -folder_id folder_id ] \
        operation
    register the current object type for folder_id. If folder_id is not specified, use the instvar of the class instead.

    Switches:
    -include_subtypes (defaults to "t") (optional)
    Boolean value (t/f) to flag whether the operation should be applied on subtypes as well
    -folder_id (optional)
    Parameters:
    operation
  • instproc folder_type_unregister_all (public)

    <instance of ::xo::db::CrClass[i]> folder_type_unregister_all \
        [ -include_subtypes include_subtypes ]
    Unregister the object type from all folders on the system

    Switches:
    -include_subtypes (defaults to "t") (optional)
    Boolean value (t/f) to flag whether the operation should be applied on subtypes as well
  • instproc get_instance_from_db (public)

    <instance of ::xo::db::CrClass[i]> get_instance_from_db \
        [ -item_id item_id ] [ -revision_id revision_id ]
    Retrieve either the live revision or a specified revision of a content item with all attributes into a newly created object. The retrieved attributes are strored in the instance variables in class representing the object_type. The XOTcl object is destroyed automatically on cleanup (end of a connection request)

    Switches:
    -item_id (defaults to "0") (optional)
    id of the item to be retrieved.
    -revision_id (defaults to "0") (optional)
    revision-id of the item to be retrieved.
    Returns:
    fully qualified object
  • instproc get_instances_from_db (public)

    <instance of ::xo::db::CrClass[i]> get_instances_from_db \
        [ -select_attributes select_attributes ] \
        [ -from_clause from_clause ] [ -where_clause where_clause ] \
        [ -orderby orderby ] [ -with_subtypes on|off ] \
        [ -folder_id folder_id ] [ -page_size page_size ] \
        [ -page_number page_number ] [ -base_table base_table ]
    Returns a set (ordered composite) of the answer tuples of an 'instance_select_query' with the same attributes. The tuples are instances of the class, on which the method was called.

    Switches:
    -select_attributes (optional)
    -from_clause (optional)
    -where_clause (optional)
    -orderby (optional)
    -with_subtypes (boolean) (defaults to "true") (optional)
    -folder_id (optional)
    -page_size (defaults to "20") (optional)
    -page_number (optional)
    -base_table (defaults to "cr_revisions") (optional)
  • instproc instance_select_query (public)

    <instance of ::xo::db::CrClass[i]> instance_select_query \
        [ -select_attributes select_attributes ] [ -orderby orderby ] \
        [ -where_clause where_clause ] [ -from_clause from_clause ] \
        [ -with_subtypes on|off ] [ -with_children on|off ] \
        [ -publish_status publish_status ] [ -count on|off ] \
        [ -folder_id folder_id ] [ -parent_id parent_id ] \
        [ -page_size page_size ] [ -page_number page_number ] \
        [ -base_table base_table ]
    returns the SQL-query to select the CrItems of the specified object_type

    Switches:
    -select_attributes (optional)
    -orderby (optional)
    for ordering the solution set
    -where_clause (optional)
    clause for restricting the answer set
    -from_clause (optional)
    -with_subtypes (boolean) (defaults to "true") (optional)
    return subtypes as well
    -with_children (boolean) (defaults to "false") (optional)
    return immediate child objects of all objects as well
    -publish_status (optional)
    one of 'live', 'ready', or 'production'
    -count (boolean) (defaults to "false") (optional)
    return the query for counting the solutions
    -folder_id (optional)
    parent_id
    -parent_id (optional)
    -page_size (defaults to "20") (optional)
    -page_number (optional)
    -base_table (defaults to "cr_revisions") (optional)
    typically automatic view, must contain title and revision_id
    Returns:
    sql query
  • instproc new_persistent_object (public)

    <instance of ::xo::db::CrClass[i]> new_persistent_object \
        [ -package_id package_id ] [ -creation_user creation_user ] \
        [ -creation_ip creation_ip ] args [ args... ]
    Create a new content item of the actual class, configure it with the given arguments and insert it into the database. The XOTcl object is destroyed automatically on cleanup (end of a connection request).

    Switches:
    -package_id (optional)
    -creation_user (optional)
    -creation_ip (optional)
    Parameters:
    args
    Returns:
    fully qualified object

Instances

::xo::db::CrFolder[i], ::xo::db::CrItem[i], ::xo::db::image[i], ::xowiki::File[i], ::xowiki::Form[i], ::xowiki::FormPage[i], ::xowiki::Object[i], ::xowiki::Page[i], ::xowiki::PageInstance[i], ::xowiki::PageTemplate[i], ::xowiki::PlainPage[i], ::xowiki::PodcastItem[i]

Methods: Source: Variables:
[All Methods | Documented Methods | Hide Methods] [Display Source | Hide Source] [Show Variables | Hide Variables]