=pod

=head1 NAME

Bric::AssetEditing - The creation of elements and putting them together into 
assets

=head1 VERSION

$LastChangedRevision$

=head1 DATE

$LastChangedDate: 2005-10-10 00:15:55 -0700 (Mon, 10 Oct 2005) $

=head1 BACKGROUND

This document describes the creation of elements and their uses in the 
creation of Business Data.

=head2 Elements

Elements are a definition of what the Business Data can be.   Elements define
data fields and subelements that they can contain.   They also define rules
about the data.   The elements do not affect the layout, but provide sets
of rules that the templates and Business data conform to.

=head2 Business Data

When creating a story, the Business Data are the values that relate to the
fields.   So if an element contains a field teaser, the Business Data might
be "Aren't Clowns Lovely?".

=head1 More About Elements

The first place one starts when making a new story is with an Element. An
element defines the structure of a story. It lists the data fields available
to those creating a story. There are two types of root element, media and
story, and there are subelements that can be a part of other elements. So if a
story element is created, it can contain page elements, which can contain
paragraph attributes. The Story Element is a top level element, while the Page
element is a subelement. The Page element contains Paragraph attributes.

=over 4

=item Element

A subelement of Media types, Story types, or other elements.

=item Story

An element that represents the top level story. This can contain other
elements.

=item Media

An element that represents the top level media. This can contain other media
elements.

=back

=head2 More Element Types

An element type is a flag that will alter the behavior of an element.

=over 4

=item Page

This element will represent a single page on final publish.

=item Fixed

This element will represent a fixed url page. A fixed url page does not have
the coverdate or slug in the url string. It is used for pages like covers.

=item Related Story

This element is used to link to other story objects.

=item Related Media

This element is used to link media objects to a story.

=back

=head2 Elements from element types

To create the framework of a story or media asset, create an element based
upon either a story or media element type. Associate the output channels that
the element will be sent through. Templates will need to be created for each
of the output channels.

An Output Channel is a group of templates that can deliver the same content in
a different format. Examples might be a WAP version or an email version of
stories.

See L<Bric::Templates|Bric::Templates> for more templating info.

=head2 Data Elements on Elements

Each Element can contain any number of Data Elements. These are fields that
can be set on the element. The admin interface provides ways of setting the
input of these elements. Select Menus, text, date fields can all be set here.

=head2 Rules for Data Elements

=over 4

=item Required

If selected this field must be present in all story or media assets. It will
automatically be created when an asset is called up for editing.

=item Repeatable

If selected this field will be allowed to exist any number of times. It will
also be allowed to be bulk edited.

=back

=head2 Elements in Elements

Elements can also contain other non-story/media elements. These can then
contain other elements to whatever level of complexity is needed.

=head1 Story Editing

=head2 Fields on creation

When a new story is created these are the fields that can be entered.

=over 4

=item *

title - the name of the story

=item *

slug - a string that will appear in the url of stories that are not marked as
fixed

=item *

story type - this is where one chooses which story element to base this story
upon

=item *

source - the rights owner of the story. Will be used in conjunction with
coverdate to set the expire date.

=item *

primary category - the main category association of this story. When other
stories link to this one, the primary category will be used to construct the
url

=item *

priority - the importance of the story in workflow

=item *

cover date - the intended date of publish

=back

=head2 Additional fields on Edit Screen

=over 4

=item *

description

=item *

expire date - the date at which the story should be unpublished

=item *

content - the area in which elements and attributes are added and edited

=item *

categories - Additional associations of categories to the story

=item *

Keywords - Words that can be set to describe the story

=item *

Contributors - Users that can be associated with this story

=item *

Notes - an area where one can leave notes for other users

=item *

Trail - a list of actions taken on this story

=back

=head1 Media Editing

This is the area where files can be uploaded and properties can be set on
them. Media elements can hold Data Elements and other Elements in the same way
that Stories can.

=head2 File Uploading

The file that represents the media object is uploaded here.

=head1 Asset Versioning

Every time an asset is checked out and then checked back in, a new version is
created. It has the same ID as the previous asset version.

=head2 Viewing Past versions

The Profile screen has a section where, if there are previous versions, one
can go back and view them.

=head2 Reverting to Past Versions

If an asset is checked out, one can revert the data to a previous version. The
revert will overwrite all the data in the current version and replace it with
the previous version's data. It will keep the same version ID, and any
versions that existed in between the reverted versions will still be
available.
