The template engine is based on the concept of views. In practice, all web-based digital repository systems offer several common views, interconnected by hyperlinks. These views, and the linkages between them, are what support convenient access to the information contained in the system. The dmBridge view architecture is illustrated in Figure 7.1, “The finding process in dmBridge”. The orange ellipses in this figure represent user intent, and the blue boxes represent concrete views.
An explanation of each view follows.
Error view is displayed automatically in place of any of the other views when
there is an unrecoverable fatal error. Enabling debug mode in
config.ini will display more information about the
Favorites view is a subset of results view that displays a user's favorites. Because it inherits from results view, it has the same display options (e.g. list, grid, tile). It adds checkboxes and a "Remove From Favorites" button.
The dmBridge favorites are stored in the same cookie as the default CONTENTdm® favorites, so changes made to the favorites in dmBridge will show up in the default CONTENTdm® templates, and vice versa.
Favorites view only displays those objects to which the user has access from the current template set. If two template sets (A and B) exist, and neither has access to any of the collections accessible by the other, neither will render any favorites that the other will. But the favorites are still present in the user's cookie at all times.
Object view is used in single-object context. Typically, it is accessed by
clicking on a link from an object in results
view. Object view supports both compound and non-compound objects. When
using the HTML templates in this view, keep in mind that either
view_compound.html.php may be loaded depending on whether
or not the object is compound.
Object-results view is used to display compound object search results. Results
are displayed in a two-column HTML table, one object per row, with the page title
in the left column and the full text of the page in the right column. Only pages
that match the search query are displayed; matching terms are enclosed in an HTML
<span> element with class
view is only available for searchable compound objects.
Results view is used in contexts where a number of objects are displayed alongside each other. It can be populated by any group of objects, such as search results, browse results, or a user's favorites. (Favorites are handled by Favorites view, a subset of results view.)
There are two results view templates inside any template set folder:
object/results_faceted.html.php. When dmBridge has
facets to display, it will load the latter. The reason these are separate is
because the presentation of facets often requires a major difference in HTML
layout. If you find that this is not the case for you, feel free to remove
all of the content from one of them and
include() the other
from it in order to eliminate redundancy.
Results view can be customized in the on a per-collection basis. See the Control Panel section for a list and description of the available options.
Results view provides several possible views within itself, each of which are
just different ways of displaying objects. An easy way of rendering links to each
of these views is using the
DMResultsTemplateHelper::viewLinks() method. The user
can always get any view by supplying the
view parameter in
the URI query string, e.g.
?view=tile. It is not currently
possible to disable those views entirely.
Grid view displays results in an HTML table, with one result per row. Columns are customizable and configurable in the Collections section of the Control Panel on a per-collection (not per-template-set) basis. Grid view is the default view within results view.
List view is like an inverted grid view, with metadata fields displayed
vertically per-object instead of horizontally. List view can be accessed within
results view by supplying the
?view=list parameter in
Tile view, like grid view, displays results in an HTML table. However, in
tile view, each object has its own table cell. The number of columns is
configurable in the Collections
section of the Control Panel on a per-collection (not per-template set) basis.
If you are using
display results in your templates, which the built-in "Basic" template set
does, tile view can be accessed within results view by supplying the
?view=tile parameter in the URI.
Search view is used to display the advanced search form(s) (not search results, which are handled by results view). This view is not strictly necessary for all digital collections - you could write your own search interface, or use Custom Queries and Results (CQR) - but is provided anyway due to the complexity of the forms.
As you may already know, CONTENTdm® provides four different search forms on its Advanced
Search page, allowing the user to search "across all fields;" "selected fields;"
"by proximity;" or "by date." dmBridge merges the first two of these forms
together, offering a total of three different search forms, which can be added to
the advanced search template (
dateSearch() methods of the
Login view is used to display a login form for authorized users to authenticate
themselves. The login form is rendered by
DMGenericTemplateHelper::getHtmlLoginForm() and is
very simple, consisting of only two text fields and a submit button.
Like search view, login view is not strictly necessary for all digital collections. You could just as easily display the form on any other page, and never point users to login view at all.
By default, the authentication process uses CONTENTdm®'s authentication system. This can be changed; see Chapter 9, User authentication.
There is no "logout view;" the process of logging out sends the user to results view.