Many of the CatDV tags listed above define a clip or catalog variable that contains the values being displayed. It is up to the JSP itself to display the desired attributes of the object. (Note that ‘attributes’ might also be referred to as fields or properties, or as columns when they’re displayed in a table.) Each attribute has a name such as “Name” or “Tape” by which it is known – all the available clip and catalog attribute names are shown in the lists below.
The value of an attribute can be displayed using syntax such as <%= clip.get(“Name”) %> within a JSP page. There are several variants of this call, all of which accept at least one parameter that defines the attribute name. get() will display the value as a string of text, or display an empty string if the attribute has no value. get_t() is similar but returns “ ” if the attribute is empty, which is sometimes necessary when displaying values in an HTML table. More generally, get() with two parameters returns the second string if the attribute is empty, for example get(“WhoCreated”, “N/A”). get_limit() takes a parameter which defines how many characters to display at most – if the text is longer than this limit it is truncated and an ellipsis “…” is shown. If you’re unsure which attributes might be available then the keys() method returns a Java Enumeration of all the property keys.
When a tag is intended to display a list of objects (such as all the clips in catalog) it will iterate over the list and set the variable to each row in succession.
Catalog object
The following attributes are defined for catalogs:
ID | The numeric id of the catalog. |
NumClips | Number of clips in the catalog. (Number of matches if performing a query.) |
Name | The catalog name. |
Comment | The catalog notes. |
WhoCreated | Which user first created the catalog. |
WhoSaved | Which user last modified the catalog. |
WhoPublished | Who published the catalog to the database. |
Modified | When was the catalog last modified. |
Version | Which version of CatDV Pro last saved the catalog. |
Tapes | All the unique tape name(s) of clips in the catalog. |
ClipTypes | All the different clip types represented in the catalog (eg. DV, MOV, JPEG, LOG, etc.) |
Info | A brief status text about the query. |
MinGMTDate | The earliest record date of any clip in the catalog. |
MaxGMTDate | The latest record date of any clip in the catalog. |
GMTRange | A summary of the range of dates covered by clips in the catalog. |
MinFileDate | The earliest file modification date of any media file in the catalog. |
MaxFileDate | The latest file modification date of any media file in the catalog. |
UserName | CatDV user name who owns the catalog (Enterprise server only) |
GroupName | CatDV group that owns the catalog (Enterprise server only) |
Clip object
The following attributes are defined for clips:
ID | The numeric id of the clip. |
CatalogID | The numeric id of the catalog that this clip belongs to. |
CatalogName | The name of the catalog the clip belongs to. |
CatalogNotes | The comments of the catalog the clip belongs to. |
Name | Clip name. |
Tape | Tape or reel name |
In | Start of clip (timecode) |
Out | End of clip (timecode) |
In2 | Start of selection within clip (timecode) |
Out2 | End of selection within clip (timecode) |
Duration | Duration of clip (timecode) |
Bin | Bin name |
Timecode | The timecode format (eg. 2997 for drop frame NTSC, or 25 for PAL) |
Notes | Clip notes field |
Type | Clip type |
SeqNum | Sequence number of clip within its import source |
Transition | Transition (for clips that came from importing an EDL) |
Modified | Date the clip entry was last modified |
ImportNotes | Import warnings |
DVTC | The timecode valid embedded in the DV stream (usually same as In) |
Marked | Whether the clip is marked or not |
Hidden | Whether the clip is marked as being hidden |
SourceMedia | The source media filename (for clips imported from a media file) |
Audio | The audio format of the clip (if imported from a media file) |
Video | The video format of the clip (if imported from a media file) |
Importer | The QuickTime importer used to import the media file |
QTTracks | A list of tracks in the movie (if imported from a media file) |
Metadata | QuickTime user data (eg. Exif metadata tags) |
DataRate | The data rate (if known) |
MediaSize | The size of the media file (if known) |
IsStill | Is this a still image? |
Format | A summary of the format of the media |
RecDate | The original date of recording (if known, eg. from DV metadata) |
ClockAdjust | Any camera clock adjustment (from local time to GMT) |
GMTDate | The record date or media file date (corrected for GMT if relevant) |
DVInfo | An encoded version of the DV metadata |
PosterID | The ID of the poster thumbnail |
Poster.IMG | This returns an <IMG SRC=…> tag that will display the poster thumbnail for the clip at maximum available size. |
Poster.SMALLIMG | This returns an <IMG SRC=…> that returns the poster thumbnail for the clip scaled so it is no larger than 48×36 pixels in size. |
Preview.URL | The URL of the preview movie (if available) |
Preview.LINK | This returns a complete link including an appropriate icon, whether or not the preview is available, ie. <A href=…><IMG SRC=…></A> |
User1, …, UserN | These return the user-defined attributes of the clip. Note that the user-defined names of these attributes are not stored in the database and are used for display in the client application only. Within the get() call it is necessary to use the numeric id of the user attributes, for example “User11” might correspond to “Project”, but if you customize the JSP you can of course display your own label that correctly describes the field. |
DataRate.RAW | Unformatted data rate (bytes/sec) |
MediaSize.RAW | Unformatted media file size (bytes) |
AllThumbnails.IMG | Sequence of <IMG…> tags containing all the available thumbnails for the clip (between the clip’s In and Out point). (For practical reasons this is limited to a maximum of 16 thumbnails.) |
MediaDate | Modification time of the media file |
Not all these properties will be set for all clips or catalogs.
Sorting tables
Tags that display a list of objects (<catdv:browseDatabase> and <catdv:cliplist>) may accept a request parameter “order” that defines the sort order of the results returned. This is the name of one of the properties (as listed above), and may be preceded by “–” to reverse the sort order.
The example browseDatabase.jsp shows how to display a header row by iterating over the column names and highlighting the background colour of the column that is being sorted on.
Adding clip basket functionality
It is possible to customize the web site so that users can add search results to a “clip basket” and then send an email (to you as the site administrator and/or to themselves as a reminder) expressing an interest in those clips. There are three steps to do this:
1. Edit the clip.jsp file to add the following:
<form action=”clipBasket.jsp” method=POST>
<input type=”hidden” name=”add”
value=”<%= request.getParameter(“id”) %>” >
<input type=”submit” value=”Add To Basket”>
</form>
2. Edit the WEB-INF/web.xml file to enter details of an SMTP mail server that the servlets can use to send emails.
3. Edit clipBasket.jsp to specify the site owner’s email address (in two places, both as a hidden and as a visible field), and customize the subject field if required.