View Parts

<ActionLink>

Creates a Link to appear on a record's 'Actions' Menu when opened in the Web Console

The <ActionLink> element provides an easy way to add links to web resources to the 'Actions' menu of records when they are opened in the Web Console.  For example if someone writes a daily weather blog - links on the 'Actions' menu can give users easy access to weather sites when they are composing blog posts.
<ActionLinks>
   <ActionLink Href="http://www.brickriver.com/brusersguide/" Label="Brick River User's Guide" Secure="false" />
</ActionLinks><br>
Attributes:
Href: a URL to an internal or external site or resource.
Label: creates a text label associated with an element
Secure: disguises elements of a URL used by an element

<ActionLinks>

Contains elements which create Links on a View's 'Actions' Button

<ActionLinks> accepts no attributes.
<ActionLinks>
   <ActionLink Href="http://www.brickriver.com/brusersguide/" Label="Brick River User's Guide" Secure="false" />
</ActionLinks><br>

<Category>

Defines a Category Field
The <Category> tag identifies a category field in the base table of View - or defines a new category field.
<Category  Id="Type" Default="Trustees" Invisible="true"  />
Attributes:
CatType: sets the category list that will provide data entry options for the field
Cmd: Controls the merging of overlay and base table elements
ColorCoded: Sets whether a field will associate color codes with data entries
Default: a value assigned to a field when a new record is created
Description: creates the description for the element
ExportAbbrev: sets whether to include a Category abbreviation along with Category name when records are exported.
FieldId: sets an Id value for a field that can be used to manage relationships between records.
Id: the unique identifier of the element
Important: sets 'importance' style for Fields and Fieldsets in data entry windows.
Invisible: sets the invisibility of the entity
Multiple: Sets whether a category field can accept a single or multiple values.
Name: the display name for the entity
ReadOnly: sets the read only property for the element
ReadOnlyOnAdd: sets the read only property for the field when creating a new record
ReadOnlyOnEdit: sets the read only property for the field when editing an existing record
Required: sets the required property for the field
Searchable: determines whether the field may be included in searches

<Column>

Defines a Column Field
The base table contains a <Column> element for every field that native to a Brick River table.
When a <Column> element is added to a View overlay, attributes included in the tag overwrite or extend attributes for the identical Column Id in the base table.
For example if the base table contains this:
<Column Id="Phone" Type="VarChar" Length="25"/>
and the Overlay contains this:
<Column Id="Phone" Type="VarChar" Length="25" Cmd="Remove"  />
then the Phone field is removed from records accessed with the view.
<Column Id="Phone" Name="Primary Phone" Type="VarChar" Length="25"/>
Attributes:
AllowHTML: sets whether the field may store encoded HTML content
AllowTime: determines whether a DateTime field may include a time value
CatType: sets the category list that will provide data entry options for the field
Cmd: Controls the merging of overlay and base table elements
ColumnName: No longer in use.
DedupIgnore: Sets whether a field is included in record de-duplication processes
Default: a value assigned to a field when a new record is created
Description: creates the description for the element
Emailable: TBD
Format: sets the format of the field data
FriendlySource: sets the FriendlySource of the element
Id: the unique identifier of the element
Important: sets 'importance' style for Fields and Fieldsets in data entry windows.
Invisible: sets the invisibility of the entity
Length: sets the character length of the field
Name: the display name for the entity
NullsHigh: determines whether fields with null values above or below non-null values when records are sorted
Password: sets field option to hide characters upon entry
ReadOnly: sets the read only property for the element
ReadOnlyOnAdd: sets the read only property for the field when creating a new record
ReadOnlyOnEdit: sets the read only property for the field when editing an existing record
Required: sets the required property for the field
Rows: sets the vertical size of the field to a number of rows
Scale: sets the number of places to follow the decimal in a number field
Searchable: determines whether the field may be included in searches
Type: sets the data type of the entity
Utc: sets whether a date/time field will be stored as local time or converted to Universal Coordinated Time
ValidPattern: sets the character pattern allowed for the field

<CustomField>

Defines a field that is not native to a Brick River table - Creates a Custom field in a View
The <CustomField> tag is used in XML overlays to define custom column fields in a view.
<CustomField Id="Parent Name" Name="Name of Parent or Guardian" Type="VarChar" Length="max" Cmd="Before:FullName" />
Attributes:
AllowHTML: sets whether the field may store encoded HTML content
AllowTime: determines whether a DateTime field may include a time value
CatType: sets the category list that will provide data entry options for the field
Cmd: Controls the merging of overlay and base table elements
ColumnName: No longer in use.
DedupIgnore: Sets whether a field is included in record de-duplication processes
Default: a value assigned to a field when a new record is created
Description: creates the description for the element
Emailable: TBD
FieldId: sets an Id value for a field that can be used to manage relationships between records.
Format: sets the format of the field data
FriendlySource: sets the FriendlySource of the element
Id: the unique identifier of the element
Important: sets 'importance' style for Fields and Fieldsets in data entry windows.
Invisible: sets the invisibility of the entity
Length: sets the character length of the field
NullsHigh: determines whether fields with null values above or below non-null values when records are sorted
OffColor: Sets the color of a toggle field when that field is 'Off'
OffLabel: Sets the text of a toggle field when that field is 'Off'
OnColor: Sets the backround color of a toggle field when that field is 'Off'
OnLabel: Sets the text of a toggle field when that field is 'On'
Password: sets field option to hide characters upon entry
ReadOnly: sets the read only property for the element
ReadOnlyOnAdd: sets the read only property for the field when creating a new record
ReadOnlyOnEdit: sets the read only property for the field when editing an existing record
Rows: sets the vertical size of the field to a number of rows
Scale: sets the number of places to follow the decimal in a number field
Type: sets the data type of the entity
Utc: sets whether a date/time field will be stored as local time or converted to Universal Coordinated Time
ValidPattern: sets the character pattern allowed for the field

<DedupFields>

Defines fields to be included when comparing records for de-duplication
Brick River Views have a 'Find Duplicates' feature seek and consolidate duplicated Content or Contacts records.  The fields included in the parent tag <DedupFields> define which fields will be used for comparison testing. 
For example, the Base XML for Views based on the Contacts table define that duplicate records based on matching Name, FirstName, LastName, and Email.
<DedupFields> accepts no attributes.
<DedupFields>
 <Ref Id="Name"/>
 <Ref Id="FirstName"/>
 <Ref Id="LastName"/>
 <Ref Id="Email"/>
</DedupFields><br>
	

<Fields>

Contains child elements which define the Fields for the View
<Fields> is the parent element for all tags which define fields and fieldsets for a view.
The <Fields> element typically contains the child elements:
<FieldSet>Defines a logical area in the record form where similar fields are contained within a border.  For example, address fields are often contained within a FieldSet
<Column>Defines a field that is already exists in the data record
<Category>Defines a category field already exists in the data record
<CustomField>Creates and Defines a field that does not currently exist in the underlying table.  For example in creating a custom View for Company Cars.  There is no existing field to store 'license plate number'  the <Custom Field> tag would be used to create and define that field.
<Relationship>Defines a relationship to a field in another record.  For example an Authors field on a blog entry record is often defined as a relationship to an Author record.
<File> 
<Fields> accepts no attributes.
<Fields>
<FieldSet Id="NameFields" Name="Name Fields" Important="true">
<Column Id="Name" Name="Full Name" Type="VarChar" Length="255" Important="true"/>
<Column Id="FirstName" Name="First Name" Type="VarChar" Length="255" Important="true"/>
<Column Id="LastName" Name="Last Name" Type="VarChar" Length="255" Important="true"/>
<Column Id="PreferredName" Name="Preferred Name" Type="VarChar" Length="255"/>
<Column Id="MiddleName" Name="Middle Name" Type="VarChar" Length="255"/>
<Column Id="NameSuffix" Name="Name Suffix" Type="VarChar" Length="255"/>
</FieldSet>
</Fields><br>
	

<FieldSet>

Contains elements to be logically grouped as related fields on data entry forms
The <FieldSet> element can be used to group related elements so they will appear together on data forms in the Web Console.
<FieldSet> accepts no attributes.
<FieldSet Id="MailingAddressFields" Name="Mailing Address" Important="true">
<Column Id="MailAddress1" Name="Address 1" FullName="Mailing Address 1" Type="VarChar" Length="255"/>
<Column Id="MailAddress2" Name="Address 2" FullName="Mailing Address 2" Type="VarChar" Length="255"/>
<Column Id="MailCity" Name="City" FullName="Mailing City" Type="VarChar" Length="255"/>
<Category Id="MailState" Name="State" FullName="Mailing State" CatType="States" ExportAbbrev="true" ColorCoded="false"/>
<Column Id="MailZip" Name="Zip" FullName="Mailing Zip" Type="VarChar" Length="25" ZipCode="true"/>
<Category Id="MailCountry" Name="Country" FullName="Mailing Country" CatType="Countries" ColorCoded="false"/>
</FieldSet><br>
	

<File>

Defines a field which stores a link to file.
The <File> element defines a field that stores link information to one or more files.
<File Id="PrimaryImage" Multiple="false" Name="Primary Image"/><br>
	
Attributes:
Cmd: Controls the merging of overlay and base table elements
Description: creates the description for the element
Id: the unique identifier of the element
Important: sets 'importance' style for Fields and Fieldsets in data entry windows.
Invisible: sets the invisibility of the entity
Multiple: Sets whether a category field can accept a single or multiple values.
Name: the display name for the entity
ReadOnly: sets the read only property for the element
ReadOnlyOnAdd: sets the read only property for the field when creating a new record
ReadOnlyOnEdit: sets the read only property for the field when editing an existing record
Required: sets the required property for the field
Searchable: determines whether the field may be included in searches

<Filter>

Defines a filter for a View
Each <Filter> element defines a filter for a View. 
<Filter Id="NeedsApproval" Type="SavedFilter" Name="Needs Approval">
<Eq FieldId="NeedsApproval" Value="true"/>
</Filter><br>
	
Attributes:
Id: the unique identifier of the element
Name: the display name for the entity

<Filters>

Contains child elements to define filters for the View
In a Base XML and View Overlays,  <Filters> is the parent element which contains tags to define and control Filter elements for the View.
Within <Filters> a child <Filter> tag defines each individual filter.
The XML Base for Views based on the Contacts table defines a saved filter based on the Contact Record "Do Not Show Online" checkbox
The XML Base for Views based on the Content table defines two saved filters based on the 'Visibility' and 'Needs Approval' fields.

<Filters> accepts no attributes.

<Filters>
  <Filter Id="NeedsApproval" Type="SavedFilter" Name="Needs Approval">
   <Eq FieldId="NeedsApproval" Value="true"/>
  </Filter>
<Filters>
<br>
	

<HandyFields> 

Define fields to be available for instant filtering in the Web Console
The parent <HandyFields> element contains child <Ref> elements to create "Handy Fields" - controls in the Web Console to allow instant filtering on a single View field.  For example, the View Base for the Blog Post view creates Handy Field controls to filter Blog Post content by Author or Topic.
<HandyFields> accepts no attributes.
<HandyFields>
 <Ref Id="Authors"/>
 <Ref Id="Topic"/>
</HandyFields>
<br>
	

<Info>

Defines a section of static text to display when viewing or editing a View record.
<Info> tags can be used anywhere within <FieldSet> tags to add instructions, alerts, or other static text to screens used to edit View records. Static text and HTML tags may be included within <Info>
<Info Id="colorsinfo" Pointer="Down">
 <b>
 The Background Color field is optional.
 </b>
 If you don't enter a Background Color, the default color (light grey) will be used.
 <br/>
 <b>
 All color values must be in hex
 </b>
 - for example white = #fff.
 <br/>
 If you're not familiar with color hex codes, or want to pick colors from a palette -
 <a href="http://htmlcolorcodes.com/color-chart/" target="_blank" style="text-decoration:underline;">
 You'll find some nice color charts here.
 </a>
</Info>
<br>
	

<ListFields>

Defines the fields to be displayed in the Web Console for the View
The <ListFields> element defines the fields to be displayed when the View is active in the Web Console.  Any <Ref> elements must indicate a field Id that is currently defined withing the <Fields> element.
For example if the 'PreferredName' is removed from the View using <Column Id="PreferredName" Cmd="Remove" /> then you may not use <Ref Id="PreferredName"/> within <ListFields>.
<ListFields> accepts no attributes.
<ListFields>
<Ref Id="FirstName"/>
<Ref Id="PreferredName"/> 
<Ref Id="LastName"/>
<Ref Id="Email"/>
<Ref Id="Phone1"/>
<Ref Id="Phone2"/>
</ListFields>
<br>
	

<Ref>

<Ref> accepts no attributes.


<Relationship>

Defines a relationship between the current record and another record.
The <Relationship> element is used to establish a relationship between the current record and external records.  <Relationship> fields can be used to establish one to many as well as many to many relationships between records.
The ease with which you can define Relationships between records is one of the features that makes Brick River such a powerful and easily customizable Content Management System.
Out of the box, Brick River defines relationships between Blog Posts and the Authors who compose them.  With only a few minutes work you can define content such as Recipes and Ingredients - with one recipe related to many ingredients, or Trustees and Committees - with each Trustee on many Committees and each Committee linked to many Trustees.  See examples of each below.
One To Many Relationship (Recipes and Ingredients) - read the documentation regarding the Dependent and ShowAsTable attributes.
<View Id="Recipes" TableId="Content" Name="Recipes"  Plural="Recipes" Singular="Recipe" >
    <Fields>
        <Relationship Id="Ingredients" TableId="Content" ViewId="Ingredients" Dependent="true" ShowAsTable="true"/>
        ...
    </Fields>
</View>
<View Id="Ingredients" TableId="Content" Name="Ingredients"  Plural="Ingredients" Singular="Ingredient" >
    <Fields>
        ...
    </Fields>
</View><br>
	
Many To Many Relationship (Trustees and Committees - read the doc about Reciprocal and ViewId attributes.
<View Id="Trustees" TableId="Contacts">
    <Fields>
        <Relationship Id="Committees" TableId="Contacts" ViewId="Committees" />
    </Fields>
</View>
<View Id="Committees" TableId="Contacts">
    <Fields>
        <Relationship Id="Trustees" TableId="Contacts"  Name="Current Members" ViewId="Trustees" FieldId="Committees" Reciprocal="true" />
    </Fields>
</View><br>
	
Attributes:
Cmd: Controls the merging of overlay and base table elements
Dependent: Sets the dependency between the field and a field from another record.
Description: creates the description for the element
Id: the unique identifier of the element
Important: sets 'importance' style for Fields and Fieldsets in data entry windows.
Invisible: sets the invisibility of the entity
Multiple: Sets whether a category field can accept a single or multiple values.
Name: the display name for the entity
Permission: sets a permission for a View or Relationship
ReadOnly: sets the read only property for the element
ReadOnlyOnAdd: sets the read only property for the field when creating a new record
ReadOnlyOnEdit: sets the read only property for the field when editing an existing record
Reciprocal: creates a reciprocal relationship between records - if you link record A to record B, you can record  and manage it's link to record A
Required: sets the required property for the field
Searchable: determines whether the field may be included in searches
ShowAsTable: allows multiple records linked to the current record to appear as an embedded table
TableId: the Id of the database table
ViewId: sets a the View to be used to provide options for linking records in Relationship fields.

<SearchFields>

Contains elements which define the fields to be included when performing a Search for records in the Web Console
<Ref> tags within <Search> define which fields will be included when using the Search control in the Web Console.
<SearchFields> accepts no attributes.
The Contacts base table contains the following elements:
<SearchFields>
<Ref Id="Name"/>
<Ref Id="FirstName"/>
<Ref Id="PreferredName"/>
<Ref Id="LastName"/>
<Ref Id="Email"/>
</SearchFields> <br>
	
To adjust this list to exclude the Email field from the search and include the Mailing address field - include these elements in that View's XML overlay:
<SearchFields>
<Ref Id="MailAddress"/>
<Ref Id="Email" Cmd="Remove"/>
</SearchFields>
	

<SortField>

Identifies a field to be included in the sorting logic for the View.
<SortField> requires the 'Id' attribute to identify the field to be sorted.  Optional attributes 'Descending' and 'Cmd' set the type of sort and position relative to other fields included in the sort.
<SortFields>
<SortField Id="Name" Cmd="Remove"/>
<SortField Id="LastName"/>
<SortField Id="FirstName"/>
</SortFields>
<br>
	
Attributes:
Cmd: Controls the merging of overlay and base table elements
Descending: Sets the sort order for the field
Id: the unique identifier of the element

<SortFields>

Contains elements which set the sort order of records in the View
The <SortFields> parent element contains <SortField> elements to define the sort order of records in the View.
<SortFields> accepts no attributes.
The Default sort order for Views based on the Contacts Table is:  Name, LastName, FirstName:
<SortFields>
   <SortField Id="Name"/>
   <SortField Id="LastName"/>
   <SortField Id="FirstName"/>
</SortFields> <br>
	
In a View overlay, removing the Name element creates a new sort order of LastName, FirstName:
<SortFields>
<SortField Id="Name" Cmd="Remove"/>
<SortField Id="LastName"/>
<SortField Id="FirstName"/>
</SortFields><br>
	
Moving the FirstName above Last Name creates a sort order of FirstName, LastName:
<SortFields>
<SortField Id="Name" Cmd="Remove"/>
<SortField Id="LastName"/>
<SortField Id="FirstName" Cmd="Before:LastName"/>
</SortFields>
	

<Title>

Contains elements which define a record's Title
<Ref> elements within <Title> define the fields which make up each record's Title.  The Title serves multiple purposes.
Record Titles can easily be dropped in to Site source codes using the @Title variable.
The Title populates the drop down lists when Relationship fields link to external records.
<Title> accepts no attributes.
<Title>
<Ref Id="Title"/>
</Title>
<br>
	

<View>

The root element of an XML Layover
Each XML layover contains all other elements within the <View> element.  Required attributes are Id and TableId.  The TableId names the Id of the root element of the base table.
<View Id="Volunteers" TableId="Contacts" Purpose="This CUSTOM ROOT view applies to everyone" >
    ...
</View>
<br>
	
Attributes:
Cmd: Controls the merging of overlay and base table elements
HideIndex: hides the 'Jump to field' index control from the View display
Id: the unique identifier of the element
Important: sets 'importance' style for Fields and Fieldsets in data entry windows.
Inherits: allows a View to inherit all the elements of another View
Invisible: sets the invisibility of the entity
Name: the display name for the entity
Permission: sets a permission for a View or Relationship
Plural: the plural name of the entity
Purpose: defines a purpose for the View
Singular: the common name of a single record of a View
TableId: the Id of the database table
ViewId: sets a the View to be used to provide options for linking records in Relationship fields.