content_item

Content Repository : content_item


 

Overview

Content items store the overview of the content published on a website. The actual content is stored in content revisions. It is implemented this way so that there can be mulitple versions of the actual content while the main idea remains constant. For example: If there is a review for the movie "Terminator," there will exist a content item by the name "terminator" with all the right parameters (supertype, parent, etc), there will also exist at least one content revision pointing to this item with the actual review content.

 

Related Objects

See also: content_revision, content_folder

 

API

  • Function: content_item.get_content_type

    Retrieve the content type of this item. Only objects of this type may be used as revisions for the item.

    Author:Karl Goldstein
    Returns:The content type of the item
    Parameters:
    item_id:   The item for which the content type is to be retrieved
    Declaration:
    
    function get_content_type (
      item_id     in cr_items.item_id%TYPE
    ) return cr_items.content_type%TYPE;
    
    

     

  • Function: content_item.get_context

    Retrieve the parent of the given item

    Author:Karl Goldstein
    Returns:The id of the parent for this item
    Parameters:
    item_id:   The item for which the parent is to be retrieved
    Declaration:
    
    function get_context (
      item_id	in cr_items.item_id%TYPE
    ) return acs_objects.context_id%TYPE;
    
    

     

  • Function: content_item.get_id

    Takes in a path, such as "/tv/programs/star_trek/episode_203" and returns the id of the item with this path. Note: URLs are abstract (no extensions are allowed in content item names and extensions are stripped when looking up content items)

    Author:Karl Goldstein
    Returns:The id of the item with the given path, or null if no such item exists
    Parameters:
    item_path:   The path to be resolved
    root_folder_id:   Starts path resolution from this folder. Defaults to the root of the sitemap
    Declaration:
    
    function get_id (
      item_path   in varchar2,
      root_folder_id in cr_items.item_id%TYPE default c_root_folder_id
    ) return cr_items.item_id%TYPE;
    
    
    See Also:content_item.get_path

     

  • Function: content_item.get_latest_revision

    Retrieves the id of the latest revision for the item (as opposed to the live revision)

    Author:Karl Goldstein
    Returns:The id of the latest revision for this item, or null if no revisions exist
    Parameters:
    item_id:   The item for which the latest revision is to be retrieved
    Declaration:
    
    function get_latest_revision (
      item_id    in cr_items.item_id%TYPE
    ) return cr_revisions.revision_id%TYPE;
    
    
    See Also:content_item.get_live_revision

     

  • Function: content_item.get_live_revision

    Retrieves the id of the live revision for the item

    Note that this function does nothing else besides retrieving the value of the column cr_items.live_revision. It is thus more efficient in many cases to join against cr_items and retrieve the value directly.

    Returns:The id of the live revision for this item, or null if no live revision exists
    Parameters:
    item_id:   The item for which the live revision is to be retrieved
    Declaration:
    
    function get_live_revision (
      item_id   in cr_items.item_id%TYPE
    ) return cr_revisions.revision_id%TYPE;
    
    
    See Also:content_item.set_live_revision, content_item.get_latest_revision

     

  • Function: content_item.get_parent_folder

    Get the parent folder.

    Author:Michael Pih
    Returns:the folder_id of the parent folder, null otherwise
    Parameters:
    item_id:   The item id
    Declaration:
    
    function get_parent_folder (
      item_id	in cr_items.item_id%TYPE
    ) return cr_folders.folder_id%TYPE;
    
    

     

  • Function: content_item.get_path

    Retrieves the full path to an item, in the form of "/tv/programs/star_trek/episode_203"

    Author:Karl Goldstein
    Returns:The path to the item
    Parameters:
    item_id:   The item for which the path is to be retrieved
    root_folder_id:   Starts path resolution from this folder. Defaults to the root of the sitemap
    Declaration:
    
    function get_path (
      item_id        in cr_items.item_id%TYPE,
      root_folder_id in cr_items.item_id%TYPE default c_root_folder_id
    ) return varchar2;
    
    
    See Also:content_item.get_id, content_item.write_to_file

     

  • Function: content_item.get_publish_date

    Retrieves the publish date for the item

    Author:Karl Goldstein
    Returns:The publish date for the item, or null if the item has no revisions
    Parameters:
    item_id:   The item for which the publish date is to be retrieved
    is_live:   If 't', use the live revision for the item. Otherwise, use the latest revision. The default is 'f'
    Declaration:
    
    function get_publish_date (
      item_id    in cr_items.item_id%TYPE,
      is_live    in char default 'f'
    ) return cr_revisions.publish_date%TYPE;
    
    
    See Also:content_item.get_live_revision, content_item.get_latest_revision,

     

  • Function: content_item.get_revision_count

    Return the total count of revisions for this item

    Author:Karl Goldstein
    Returns:The number of revisions for this item
    Parameters:
    item_id:   The id the item
    Declaration:
    
    function get_revision_count (
      item_id   in cr_items.item_id%TYPE
    ) return number;
    
    
    See Also:content_revision.new

     

  • Function: content_item.get_root_folder

    Parameters:
    Not yet documented
    Declaration:
    
    function get_root_folder return cr_folders.folder_id%TYPE;
    
    

     

  • Function: content_item.get_template

    Retrieves the template which should be used to render this item. If no template is registered to specifically render the item in the given context, the default template for the item's type is returned.

    Author:Karl Goldstein
    Returns:The id of the registered template, or null if no template could be found
    Parameters:
    item_id:   The item for which the template will be unregistered
    use_context:   The context in the item is to be rendered, such as 'admin' or 'public'
    Declaration:
    
    function get_template (
      item_id     in cr_items.item_id%TYPE,
      use_context in cr_item_template_map.use_context%TYPE
    ) return cr_templates.template_id%TYPE;
    
    
    See Also:content_type.register_template, content_item.register_template,

     

  • Function: content_item.get_title

    Retrieves the title for the item, using either the latest or the live revision. If the specified item is in fact a folder, return the folder's label. In addition, this function will automatically resolve symlinks.

    Author:Karl Goldstein
    Returns:The title of the item
    Parameters:
    item_id:   The item for which the title is to be retrieved
    is_live:   If 't', use the live revision to get the title. Otherwise, use the latest revision. The default is 'f'
    Declaration:
    
    function get_title (
      item_id    in cr_items.item_id%TYPE,
      is_live    in char default 'f'
    ) return cr_revisions.title%TYPE;
    
    
    See Also:content_item.get_live_revision, content_item.get_latest_revision, content_symlink.resolve

     

  • Function: content_item.get_virtual_path

    Retrieves the virtual path to an item, in the form of "/tv/programs/star_trek/episode_203"

    Author:Michael Pih
    Returns:The virtual path to the item
    Parameters:
    item_id:   The item for which the path is to be retrieved
    root_folder_id:   Starts path resolution from this folder. Defaults to the root of the sitemap
    Declaration:
    
    function get_virtual_path (
      item_id        in cr_items.item_id%TYPE,
      root_folder_id in cr_items.item_id%TYPE default c_root_folder_id
    ) return varchar2;
    
    
    See Also:content_item.get_id, content_item.write_to_file, content_item.get_path

     

  • Function: content_item.is_index_page

    Determine if the item is an index page for the specified folder. The item is an index page for the folder if it exists in the folder and its item name is "index".

    Author:Karl Goldstein
    Returns:'t' if the item is an index page for the specified folder, 'f' otherwise
    Parameters:
    item_id:   The item id
    folder_id:   The folder id
    Declaration:
    
    function is_index_page (
      item_id   in cr_items.item_id%TYPE,
      folder_id in cr_folders.folder_id%TYPE
    ) return varchar2;
    
    
    See Also:content_folder.get_index_page

     

  • Function: content_item.is_publishable

    Determines if an item is publishable. Publishable items must meet the following criteria: 1) for each child type, the item has n children, min_n < n < max_n 2) for each relation type, the item has n relations, min_n < n < max_n 3) any 'publishing_wf' workflows are finished

    Author:Michael Pih
    Returns:'t' if the item is publishable in it's present state, Otherwise, returns 'f'
    Parameters:
    item_id The:   item ID of the potential parent
    Declaration:
    
    function is_publishable (
      item_id		in cr_items.item_id%TYPE
    ) return char;
    
    

     

  • Function: content_item.is_subclass

    Determines if one type is a subclass of another. A class is always a subclass of itself.

    Author:Karl Goldstein
    Returns:'t' if the child class is a subclass of the superclass, 'f' otherwise
    Parameters:
    object_type:   The child class
    supertype:   The superclass
    Declaration:
    
    function is_subclass (
      object_type in acs_object_types.object_type%TYPE,
      supertype	in acs_object_types.supertype%TYPE
    ) return char;
    
    
    See Also:acs_object_type.create_type

     

  • Function: content_item.is_valid_child

    Determines if an item would be a valid child of another item by checking if the parent allows children of the would-be child's content type and if the parent already has n_max children of that content type.

    Author:Michael Pih
    Returns:'t' if the item would be a valid child, 'f' otherwise
    Parameters:
    item_id The:   item ID of the potential parent
    content_type The:   content type of the potential child item
    Declaration:
    
    function is_valid_child (
      item_id	in cr_items.item_id%TYPE,
      content_type  in acs_object_types.object_type%TYPE
    ) return char;
    
    

     

  • Function: content_item.new

    Creates a new content item. If the data, title or text parameters are specified, also creates a revision for the item.

    Author:Karl Goldstein
    Returns:The id of the newly created item
    Parameters:
    name:   The name for the item, must be URL-encoded. If an item with this name already exists under the specified parent item, an error is thrown
    parent_id:   The parent of this item, defaults to null
    item_id:   The id of the new item. A new id will be allocated if this parameter is null
    locale:   The locale for this item, for use with Intermedia search
    item_subtype:   The type of the new item, defaults to 'content_item' This parameter is used to support inheritance, so that subclasses of content_item can call this function to initialize the parent class
    content_type:   The content type for the item, defaults to 'content_revision'. Only objects of this type may be used as revisions for the item
    title:   The user-readable title for the item, defaults to the item's name
    description:   A short description for the item (4000 characters maximum)
    mime_type:   The file type of the item, defaults to 'text/plain'
    nls_language:   The language for the item, used for Intermedia search
    text:   The text content of the new revision, 4000 charcters maximum. Cannot be specified simultaneously with the data parameter
    data:   The blob content of the new revison. Cannot be specified simultaneously with the text parameter
    relation_tag:   If a parent-child relationship is registered for these content types, use this tag to describe the parent-child relationship. Defaults to 'parent content type'-'child content type'
    is_live:   If 't', the new revision will become live
    creation_date:   As in acs_object.new
    creation_ip:   As in acs_object.new
    creation_user:   As in acs_object.new
    Declaration:
    
    function new (
      name          in cr_items.name%TYPE,
      parent_id     in acs_objects.context_id%TYPE default null,
      item_id	in acs_objects.object_id%TYPE default null,
      locale        in cr_items.locale%TYPE default null,
      creation_date	in acs_objects.creation_date%TYPE
    			   default sysdate,
      creation_user	in acs_objects.creation_user%TYPE
    			   default null,
      creation_ip	in acs_objects.creation_ip%TYPE default null,
      item_subtype	in acs_object_types.object_type%TYPE
                               default 'content_item',
      content_type  in acs_object_types.object_type%TYPE
                               default 'content_revision',
      title         in cr_revisions.title%TYPE default null,
      description   in cr_revisions.description%TYPE default null,
      mime_type   	in cr_revisions.mime_type%TYPE default 'text/plain',
      nls_language 	in cr_revisions.nls_language%TYPE default null,
      text	        in varchar2 default null,
      data	        in cr_revisions.content%TYPE default null,
      relation_tag  in cr_child_rels.relation_tag%TYPE default null,
      is_live       in char default 'f'
    ) return cr_items.item_id%TYPE;
    
    
    See Also:acs_object.new

     

  • Function: content_item.relate

    Parameters:
    Not yet documented
    Declaration:
    
    function relate (
      item_id       in cr_items.item_id%TYPE,
      object_id     in acs_objects.object_id%TYPE,
      relation_tag in cr_type_relations.relation_tag%TYPE default 'generic',
      order_n       in cr_item_rels.order_n%TYPE default null,
      relation_type in acs_object_types.object_type%TYPE default 'cr_item_rel'
    ) return cr_item_rels.rel_id%TYPE;
    
    

     

  • Procedure: content_item.copy

    Copies the item to a new location, creating an identical item with no revisions or associated workflow. If the target folder does not exist, or if the folder already contains an item with the same name as the given item, an error will be thrown.

    Author:Karl Goldstein
    Parameters:
    item_id:   The item to be copied
    target_folder_id:   The folder where the item is to be copied
    Declaration:
    
    procedure copy (
      item_id		in cr_items.item_id%TYPE,
      target_folder_id	in cr_folders.folder_id%TYPE
    );
    
    
    See Also:content_item.new, content_folder.new, content_item.move

     

  • Procedure: content_item.delete

    Deletes the specified content item, along with any revisions, symlinks, workflows, and template relations for the item. Use with caution - this operation cannot be undone.

    Author:Karl Goldstein
    Parameters:
    item_id:   The id of the item to delete
    Declaration:
    
    procedure delete (
      item_id	in cr_items.item_id%TYPE
    );
    
    
    See Also:acs_object.delete

     

  • Procedure: content_item.move

    Move the specified item to a different folder. If the target folder does not exist, or if the folder already contains an item with the same name as the given item, an error will be thrown.

    Author:Karl Goldstein
    Parameters:
    item_id:   The item to be moved
    target_folder_id:   The new folder for the item
    Declaration:
    
    procedure move (
      item_id		in cr_items.item_id%TYPE,
      target_folder_id	in cr_folders.folder_id%TYPE
    );
    
    
    See Also:content_item.new, content_folder.new, content_item.copy

     

  • Procedure: content_item.register_template

    Registers a template which will be used to render this item.

    Author:Karl Goldstein
    Parameters:
    item_id:   The item for which the template will be registered
    template_id:   The template to be registered
    use_context:   The context in which the template is appropriate, such as 'admin' or 'public'
    Declaration:
    
    procedure register_template (
      item_id      in cr_items.item_id%TYPE,
      template_id  in cr_templates.template_id%TYPE,
      use_context  in cr_item_template_map.use_context%TYPE
    );
    
    
    See Also:content_type.register_template, content_item.unregister_template, content_item.get_template

     

  • Procedure: content_item.edit_name

    Renames the item. If an item with the specified name already exists under this item's parent, an error is thrown

    Author:Karl Goldstein
    Parameters:
    item_id:   The id of the item to rename
    name:   The new name for the item, must be URL-encoded
    Declaration:
    
    procedure rename (
      item_id	 in cr_items.item_id%TYPE,
      name           in cr_items.name%TYPE
    );
    
    
    See Also:content_item.new

     

  • Procedure: content_item.set_live_revision

    Make the specified revision the live revision for the item

    Author:Karl Goldstein
    Parameters:
    revision_id:   The id of the revision which is to become live for its corresponding item
    Declaration:
    
    procedure set_live_revision (
      revision_id   in cr_revisions.revision_id%TYPE,
      publish_status in cr_items.publish_status%TYPE default 'ready'
    );
    
    
    See Also:content_item.get_live_revision

     

  • Procedure: content_item.set_release_period

    Sets the release period for the item. This information may be used by applications to update the publishing status of items at periodic intervals.

    Author:Karl Goldstein
    Parameters:
    item_id:   The id the item.
    start_when:   The time and date when the item should be released.
    end_when:   The time and date when the item should be expired.
    Declaration:
    
    procedure set_release_period (
      item_id    in cr_items.item_id%TYPE,
      start_when date default null,
      end_when   date default null
    );
    
    

     

  • Procedure: content_item.unregister_template

    Unregisters a template which will be used to render this item.

    Author:Karl Goldstein
    Parameters:
    item_id:   The item for which the template will be unregistered
    template_id:   The template to be registered
    use_context:   The context in which the template is appropriate, such as 'admin' or 'public'
    Declaration:
    
    procedure unregister_template (
      item_id      in cr_items.item_id%TYPE,
      template_id  in cr_templates.template_id%TYPE default null,
      use_context  in cr_item_template_map.use_context%TYPE default null
    );
    
    
    See Also:content_type.register_template, content_item.register_template, content_item.get_template

     

  • Procedure: content_item.unset_live_revision

    Parameters:
    Not yet documented
    Declaration:
    
    procedure unset_live_revision (
      --/** Set the live revision to null for the item
      --    @author Michael Pih
      --    @param item_id The id of the item for which to unset the live revision
      --    @see {content_item.set_live_revision}
      item_id      in cr_items.item_id%TYPE
    );
    
    

     

  • Procedure: content_item.write_to_file

    Writes the content of the live revision of this item to a file, creating all the neccessary directories in the process

    Author:Karl Goldstein
    Parameters:
    item_id:   The item to be written to a file
    root_path:   The path in the filesystem to which the root of the sitemap corresponds
    Declaration:
    
    procedure write_to_file (
      item_id     in cr_items.item_id%TYPE,
      root_path   in varchar2
    );
    
    
    See Also:content_item.get_path

     

    Last Modified: $Id: item.html,v 1.3 2004/06/01 22:54:18 donb Exp $