%3 ::xo::Package ::xo::Package initialize reply_to_user require_root_folder ::xo::db::Object ::xo::db::Object ::xo::Package->::xo::db::Object ::xo::db::chat_transcript ::xo::db::chat_transcript save_new ::xo::db::chat_transcript->::xo::db::Object ::xo::db::chat_room ::xo::db::chat_room ban_user count_messages create_transcript delete delete_messages flush grant_creator grant_moderator grant_user post_message revoke_moderator revoke_user save_new transcript_messages unban_user ::xo::db::chat_room->::xo::db::Object ::xo::db::CrItem ::xo::db::CrItem delete is_package_root_folder privilege=creator rename save save_new set_live_revision update_attribute_from_slot update_item_index ::xo::db::CrCache::Item ::xo::db::CrCache::Item ::xo::db::CrItem->::xo::db::CrCache::Item instmixin ::xo::db::CrItem->::xo::db::Object ::xo::db::apm_parameter ::xo::db::apm_parameter ::xo::db::apm_parameter->::xo::db::Object ::xo::parameter ::xo::parameter ::xo::db::apm_parameter->::xo::parameter instmixin ::xotcl::Object ::xotcl::Object ::xo::db::CrCache::Item->::xotcl::Object ::xo::oauth::ServerMetadata ::xo::oauth::ServerMetadata ::xo::oauth::ServerMetadata->::xo::db::CrItem ::xo::db::image ::xo::db::image ::xo::db::image->::xo::db::CrItem ::xo::oauth::ClientMetadata ::xo::oauth::ClientMetadata ::xo::oauth::ClientMetadata->::xo::db::CrItem ::xowiki::Page ::xowiki::Page → find_slot anchor create_form_fields_from_form_constraints create_link find_slot get_form_data include is_folder_page pretty_link render resolve_included_page_name save_new substitute_markup www-autosave-attribute www-bulk-delete www-clipboard-add www-clipboard-clear www-clipboard-content www-clipboard-copy www-clipboard-export www-create-new www-create-or-use www-csv-dump www-delete www-delete-revision www-diff www-duplicate www-edit www-list www-make-live-revision www-popular-tags www-revisions www-save-attributes www-save-tags www-toggle-publish-status www-validate-attribute www-view ::xowiki::Page->::xo::db::CrItem ::xo::db::CrFolder ::xo::db::CrFolder → fetch_object → get_instance_from_db → instance_select_query → register_content_types delete save save_new ::xo::db::CrFolder->::xo::db::CrItem ::xo::oauth::Credentials ::xo::oauth::Credentials ::xo::oauth::Credentials->::xo::db::CrItem ::xowiki::File ::xowiki::File www-download ::xowiki::File->::xowiki::Page ::xowiki::PageTemplate ::xowiki::PageTemplate www-delete ::xowiki::PageTemplate->::xowiki::Page ::xowiki::PageInstance ::xowiki::PageInstance get_from_template www-use-template ::xowiki::PageInstance->::xowiki::Page ::xowiki::PlainPage ::xowiki::PlainPage ::xowiki::PlainPage->::xowiki::Page ::xo::oauth::TempCredentials ::xo::oauth::TempCredentials ::xo::oauth::TempCredentials->::xo::oauth::Credentials ::xo::oauth::TokenCredentials ::xo::oauth::TokenCredentials ::xo::oauth::TokenCredentials->::xo::oauth::Credentials ::xo::oauth::ClientCredentials ::xo::oauth::ClientCredentials ::xo::oauth::ClientCredentials->::xo::oauth::Credentials

Class ::xo::db::CrItem

::xo::db::CrItem[i] create ... \
           [ -package_id package_id ] \
           [ -parent_id (default "-100") ] \
           [ -publish_status (default "ready") ] \
           [ -storage_type (default "text") ]

Defined in

Class Relations

  • class: ::xo::db::CrClass[i]
  • superclass: ::xo::db::Object[i]
  • instmixin: ::xo::db::CrCache::Item[i]
  • subclass: ::xo::oauth::ServerMetadata[i], ::xo::db::image[i], ::xo::oauth::ClientMetadata[i], ::xowiki::Page[i], ::xo::db::CrFolder[i], ::xo::oauth::Credentials[i]

Methods (to be applied on instances)

  • delete (scripted, public)

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

    Delete the item from the content repository with the item_id taken from the instance variable.

    Testcases:
    test_cr_items
  • is_package_root_folder (scripted, public)

     <instance of xo::db::CrItem[i]> is_package_root_folder

    # In general, every cr_item may be in the role of a # "root-folder" of a package.

    Testcases:
    create_folder_with_page, create_workflow_with_instance
  • privilege=creator (scripted, public)

     <instance of xo::db::CrItem[i]> privilege=creator [ -login login ] \
        user_id package_id method

    Define an object specific privilege to be used in the policies. Grant access to a content item for the creator (creation_user) of the item, and for the package admin.

    Switches:
    -login (optional, defaults to "true")
    Parameters:
    user_id (required)
    package_id (required)
    method (required)

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

     <instance of xo::db::CrItem[i]> rename -old_name old_name  \
        -new_name new_name 

    Rename a content item

    Switches:
    -old_name (required)
    -new_name (required)

    Testcases:
    create_form_with_form_instance
  • save (scripted, public)

     <instance of xo::db::CrItem[i]> save \
        [ -modifying_user modifying_user ] [ -live_p on|off ] \
        [ -use_given_publish_date on|off ]

    Updates an item in the content repository. We insert a new revision instead of changing the current revision.

    Switches:
    -modifying_user (optional)
    -live_p (optional, boolean, defaults to "true")
    make this revision the live revision
    -use_given_publish_date (optional, boolean, defaults to "false")

    Testcases:
    xotcl_core_tutorial_4, test_cr_items
  • save_new (scripted, public)

     <instance of xo::db::CrItem[i]> save_new [ -package_id package_id ] \
        [ -creation_user creation_user ] [ -creation_ip creation_ip ] \
        [ -context_id context_id ] [ -live_p on|off ] \
        [ -use_given_publish_date on|off ]

    Insert a new item to the content repository.

    Switches:
    -package_id (optional)
    -creation_user (optional)
    user_id if the creating user
    -creation_ip (optional)
    -context_id (optional)
    -live_p (optional, boolean, defaults to "true")
    make this revision the live revision
    -use_given_publish_date (optional, boolean, defaults to "false")

    Testcases:
    xotcl_core_tutorial_4, test_cr_items
  • set_live_revision (scripted, public)

     <instance of xo::db::CrItem[i]> set_live_revision \
        -revision_id revision_id  [ -publish_status publish_status ] \
        [ -is_latest on|off ]
    Switches:
    -revision_id (required)
    -publish_status (optional, defaults to "ready")
    one of 'live', 'ready' or 'production'
    -is_latest (optional, boolean, defaults to "false")

    Testcases:
    create_folder_with_page, create_workflow_with_instance
  • update_attribute_from_slot (scripted)

     <instance of xo::db::CrItem[i]> update_attribute_from_slot

    Testcases:
    slot_interactions, xowiki
  • update_item_index (scripted, public)

     <instance of xo::db::CrItem[i]> update_item_index

    Dummy stub to allow subclasses to produce a more efficient index for items based on live revisions.

    Testcases:
    xotcl_core_tutorial_4, xowiki_test_cases

Variables

::xo::db::CrItem set __default_metaclass ::xotcl::Class
::xo::db::CrItem set __default_superclass ::xotcl::Object
::xo::db::CrItem set abstract_p f
::xo::db::CrItem set auto_save false
::xo::db::CrItem array set db_constraints {nls_language {{default en_US}} mime_type \
       {{references cr_mime_types} {default text/plain}} item_id {{references \
       {cr_items on delete cascade}}}}
::xo::db::CrItem array set db_slot \
       {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::CrItem::slot::description creation_ip ::xo::db::Object::slot::creation_ip text \
       ::xo::db::CrItem::slot::text nls_language ::xo::db::CrItem::slot::nls_language object_title \
       ::xo::db::Object::slot::object_title package_id ::xo::db::Object::slot::package_id name \
       ::xo::db::CrItem::slot::name 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 \
       title ::xo::db::CrItem::slot::title revision_id ::xo::db::CrItem::slot::revision_id item_id \
       ::xo::db::CrItem::slot::item_id last_modified ::xo::db::Object::slot::last_modified \
       publish_date ::xo::db::CrItem::slot::publish_date modifying_user \
       ::xo::db::Object::slot::modifying_user modifying_ip ::xo::db::Object::slot::modifying_ip}
::xo::db::CrItem set folder_id -100
::xo::db::CrItem set id_column revision_id
::xo::db::CrItem set mime_type text/plain
::xo::db::CrItem set name_method {}
::xo::db::CrItem set non_cached_instance_var_patterns __*
::xo::db::CrItem set object_type content_revision
::xo::db::CrItem set object_type_key 0000000000001111
::xo::db::CrItem set pretty_name CrItem
::xo::db::CrItem set pretty_plural CrItem
::xo::db::CrItem set security_inherit_p t
::xo::db::CrItem set sql_package_name ::xo::db::CrItem
::xo::db::CrItem set storage_type text
::xo::db::CrItem set supertype content_revision
::xo::db::CrItem set table_name cr_revisions
::xo::db::CrItem set with_table true