All records in Brick River tables are defined by sets of XML elements that our data engine processes when interacting with database tables.
XML elements stored in multiple Views may contribute to the Final XML that is ultimately passed through our data engine.
This article dives in to the weeds to thoroughly explain the relationship between:
Out of the box, Brick River includes 8 visible and 2 hidden System Views that provide baseline definitions for basic types of Content and Contacts.
Visible on Web Console menus are:
For some sites, customers may use Brick River Bundle Views - which are Views that enhance System Views for specific purposes.
For example, our developers worked on so many websites for nonprofit organizations - it made sense to create a 'Nonprofits' Bundle - to define Contacts such as Volunteers and Donors - and to define Content such as Fundraisers and Work Projects.
System and Bundle Views create the View Base XML - the 'base set' of XML elements that define a basic Type of Content or Contact.
The View Base XML can be reviewed and copied to the clipboard using the View Base button in the View Editor window.
The View Base XML can not be directly edited. Developers must extend the View Base XML by composing XML Overlays in Custom Views.
With nothing in place to customize the View Base XML - the View Base is the Final XML for a given View.
In the article, Contacts, Content, and Views we saw that the Organization View was not present on the Content menu because it had View Base XML containing the attribute - Invisible="true"
<Table Id="Contacts" Name="Organizations" Invisible="true"> ... </Table>
A Custom View was created with an XML Overlay which included Invisible="false
<View Id="Organizations" Invisible="false"> ... </View>
The Final XML interpreted by the data engine used the content of the XML Overlay to overwrite and add to the elements and attributes of the View Base XML
<Table Id="Contacts"> <View Id="Organizations" Invisible="false"> ... </View> </Table>
A more complex example demonstrates how multiple Custom Views manage User and Groups permissions in Custom Views.
Consider a site that organizes the activity of thousands of volunteers.
There are five summer interns who call volunteers to match them to volunteer opportunities in their town. Volunteers should not be scheduled for activities until they have passed a background check.
Two interns have additional jobs. Hakeem registers new volunteers and submits paperwork for their background check. Abigail files the paperwork when it is received and authorizes new volunteers as "Passed" (or "Failed" - but all the volunteers in our example will pass).
All interns use a Custom View called Volunteers to lookup contact information and update Volunteer data.
Create a permissions GROUP called Interns that includes all five summer interns:
View - a set of XML elements which the Brick River data engine uses to define records in a database table
System View - a View native to the Brick River system.
Bundle View - a View native to a Brick River View Bundle. Bundled Views enhance and extend System views for rapid CMS development in specific area - such as Non Profit and Arts and Culture organizations
Custom View - A View that contains permissions and XML Overlays which customize Brick River Content and Contacts records.
Custom Root View - A custom View that does not change the User or Group permissions of it's parent View
Groups View - A Custom View which grants View and record access to specific Groups
Users View - A Custom View which grants View and record access to specific Users
View Base XML - The combination of XML elements from System and Bundle Views which contribute to the Final XML used to define records.
XML Overlay - XML elements stored in Custom Views which contribute to the Final XML used to define records.
Final XML - The combination of all Custom, Bundle, and System View XML elements.
Call 800-924-5220 or