Class ::xo::db::CrFolder

::xo::db::CrFolder[i] create ...

Defined in

Class Relations

  • class: ::xo::db::CrClass[i]
  • superclass: ::xo::db::CrItem[i]

Methods (to be applied on the object)

  • delete (scripted)

  • fetch_object (scripted, public)

     xo::db::CrFolder[i] fetch_object -item_id item_id  \
        [ -revision_id revision_id ] -object object  \
        [ -initialize on|off ]

    We overwrite the default fetch_object method here. We join acs_objects, cr_items and cr_folders and fetch all attributes. The revision_id is completely ignored.

    Switches:
    -item_id (required)
    -revision_id (optional, defaults to "0")
    -object (required)
    -initialize (optional, boolean, defaults to "true")
    See Also:
    • CrClass fetch_object

    Testcases:
    No testcase defined.
  • get_instance_from_db (scripted, public)

     xo::db::CrFolder[i] get_instance_from_db [ -item_id item_id ] \
        [ -revision_id revision_id ] [ -initialize on|off ]

    The "standard" get_instance_from_db methods return objects following the naming convention "::<acs_object_id>", e.g. ::1234

    Usually, the id of the item that is fetched from the database is used. However, XoWiki's "folder objects" (i.e. an ::xowiki::Object instance that can be used to configure the respective instance) are created using the acs_object_id of the root folder of the xowiki instance, which is actually the id of another acs_object.

    Because of this, we cannot simply create the instances of CrFolder using the "standard naming convention". Instead we create them as ::cr_folder<acs_object_id>.

    Switches:
    -item_id (optional, defaults to "0")
    -revision_id (optional, defaults to "0")
    -initialize (optional, boolean, defaults to "true")

    Testcases:
    No testcase defined.
  • instance_select_query (scripted, public)

     xo::db::CrFolder[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)
    attributes for the SQL query to be retrieved, in addition to item_id, name, publish_status, object_type which are always returned
    -orderby (optional)
    for ordering the solution set
    -where_clause (optional)
    clause for restricting the answer set
    -from_clause (optional)
    -with_subtypes (optional, boolean, defaults to "true")
    return subtypes as well
    -with_children (optional, boolean, defaults to "true")
    return immediate child objects of all objects as well
    -publish_status (optional)
    one of 'live', 'ready', or 'production'
    -count (optional, boolean, defaults to "false")
    return the query for counting the solutions
    -folder_id (optional)
    parent_id
    -parent_id (optional)
    -page_size (optional, defaults to "20")
    -page_number (optional)
    -base_table (optional, defaults to "cr_folders")
    typically automatic view, must contain title and revision_id
    Returns:
    SQL query

    Testcases:
    No testcase defined.
  • register_content_types (scripted, public)

     xo::db::CrFolder[i] register_content_types -folder_id folder_id  \
        [ -content_types content_types ]

    Register the specified content types for the folder. If a content_type ends with a *, include its subtypes

    Switches:
    -folder_id (required)
    -content_types (optional)

    Testcases:
    xowiki_test_cases

Methods (to be applied on instances)

  • delete (scripted, public)

     <instance of xo::db::CrFolder[i]> delete

    Delete the CrFolder instance. This method takes the folder_id of the current instance.

    Testcases:
    No testcase defined.
  • description (setter)

  • folder_id (setter)

  • label (setter)

  • mime_type (setter)

  • save (scripted, public)

     <instance of xo::db::CrFolder[i]> save args [ args... ]

    Save an existing CrFolder instance in the database.

    Parameters:
    args (required)

    Testcases:
    No testcase defined.
  • save_new (scripted, public)

     <instance of xo::db::CrFolder[i]> save_new \
        [ -creation_user creation_user ]

    Save a new CrFolder instance in the database.

    Switches:
    -creation_user (optional)

    Testcases:
    No testcase defined.
  • update (scripted)

Variables

::xo::db::CrFolder set __default_metaclass ::xotcl::Class
::xo::db::CrFolder set __default_superclass ::xotcl::Object
::xo::db::CrFolder set abstract_p f
::xo::db::CrFolder set auto_save false
::xo::db::CrFolder array set db_constraints {folder_id {{references {cr_items on delete cascade}} \
       {references {cr_items on delete cascade}}}}
::xo::db::CrFolder array set db_slot \
       {label ::xo::db::CrFolder::slot::label creation_date ::xo::db::Object::slot::creation_date \
       creation_user ::xo::db::Object::slot::creation_user object_id \
       ::xo::db::Object::slot::object_id description ::xo::db::CrFolder::slot::description \
       creation_ip ::xo::db::Object::slot::creation_ip text ::xo::db::CrItem::slot::text folder_id \
       ::xo::db::CrFolder::slot::folder_id nls_language ::xo::db::CrItem::slot::nls_language \
       object_title ::xo::db::Object::slot::object_title package_id \
       ::xo::db::Object::slot::package_id security_inherit_p \
       ::xo::db::Object::slot::security_inherit_p context_id ::xo::db::Object::slot::context_id \
       mime_type ::xo::db::CrItem::slot::mime_type name ::xo::db::CrItem::slot::name title \
       ::xo::db::CrItem::slot::title item_id ::xo::db::CrItem::slot::item_id revision_id \
       ::xo::db::CrItem::slot::revision_id modifying_user ::xo::db::Object::slot::modifying_user \
       publish_date ::xo::db::CrItem::slot::publish_date last_modified \
       ::xo::db::Object::slot::last_modified modifying_ip ::xo::db::Object::slot::modifying_ip}
::xo::db::CrFolder set edit_form CrFolderForm
::xo::db::CrFolder set folder_id -100
::xo::db::CrFolder set form CrFolderForm
::xo::db::CrFolder set id_column folder_id
::xo::db::CrFolder set mime_type text/plain
::xo::db::CrFolder set name_method {}
::xo::db::CrFolder set non_cached_instance_var_patterns __*
::xo::db::CrFolder set object_type content_folder
::xo::db::CrFolder set object_type_key 000000000000110100000000
::xo::db::CrFolder set pretty_name Folder
::xo::db::CrFolder set pretty_plural Folders
::xo::db::CrFolder set security_inherit_p t
::xo::db::CrFolder set sql_package_name ::xo::db::CrFolder
::xo::db::CrFolder set storage_type text
::xo::db::CrFolder set supertype content_revision
::xo::db::CrFolder set table_name cr_folders
::xo::db::CrFolder set with_table true