diff --git a/dspace/docs/html/DRI Schema Reference.html b/dspace/docs/html/DRI Schema Reference.html index dc5acad27b..429d216eb7 100755 --- a/dspace/docs/html/DRI Schema Reference.html +++ b/dspace/docs/html/DRI Schema Reference.html @@ -16,13 +16,77 @@
- This page last changed on Nov 06, 2010 by jtrimble. + This page last changed on Dec 15, 2010 by tdonohue.

DSpace System Documentation: DRI Schema Reference

Digital Repository Interface (DRI) is a schema that governs the structure of a Manakin DSpace page when encoded as an XML Document. It determines what elements can be present in the Document and the relationship of those elements to each other. This reference document explains the purpose of DRI, provides a broad architectural overview, and explains common design patterns. The appendix includes a complete reference for elements used in the DRI Schema, a graphical representation of the element hierarchy, and a quick reference table of elements and attributes.

+

Table of Contents:

+
+
+

Introduction

This manual describes the Digital Repository Interface (DRI) as it applies to the DSpace digital repository and XMLUI Manakin based interface. DSpace XML UI is a comprehensive user interface system. It is centralized and generic, allowing it to be applied to all DSpace pages, effectively replacing the JSP-based interface system. Its ability to apply specific styles to arbitrarily large sets of DSpace pages significantly eases the task of adapting the DSpace look and feel to that of the adopting institution. This also allows for several levels of branding, lending institutional credibility to the repository and collections.

@@ -56,7 +120,7 @@

A Theme is a collection of XSL stylesheets and supporting files like images, CSS styles, translations, and help documents. The XSL stylesheets are applied to the DRI Document to covert it into a readable format and give it structure and basic visual formatting in that format. The supporting files are used to provide the page with a specific look and feel, insert images and other media, translate the content, and perform other tasks. The currently used output format is XHTML and the supporting files are generally limited to CSS, images, and JavaScript. More output formats, like PDF or SVG, may be added in the future.

-

A DSpace installation running Manakin may have several Themes associated with it. When applied to a page, a Theme determines most of the pageís look and feel. Different themes can be applied to different sets of DSpace pages allowing for both variety of styles between sets of pages and consistency within those sets. The xmlui.xconf configuration file determines which Themes are applied to which DSpace pages (see the Chapter 7. Manakin [XMLUI] Configuration and Customization for more information on installing and configuring themes). Themes may be configured to apply to all pages of specific type, like browse-by-title, to all pages of a one particular community or collection or sets of communities and collections, and to any mix of the two. They can also be configured to apply to a singe arbitrary page or handle.

+

A DSpace installation running Manakin may have several Themes associated with it. When applied to a page, a Theme determines most of the page's look and feel. Different themes can be applied to different sets of DSpace pages allowing for both variety of styles between sets of pages and consistency within those sets. The xmlui.xconf configuration file determines which Themes are applied to which DSpace pages (see the Chapter 7. Manakin [XMLUI] Configuration and Customization for more information on installing and configuring themes). Themes may be configured to apply to all pages of specific type, like browse-by-title, to all pages of a one particular community or collection or sets of communities and collections, and to any mix of the two. They can also be configured to apply to a singe arbitrary page or handle.

Aspect Chains

@@ -78,11 +142,11 @@

Standard attribute triplet

-

Many elements in the DRI system (all top-level containers, character classes, and many others) contain one or several of the three standard attributes: id, n, and rend. The id and n attributes can be required or optional based on the elementís purpose, while the rend attribute is always optional. The first two are used for identification purposes, while the third is used as a display hint issued to the styling step.

+

Many elements in the DRI system (all top-level containers, character classes, and many others) contain one or several of the three standard attributes: id, n, and rend. The id and n attributes can be required or optional based on the element's purpose, while the rend attribute is always optional. The first two are used for identification purposes, while the third is used as a display hint issued to the styling step.

Identification is important because it allows elements to be separated from their peers for sorting, special case rendering, and other tasks. The first attribute, id, is the global identifier and it is unique to the entire document. Any element that contains an id attribute can thus be uniquely referenced by it. The id attribute of an element can be either assigned explicitly, or generated from the Java Class Path of the originating object if no name is given. While all elements that can be uniquely identified can carry the id attribute, only those that are independent on their context are required to do so. For example, tables are required to have an id since they retain meaning regardless of their location in the document, while table rows and cells can omit the attribute since their meaning depends on the parent element.

-

The name attribute n is simply the name assigned to the element, and it is used to distinguish an element from its immediate peers. In the example of a particular list, all items in that list will have different names to distinguish them from each other. Other lists in the document, however, can also contain items whose names will be different from each other, but identical to those in the first list. The n attribute of an element is therefore unique only in the scope of that elementís parent and is used mostly for sorting purposes and special rendering of a certain class of elements, like, for example, all first items in lists, or all items named "browse". The n attribute follows the same rules as id when determining whether or not it is required for a given element.

+

The name attribute n is simply the name assigned to the element, and it is used to distinguish an element from its immediate peers. In the example of a particular list, all items in that list will have different names to distinguish them from each other. Other lists in the document, however, can also contain items whose names will be different from each other, but identical to those in the first list. The n attribute of an element is therefore unique only in the scope of that element's parent and is used mostly for sorting purposes and special rendering of a certain class of elements, like, for example, all first items in lists, or all items named "browse". The n attribute follows the same rules as id when determining whether or not it is required for a given element.

The last attribute in the standard triplet is rend. Unlike id and n, the rend attribute can consist of several space delimited values and is optional for all elements that can contain it. Its purpose is to provide a rendering hint from the middle layer component to the styling theme. How that hint is interpreted and whether it is used at all when provided, is completely up the theme. There are several cases, however, where the content of the rend attribute is outlined in detail and its use is encouraged. Those cases are the emphasis element hi, the division element div, and the list element. Please refer to the Element Reference for more detail on these elements.

@@ -97,7 +161,11 @@

The DRI XML Document consists of the root element document and three top-level elements that contain two major types of elements. The three top-level containers are meta, body, and options. The two types of elements they contain are metadata and content, carrying metadata about the page and the contents of the page, respectively. Figure 1 depicts the relationship between these six components.

-

Figure 1: The two content types across three major divisions of a DRI page. The document element is the root for all DRI pages and contains all other elements. It bears only one attribute, version, that contains the version number of the DRI system and the schema used to validate the produced document. At the time of writing the working version number is "1.1".

+

+ +

Figure 1: The two content types across three major divisions of a DRI page.

+ +

The document element is the root for all DRI pages and contains all other elements. It bears only one attribute, version, that contains the version number of the DRI system and the schema used to validate the produced document. At the time of writing the working version number is "1.1".

The meta element is a the top-level element under document and contains all metadata information about the page, the user that requested it, and the repository it is used with. It contains no structural elements, instead being the only container of metadata elements in a DRI Document. The metadata stored by the meta element is broken up into three major groups: userMeta, pageMeta, and objectMeta, each storing metadata information about their respective component. Please refer to the reference entries for more information about these elements.

@@ -107,7 +175,9 @@

The body element directly contains only one type of element: div. The div element serves as a major division of content and any number of them can be contained by the body. Additionally, divisions are recursive, allowing divs to contain other divs. It is within these elements that all other structural elements are contained. Those elements include tables, paragraph elements p, and lists, as well as their various children elements. At the lower levels of this hierarchy lie the character container elements. These elements, namely paragraphs p, table cells, lists items, and the emphasis element hi, contain the textual content of a DSpace page, optionally modified with links, figures, and emphasis. If the division within which the character class is contained is tagged as interactive (via the interactive attribute), those elements can also contain interactive form fields. Divisions tagged as interactive must also provide method and action attributes for its fields to use.

-

Figure 2: All the elements in the DRI schema. Note: This image is out-of-date, it does not reflect the changes between 1.0 and 1.1 such as reference and referenceSet.

+

+ +

Figure 2: All the elements in the DRI schema (version 1.1).

Merging of DRI Documents

@@ -118,7 +188,7 @@

The body elements are the easiest to merge: their respective div children are preserved along with their ordering and are grouped together under one element. Thus, the new body tag will contain all the divs of the main document followed by all the divs of the feeder. However, if two divs have the same n and rend attributes (and in case of an interactive div the same action and method attributes as well), those divs will be merged into one. The resulting div will bear the id, n, and rend attributes of the main document's div and contain all the divs of the main document followed by all the divs of the feeder. This process continues recursively until all the divs have been merged. It should be noted that two divisions with separate pagination rules cannot be merged together.

-

Merging the options elements is somewhat different. First, list elements under options of both documents are compared with each other. Those unique to either document are simply added under the new options element, just like divs under body. In case of duplicates, that is list elements that belong to both documents and have the same n attribute, the two lists will be merged into one. The new list element will consist of the main documentís head element, followed label-item pairs from the main document, and then finally the label-item pairs of the feeder, provided they are different from those of the main.

+

Merging the options elements is somewhat different. First, list elements under options of both documents are compared with each other. Those unique to either document are simply added under the new options element, just like divs under body. In case of duplicates, that is list elements that belong to both documents and have the same n attribute, the two lists will be merged into one. The new list element will consist of the main document's head element, followed label-item pairs from the main document, and then finally the label-item pairs of the feeder, provided they are different from those of the main.

Finally, the meta elements are merged much like the elements under body. The three children of meta - userMeta, pageMeta, and objectMeta - are individually merged, adding the contents of the feeder after the contents of the main.

@@ -138,134 +208,219 @@
- - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -274,174 +429,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + @@ -450,12 +733,21 @@ + + + + + + + + + @@ -477,362 +769,253 @@

The body element is the main container for all content displayed to the user. It contains any number of div elements that group content into interactive and display blocks.

Parent

+ - -

document

-

Children

+ - -

div

- -

(any)

-

Attributes

+ + -

None

-
<document version=1.0>
-  <meta> ... </meta>
-   <body>
-    <div n="division-example1"
-	id="XMLExample.div.division-example1">
-     ...
-    </div>
-    <div n="division-example2" id="XMLExample.div.division-example2"
-	interactive="yes" action="www.DRItest.com"
-	method="post">
-     ...
-    </div>
-     ...
-   </body>
-  <options> ... </options>
-</document>
+
+<document version=1.0>
+  <meta> ... </meta>
+   <body>
+    <div n="division-example1"
+	id="XMLExample.div.division-example1">
+     ...
+    </div>
+    <div n="division-example2" id="XMLExample.div.division-example2"
+	interactive="yes" action="www.DRItest.com"
+	method="post">
+     ...
+    </div>
+     ...
+   </body>
+  <options> ... </options>
+</document>
 

cell

- -

Rich Text Container

-

Structural Element

-

The cell element contained in a row of a table carries content for that table. It is a character container, just like p, item, and hi, and its primary purpose is to display textual data, possibly enhanced with hyperlinks, emphasized blocks of text, images and form fields. Every cell can be annotated with a role (the most common being ìheaderî and ìdataî) and can stretch across any number of rows and columns. Since cells cannot exist outside their container, row, their id attribute is optional.

+

The cell element contained in a row of a table carries content for that table. It is a character container, just like p, item, and hi, and its primary purpose is to display textual data, possibly enhanced with hyperlinks, emphasized blocks of text, images and form fields. Every cell can be annotated with a role (the most common being "header" and "data") and can stretch across any number of rows and columns. Since cells cannot exist outside their container, row, their id attribute is optional.

Parent

- - - -

row

- -

Children

- - - -

hi

- -

(any)

- - - -

xref

- -

(any)

- - - -

figure

- -

(any)

- - - -

field

- -

(any)

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<table n="table-example" id="XMLExample.table.table-example" rows="2"
+	cols="3">
+    <row role="head">
+       <cell cols="2">Data Label One and Two</cell> <cell>Data Label
+	Three</cell>
+      ...
+    </row>
+    <row>
+       <cell> Value One </cell> <cell> Value Two </cell> <cell> Value
+	Three </cell>
+      ...
+    </row>
+    ...
+</table>
+
+
+

div

- -

Structural Element

The div element represents a major section of content and can contain a wide variety of structural elements to present that content to the user. It can contain paragraphs, tables, and lists, as well as references to artifact information stored in artifactMeta, repositoryMeta, collections, and communities. The div element is also recursive, allowing it to be further divided into other divs. Divs can be of two types: interactive and static. The two types are set by the use of the interactive attribute and differ in their ability to contain interactive content. Children elements of divs tagged as interactive can contain form fields, with the action and method attributes of the div serving to resolve those fields.

Parent

- - - -

body

- - - -

div

- -

Children

- - - -

head

- -

(zero or one)

- - - -

pagination

- -

(zero or one)

- - - -

table

- -

(any)

- - - -

p

- -

(any)

- - - -

referenceSet

- -

(any)

- - - -

list

- -

(any)

- - - -

div

- -

(any)

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<body>
+     <div n="division-example"
+	id="XMLExample.div.division-example">
+      <head> Example Division </head>
+      <p> This example shows the use of divisions. </p>
+      <table ...>
+        ...
+      </table>
+      <referenceSet ...>
+        ...
+      </referenceSet>
+      <list ...>
+        ...
+      </list>
+       <div n="sub-division-example"
+	id="XMLExample.div.sub-division-example">
+        <p> Divisions may be nested </p>
+        ...
+       </div>
+      ...
+     </div>
+    ...
+</body>
+
+
+

DOCUMENT

- -

Document Root

The document element is the root container of an XML UI document. All other elements are contained within it either directly or indirectly. The only attribute it carries is the version of the Schema to which it conforms.

Parent

+ -

none

Children

+ - -

meta

- -

(one)

- - - -

body

- -

(one)

- - - -

options

- -

(one)

-

Attributes

+
+
 <document
+	version="1.1">
+    <meta>
+      ...
+    </meta>
+    <body>
+      ...
+    </body>
+    <options>
+      ...
+    </options>
+ </document>
+
+

field

- -

Text Container

- -

Structural Element

The field element is a container for all information necessary to create a form field. The required type attribute determines the type of the field, while the children tags carry the information on how to build it. Fields can only occur in divisions tagged as "interactive".

Parent

+ - -

cell

- - - -

p

- - - -

hi

- - - -

item

-

Children

+ - -

params

- -

(one)

- - - -

help

- -

(zero or one)

- - - -

error

- -

(any)

- - - -

option

- -

(any - only with the select type)

- - - -

value

- -

(any - only available on fields of type: select, checkbox, or radio)

- - - -

field

- -

(one or more - only with the composite type)

- - - -

valueSet

- -

(any)

-

Attributes

+
+
+<p>
+  <hi> ... </hi>
+  <xref> ... </xref>
+  <figure> ... </figure>
+  ...
+   <field id="XMLExample.field.name" n="name" type="text"
+	required="yes">
+    <params size="16" maxlength="32"/>
+    <help>Some help text with <i18n>localized
+	content</i18n>.</help>
+    <value type="raw">Default value goes
+	here</value>
+   </field>
+</p>
+
+
+
+

figure

- -

Text Container

- -

Structural Element

The figure element is used to embed a reference to an image or a graphic element. It can be mixed freely with text, and any text within the tag itself will be used as an alternative descriptor or a caption.

Parent

+ - -

cell

- - - -

p

- - - -

hi

- - - -

item

-

Children

+ -

none

Attributes

+
+
+<p>
+    <hi> ... </hi>
+    ...
+    <xref> ... </xref>
+    ...
+    <field> ... </field>
+    ...
+     <figure source="www.example.com/fig1"> This is a static image.
+	</figure> <figure source="www.example.com/fig1"
+	target="www.example.net">
+      This image is also a link.
+     </figure>
+    ...
+</p>
+
+
+

head

- -

Text Container

- -

Structural Element

The head element is primarily used as a label associated with its parent element. The rendering is determined by its parent tag, but can be overridden by the rend attribute. Since there can only be one head element associated with a particular tag, the n attribute is not needed, and the id attribute is optional.

Parent

+ - -

div

- - - -

table

- - - -

list

- - - -

referenceSet

-

Children

+ -

none

Attributes

+
+
+<div ...>
+     <head> This is a simple header associated with its div element.
+	</head>
+    <div ...>
+       <head rend="green"> This header will be green.
+	</head>
+      <p>
+         <head> A header with <i18n>localized content</i18n>.
+	</head>
+        ...
+      </p>
+    </div>
+    <table ...>
+       <head> ...
+	</head>
+      ...
+    </table>
+    <list ...>
+       <head> ...
+	</head>
+      ...
+    </list>
+    ...
+</body>
+
+
+

help

- -

Text Container

- -

Structural Element

The optional help element is used to supply help instructions in plain text and is normally contained by the field element. The method used to render the help text in the target markup is up to the theme.

Parent

+ - -

field

-

Children

+ -

none

Attributes

+ + -

None

-
<p>
-    <hi> ... </hi>
-    ...
-    <xref> ... </xref>
-    ...
-    <figure> ... </figure>
-    ...
-    <field id="XMLExample.field.name" n="name" type="text"
-	required="yes">
-      <params size="16" maxlength="32" />
-       <help>Some help text with <i18n>localized
-	content</i18n>.</help>
-    </field>
-    ...
-</p>
+
+<p>
+    <hi> ... </hi>
+    ...
+    <xref> ... </xref>
+    ...
+    <figure> ... </figure>
+    ...
+    <field id="XMLExample.field.name" n="name" type="text"
+	required="yes">
+      <params size="16" maxlength="32" />
+       <help>Some help text with <i18n>localized
+	content</i18n>.</help>
+    </field>
+    ...
+</p>
 

hi

- -

Rich Text Container

- -

Structural Element

The hi element is used for emphasis of text and occurs inside character containers like p and list item. It can be mixed freely with text, and any text within the tag itself will be emphasized in a manner specified by the required rend attribute. Additionally, hi element is the only text container component that is a rich text container itself, meaning it can contain other tags in addition to plain text. This allows it to contain other text containers, including other hi tags.

Parent

+ - -

cell

- - - -

p

- - - -

item

- - - -

hi

-

Children

+ - -

hi

- -

(any)

- - - -

xref

- -

(any)

- - - -

figure

- -

(any)

- - - -

field

- -

(any)

-

Attributes

+
+
+<p>
+    This text is normal, while  <hi rend="bold">this text is bold and
+	this text is <hi rend="italic">bold and
+	italic.</hi></hi>
+</p>
+
+
+

instance

-

Structural Element

-

The instance element contains the value associated with a form fieldís multiple instances. Fields encoded as an instance should also include the values of each instance as a hidden field. The hidden field should be appended with the index number for the instance. Thus if the field is "firstName" each instance would be named "firstName_1", "firstName_2", "firstName_3", etc...

+

The instance element contains the value associated with a form field's multiple instances. Fields encoded as an instance should also include the values of each instance as a hidden field. The hidden field should be appended with the index number for the instance. Thus if the field is "firstName" each instance would be named "firstName_1", "firstName_2", "firstName_3", etc...

Parent

+ - -

field

-

Children

+ - -

value

-

Attributes

+ + -

None listed yet.

-
Example needed.
+
+Example needed.
 

item

- -

Rich Text Container

- -

Structural Element

The item element is a rich text container used to display textual data in a list. As a rich text container it can contain hyperlinks, emphasized blocks of text, images and form fields in addition to plain text.

@@ -1155,196 +1295,154 @@

The item element can be associated with a label that directly precedes it. The Schema requires that if one item in a list has an associated label, then all other items must have one as well. This mitigates the problem of loose connections between elements that is commonly encountered in XHTML, since every item in particular list has the same structure.

Parent

+ - -

list

-

Children

+ - -

hi

- -

(any)

- - - -

xref

- -

(any)

- - - -

figure

- -

(any)

- - - -

field

- -

(any)

- - - -

list

- -

(any)

-

Attributes

+
+
+<list n="list-example"
+	id="XMLExample.list.list-example">
+  <head> Example List </head>
+   <item> This is the first item
+	</item> <item> This is the second item with <hi ...>highlighted text</hi>,
+	<xref ...> a link</xref> and an <figure
+	...>image</figure>.</item>
+  ...
+  <list n="list-example2"
+	id="XMLExample.list.list-example2">
+    <head> Example List </head>
+    <label>ITEM ONE:</label>
+     <item> This is the first item
+	</item>
+    <label>ITEM TWO:</label>
+     <item> This is the second item with <hi ...>highlighted
+	text</hi>, <xref ...> a link</xref> and an <figure
+	...>image</figure>.</item>
+    <label>ITEM THREE:</label>
+     <item> This is the third item with a <field ...> ... </field>
+	</item>
+    ...
+  </list>
+   <item> This is the third item in the list
+	</item>
+  ...
+</list>
+
+
+

label

- -

Text Container

- -

Structural Element

The label element is associated with an item and annotates that item with a number, a textual description of some sort, or a simple bullet.

Parent

+ - -

item

-

Children

+ -

none

Attributes

+
+
+<list n="list-example"
+	id="XMLExample.list.list-example">
+  <head>Example List</head>
+   <label>1</label>
+  <item> This is the first item  </item>
+   <label>2</label>
+  <item> This is the second item with <hi ...>highlighted text</hi>,
+	<xref ...> a link</xref> and an <figure
+	...>image</figure>.</item>
+  ...
+  <list n="list-example2"
+	id="XMLExample.list.list-example2">
+    <head>Example Sublist</head>
+     <label>ITEM
+	ONE:</label>
+    <item> This is the first item  </item>
+     <label>ITEM
+	TWO:</label>
+    <item> This is the second item with <hi ...>highlighted
+	text</hi>, <xref ...> a link</xref> and an <figure
+	...>image</figure>.</item>
+     <label>ITEM
+	THREE:</label>
+    <item> This is the third item with a <field ...> ... </field>
+	</item>
+    ...
+  </list>
+  <item> This is the third item in the list </item>
+  ...
+</list>
+
+
+

list

- -

Structural Element

The list element is used to display sets of sequential data. It contains an optional head element, as well as any number of item and list elements. Items contain textual information, while sublists contain other item or list elements. An item can also be associated with a label element that annotates an item with a number, a textual description of some sort, or a simple bullet. The list type (ordered, bulleted, gloss, etc.) is then determined either by the content of labels on items or by an explicit value of the type attribute. Note that if labels are used in conjunction with any items in a list, all of the items in that list must have a label. It is also recommended to avoid mixing label styles unless an explicit type is specified.

Parent

+ - -

div

- - - -

list

-

Children

+ - -

head

- -

(zero or one)

- - - -

label

- -

(any)

- - - -

item

- -

(any)

- - - -

list

- -

(any)

-

Attributes

+
+
+<div ...>
+  ...
+   <list n="list-example"
+	id="XMLExample.list.list-example">
+    <head>Example List</head>
+    <item> ... </item>
+    <item> ... </item>
+    ...
+     <list n="list-example2"
+	id="XMLExample.list.list-example2">
+      <head>Example Sublist</head>
+      <label> ... </label>
+      <item> ... </item>
+      <label> ... </label>
+      <item> ... </item>
+      <label> ... </label>
+      <item> ... </item>
+      ...
+     </list>
+    <label> ... </label>
+    <item> ... </item>
+    ...
+   </list>
+</div>
+
+
+

META

- -

Top-Level Container

The meta element is a top level element and exists directly inside the document element. It serves as a container element for all metadata associated with a document broken up into categories according to the type of metadata they carry.

Parent

+ - -

document

-

Children

+ - -

userMeta

- -

(one)

- - - -

pageMeta

- -

(one)

- - - -

repositoryMeta

- -

(one)

-

Attributes

+ + -

None

-
<document version=1.0>
-   <meta>
-    <userMeta> ... </userMeta>
-    <pageMeta> ... </pageMeta>
-    <repositoryMeta> ... </repositoryMeta>
-   </meta>
-  <body> ... </body>
-  <options> ... </options>
-</document>
+
+<document version=1.0>
+   <meta>
+    <userMeta> ... </userMeta>
+    <pageMeta> ... </pageMeta>
+    <repositoryMeta> ... </repositoryMeta>
+   </meta>
+  <body> ... </body>
+  <options> ... </options>
+</document>
 

metadata

- -

Text Container

- -

Structural Element

The metadata element carries generic metadata information in the form on an attribute-value pair. The type of information it contains is determined by two attributes: element, which specifies the general type of metadata stored, and an optional qualifier attribute that narrows the type down. The standard representation for this pairing is element.qualifier. The actual metadata is contained in the text of the tag itself. Additionally, a language attribute can be used to specify the language used for the metadata entry.

Parent

- - - -

userMeta

- - - -

pageMeta

- -

Children

- -

none

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<meta>
+  <userMeta>
+     <metadata element="identifier" qualifier="firstName"> Bob
+	</metadata> <metadata element="identifier" qualifier="lastName"> Jones
+	</metadata> <metadata ...> ...
+	</metadata>
+    ...
+  </userMeta>
+  <pageMeta>
+     <metadata element="rights"
+	qualifier="accessRights">user</metadata> <metadata ...> ...
+	</metadata>
+    ...
+  </pageMeta>
+</meta>
+
+
+

OPTIONS

- - -

Top-Level Container

The options element is the main container for all actions and navigation options available to the user. It consists of any number of list elements whose items contain navigation information and actions. While any list of navigational options may be contained in this element, it is suggested that at least the following 5 lists be included.

Parent

+ - -

document

-

Children

+ - -

list

- -

(any)

-

Attributes

+ + -

None

-
<document version=1.0>
-
-    <meta> Ö </meta>
-
-    <body> Ö </body>
-
-     <options>
-
-        <list n="navigation-example1"
-	id="XMLExample.list.navigation-example1">
-
-            <head>Example Navigation List 1</head>
-
-            <item><xref target="/link/to/option">Option
-	One</xref></item>
-
-            <item><xref target="/link/to/option">Option
-	two</xref></item>
-
-                ...
-
-        </list>
-
-        <list n="navigation-example2"
-	id="XMLExample.list.navigation-example2">
-
-            <head>Example Navigation List 2</head>
-
-            <item><xref target="/link/to/option">Option
-	One</xref></item>
-
-            <item><xref target="/link/to/option">Option
-	two</xref></item>
-
-            ...
-
-        </list>
-
-        ...
-
-     </options>
-
-</document>
+
+<document version=1.0>
+
+    <meta> ... </meta>
+
+    <body> ... </body>
+
+    <options>
+
+        <list n="navigation-example1"
+	id="XMLExample.list.navigation-example1">
+
+            <head>Example Navigation List 1</head>
+
+            <item><xref target="/link/to/option">Option
+	One</xref></item>
+
+            <item><xref target="/link/to/option">Option
+	two</xref></item>
+
+                ...
+
+        </list>
+
+        <list n="navigation-example2"
+	id="XMLExample.list.navigation-example2">
+
+            <head>Example Navigation List 2</head>
+
+            <item><xref target="/link/to/option">Option
+	One</xref></item>
+
+            <item><xref target="/link/to/option">Option
+	two</xref></item>
+
+            ...
+
+        </list>
+
+        ...
+
+    </options>
+
+</document>
 

p

- -

Rich Text Container

- -

Structural Element

The p element is a rich text container used by divs to display textual data in a paragraph format. As a rich text container it can contain hyperlinks, emphasized blocks of text, images and form fields in addition to plain text.

Parent

+ - -

div

-

Children

+ - -

hi

- -

(any)

- - - -

xref

- -

(any)

- - - -

figure

- -

(any)

- - - -

field

- -

(any)

-

Attributes

+
+
+<div n="division-example"
+	id="XMLExample.div.division-example">
+
+     <p> This is a regular paragraph.
+	</p> <p> This text is normal, while <hi rend="bold">this text is bold
+	and this text is <hi rend="italic">bold and italic.</hi></hi>
+	</p> <p> This paragraph contains a <xref
+	target="/link/target">link</xref>, a static <figure
+	source="/image.jpg">image</figure>, and a <figure target=
+	"/link/target" source="/image.jpg">image link.</figure>
+	</p>
+
+</div>
+
+
+

pageMeta

- -

Metadata Element

-

The pageMeta element contains metadata associated with the document itself. It contains generic metadata elements to carry the content, and any number of trail elements to provide information on the userís current location in the system. Required and suggested values for metadata elements contained in pageMeta include but are not limited to:

+

The pageMeta element contains metadata associated with the document itself. It contains generic metadata elements to carry the content, and any number of trail elements to provide information on the user's current location in the system. Required and suggested values for metadata elements contained in pageMeta include but are not limited to:

+ + +

See the metadata and trail tag entries for more information on their structure.

+ +

Parent

+ + + +

Children

+ + + +

Attributes

+ -

ParentmetaChildrenmetadata (any)trail
-(any)AttributesNone

-
<meta>
-
-    <userMeta> ... </userMeta>
-
-     <pageMeta>
-
-        <metadata element="title">Examlpe DRI
-	page</metadata>
-
-        <metadata
-	element="contextPath">/xmlui/</metadata>
-
-        <metadata ...> ... </metadata>
-
-        ...
-
-        <trail source="123456789/6"> A bread crumb item
-	</trail>
-
-        <trail ...> ... </trail>
-
-        ...
-
-     </pageMeta>
-
-</meta>
+
+<meta>
+
+    <userMeta> ... </userMeta>
+
+     <pageMeta>
+
+        <metadata element="title">Examlpe DRI
+	page</metadata>
+
+        <metadata
+	element="contextPath">/xmlui/</metadata>
+
+        <metadata ...> ... </metadata>
+
+        ...
+
+        <trail source="123456789/6"> A bread crumb item
+	</trail>
+
+        <trail ...> ... </trail>
+
+        ...
+
+     </pageMeta>
+
+</meta>
 

params

- -

Structural Component

The params element identifies extra parameters used to build a form field. There are several attributes that may be available for this element depending on the field type.

Parent

+ - -

field

-

Children

+ -

none

Attributes

+
+
+<p>
+
+    <field id="XMLExample.field.name" n="name" type="text"
+	required="yes">
+
+         <params size="16"
+	maxlength="32"/>
+
+        <help>Some help text with <i18n>localized
+	content</i18n>.</help>
+
+        <default>Default value goes here</default>
+
+    </field>
+
+</p>
+
+
+

reference

- -

Metadata Reference Element

reference is a reference element used to access information stored in an extarnal metadata file. The url attribute is used to locate the external metadata file. The type attribute provides a short limited description of the referenced object's type.

@@ -1752,150 +1835,138 @@ See the metadata and trail tag entries for more information on

reference elements can be both contained by includeSet elements and contain includeSets themselves, making the structure recursive.

Parent

- - - -

referenceSet

- -

Children

- - - -

referenceSet

- -

(zero or more)

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+            <includeSet n="browse-list"
+	id="XMLTest.includeSet.browse-list">
+             <reference url="/metadata/handle/123/4/mets.xml"
+	repositoryID="123" type="DSpace
+	Item"/> <reference url="/metadata/handle/123/5/mets.xml"
+	repositoryID="123" />
+            ...
+            </includeSet>
+
+
+
+

referenceSet

- -

Metadata Reference Element

The referenceSet element is a container of artifact or repository references.

Parent

+ - -

div

- - - -

reference

-

Children

+ - -

head

- -

(zero or one)

- - - -

reference

- -

(any)

-

Attributes

+
+
+            <div ...>
+            <head> Example Division </head>
+            <p> ... </p>
+            <table> ... </table>
+            <list>
+            ...
+            </list>
+             <referenceSet n="browse-list"
+	id="XMLTest.referenceSet.browse-list" type="summaryView"
+	informationModel="DSpace">
+            <head>A header for the includeset</head>
+            <reference
+	url="/metadata/handle/123/34/mets.xml"/>
+            <reference
+	url=""metadata/handle/123/34/mets.xml/>
+             </referenceSet>
+            ...
+            </p>
+
+
+

repository

- -

Metadata Element

-

The repository element is used to describe the repository. Its principal component is a set of structural metadata that carrier information on how the repositoryís objects under objectMeta are related to each other. The principal method of encoding these relationships at the time of this writing is a METS document, although other formats, like RDF, may be employed in the future.

+

The repository element is used to describe the repository. Its principal component is a set of structural metadata that carrier information on how the repository's objects under objectMeta are related to each other. The principal method of encoding these relationships at the time of this writing is a METS document, although other formats, like RDF, may be employed in the future.

Parent

- - - -

repositoryMeta

- -

Children

- -

none

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<repositoryMeta>
+
+     <repository repositoryID="123456789"
+	url="/metadata/handle/1234/4/mets.xml" />
+
+</repositoryMeta>
+
+
+

repositoryMeta

- -

Metadata Element

The repositoryMeta element contains metadata refernces about the repositories used in the used or referenced in the document. It can contain any number of repository elements.

@@ -1903,423 +1974,406 @@ See the metadata and trail tag entries for more information on

See the repository tag entry for more information on the structure of repository elements.

Parent

+ - -

Meta

-

Children

+ - -

repository

- -

(any)

-

Attributes

+ + -

None

-
<meta>
-
-  <userMeta> ... </usermeta>
-
-  <pageMeta> ... </pageMeta>
-
-     <repositoryMeta>
-
-        <repository repositoryIID="..." url="..."
-	/>
-
-     </repositoryMeta>
-
-</meta>
+
+<meta>
+
+  <userMeta> ... </usermeta>
+
+  <pageMeta> ... </pageMeta>
+
+     <repositoryMeta>
+
+        <repository repositoryIID="..." url="..."
+	/>
+
+     </repositoryMeta>
+
+</meta>
 

row

- -

Structural Element

The row element is contained inside a table and serves as a container of cell elements. A required role attribute determines how the row and its cells are rendered.

Parent

- - - -

table

- -

Children

- - - -

cell

- -

(any)

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<table n="table-example" id="XMLExample.table.table-example" rows="2"
+	cols="3">
+
+     <row
+	role="head">
+
+      <cell cols="2">Data Label One and
+	Two</cell>
+
+        <cell>Data Label Three</cell>
+
+        ...
+
+     </row> <row>
+
+      <cell> Value One </cell>
+
+      <cell> Value Two </cell>
+
+      <cell> Value Three </cell>
+
+      ...
+
+     </row>
+
+    ...
+
+</table>
+
+
+

table

- -

Structural Element

The table element is a container for information presented in tabular format. It consists of a set of row elements and an optional header.

Parent

- - - -

div

- -

Children

- - - -

head

- -

(zero or one)

- - - -

row

- -

(any)

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<div n="division-example"
+	id="XMLExample.div.division-example">
+
+     <table n="table1" id="XMLExample.table.table1" rows="2"
+	cols="3">
+
+        <row role="head">
+
+          <cell cols="2">Data Label One and
+	Two</cell>
+
+            <cell>Data Label Three</cell>
+
+            ...
+
+        </row>
+
+        <row>
+
+          <cell> Value One </cell>
+
+          <cell> Value Two </cell>
+
+          <cell> Value Three </cell>
+
+          ...
+
+        </row>
+
+        ...
+
+     </table>
+    ...
+</div>
+
+
+

trail

- -

Text Container

- -

Metadata Element

-

The trail element carries information about the userís current location in the system relative of the repositoryís root page. Each instance of the element serves as one link in the path from the root to the current page.

+

The trail element carries information about the user's current location in the system relative of the repository's root page. Each instance of the element serves as one link in the path from the root to the current page.

Parent

- - - -

pageMeta

- -

Children

- -

none

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<pageMeta>
+
+    <metadata element="title">Examlpe DRI
+	page</metadata>
+
+    <metadata
+	element="contextPath">/xmlui/</metadata>
+
+    <metadata ...> ... </metadata>
+
+    ...
+
+     <trail target="/myDSpace"> A bread crumb item pointing to a
+	page. </trail> <trail ...> ... </trail>
+
+    ...
+
+</pageMeta>
+
+
+

userMeta

- -

Metadata Element

The userMeta element contains metadata associated with the user that requested the document. It contains generic metadata elements, which in turn carry the information. Required and suggested values for metadata elements contained in userMeta include but not limited to:

-

ParentmetaChildrenmetadata (any)Attributes

+

See the metadata tag entry for more information on the structure of metadata elements.

+ +

Parent

+

Children

+ + + +

Attributes

+ + + +
+
+<meta>
+
+     <userMeta>
+
+        <metadata element="identifier" qualifier="email">bobJones@tamu.edu</metadata>
+
+        <metadata element="identifier" qualifier="firstName">Bob</metadata>
+
+        <metadata element="identifier" qualifier="lastName">Jones</metadata>
+
+        <metadata element="rights" qualifier="accessRights">user</metadata>
+
+        <metadata ...> ... </metadata>
+
+        ...
+
+        <trail source="123456789/6">A bread crumb item</trail>
+
+        <trail ...> ... </trail>
+
+        ...
+
+     </userMeta>
+
+    <pageMeta> ... </pageMeta>
+
+</meta>
+
+
+

value

- -

Rich Text Container

- -

Structural Element

The value element contains the value associated with a form field and can serve a different purpose for various field types. The value element is comprised of two subelements: the raw element which stores the unprocessed value directly from the user of other source, and the interpreted element which stores the value in a format appropriate for display to the user, possibly including rich text markup.

Parent

+ - -

field

-

Children

+ - -

hi

- -

(any)

- - - -

xref

- -

(any)

- - - -

figure

- -

(any)

-

Attributes

+
+
+<p>
+  <hi> ... </hi>
+  <xref> ... </xref>
+  <figure> ... </figure>
+  <field id="XMLExample.field.name" n="name" type="text"
+	required="yes">
+    <params size="16" maxlength="32"/>
+    <help>Some help text with <i18n>localized
+	content</i18n>.</help>
+     <value type="default">Author,
+	John</value>
+  </field>
+</p>
+
+
+
+

xref

- -

Text Container

- -

Structural Element

-

The xref element is a reference to an external document. It can be mixed freely with text, and any text within the tag itself will be used as part of the linkís visual body.

+

The xref element is a reference to an external document. It can be mixed freely with text, and any text within the tag itself will be used as part of the link's visual body.

Parent

- - - -

cell

- - - -

p

- - - -

item

- - - -

hi

- -

Children

- -

none

- -

Attributes

- +

Children

+ + + +

Attributes

+ + + +
+
+<p>
+
+     <xref target="/url/link/target">This text is shown as a
+	link.</xref>
+
+</p>
+
+
+ +
+
+ Attachments: +
+ +
+ + DRISchemaOverview.png (image/png) +
+ + DRISchema.png (image/png) +
+
@@ -2329,7 +2383,7 @@ See the metadata tag entry for more information on the structure of - +
Element Attributes (if required, noted) Required Element Attributes Required?
BODY BODY   
cell   
  cols  
  id  
  n  
  rend  
  role  
  rows  
div   
  action required for interactive behavior
  behaviorSensitivFields  
  currentPage  
  firstItemIndex  
  id required
  interactive  
  itemsTotal  
  lastItemIndex  
  method required for interactive
  n required
  nextPage  
  pagesTotal  
  pageURLMask  
  pagination  
  previousPage  
  rend  
DOCUMENT DOCUMENT version required
field disabled   
  disabled  
  id required
  n required
  rend  
  required  
  type required
figure   
  rend  
  source  
  target  
head   
  id  
  n  
  rend  
help   
hi
instance   
item   
  id  
  n  
  rend  
label   
  id  
  n  
  rend  
list   
  id required
  n required
  rend  
  type  
META   
metadata   
  element required
  language  
  qualifier  
OPTIONS   
p   
  id  
  n  
  rend  
pageMeta   
params   
  cols  
  maxlength  
  multiple  
  operations  
  rows  
  size  
reference   
  url required
  repositoryID required
  type  
referenceSet  
  id required
  n required
  orderBy  
  rend  
  type required
repository   
  repositoryID required
  url required
repositoryMeta   
row   
  id  
  n  
  rend  
  role required
table   
  cols required
  id required
  n required
  rend  
  rows required
trail rend   
  rend  
  target  
userMeta
value   
  optionSelected  
  optionValue  
  type required
Document generated by Confluence on Nov 06, 2010 19:27Document generated by Confluence on Dec 16, 2010 16:47
diff --git a/dspace/docs/html/DSpace Documentation.html b/dspace/docs/html/DSpace Documentation.html index 152694fc44..c4062a2034 100755 --- a/dspace/docs/html/DSpace Documentation.html +++ b/dspace/docs/html/DSpace Documentation.html @@ -17,17 +17,17 @@
- This page last changed on Oct 18, 2010 by tdonohue. + This page last changed on Dec 14, 2010 by tdonohue.
- +
- @@ -64,7 +64,7 @@ @@ -116,50 +116,6 @@ - - - - - - - - - - - - - - @@ -185,28 +141,6 @@ Reopened - - - - - - -
- JIRA Issues (6 issues) + JIRA Issues (3 issues)
- Received -
- - DS-640 - - - Interal System Error when browsing with wrong argument - - - Jeffrey Trimble - - - Hardik Mishra - - - Open -
- - DS-657 - - - Remove old, out-of-date Documentation from SVN, once fully cleaned up on Wiki - - - Jeffrey Trimble - - - Tim Donohue - - Open
- - DS-627 - - - Documentation refers to install-configs script - - - Jeffrey Trimble - - - Nick Nicholas - - - Open -

@@ -220,111 +154,112 @@
Document generated by Confluence on Nov 06, 2010 19:27Document generated by Confluence on Dec 16, 2010 16:47
diff --git a/dspace/docs/html/DSpace Services Framework.html b/dspace/docs/html/DSpace Services Framework.html index b581f57a72..d616af29f1 100755 --- a/dspace/docs/html/DSpace Services Framework.html +++ b/dspace/docs/html/DSpace Services Framework.html @@ -16,33 +16,64 @@
- This page last changed on Nov 06, 2010 by jtrimble. + This page last changed on Dec 15, 2010 by tdonohue.

DSpace Services Framework

+
+

Configuring Event Listeners

Event Listeners can be created by overriding the the EventListener interface:

-
<?xml version="1.0" encoding="UTF-8"?>
-<beans>
-
-    <bean id="dspace" class="org.dspace.utils.DSpace"/>
-
-    <bean id="dspace.eventService"
-          factory-bean="dspace"
-          factory-method="getEventService"/>
-
-    <bean class="org.my.EventListener">
-         <property name="eventService" >
-    		<ref bean="dspace.eventService"/>
-    	</property>
-    </bean>
-</beans>
+
+<?xml version="1.0" encoding="UTF-8"?>
+<beans>
+
+    <bean id="dspace" class="org.dspace.utils.DSpace"/>
+
+    <bean id="dspace.eventService"
+          factory-bean="dspace"
+          factory-method="getEventService"/>
+
+    <bean class="org.my.EventListener">
+         <property name="eventService" >
+    		<ref bean="dspace.eventService"/>
+    	</property>
+    </bean>
+</beans>
 
@@ -60,17 +91,18 @@

The kernel can be started and accessed through the use of Servlet Filter/ContextListeners which are provided as part of the DSpace 2 utilities. Developers don't need to understand what is going on behind the scenes and can simply write their applications and package them as webapps and take advantage of the services which are offered by DSpace 2. Access to the kernel is provided via the Kernel Manager and the DSpace object which will locate the kernel object and allow it to be used. 

-
/* Instantiate the Utility Class */
-DSpace dspace = new DSpace();
-
-
-/* Access get the Service Manager by convenience method */
-ServiceManager manager = dspace.getServiceManager();
-
-
-/* Or access by convenience method for default services */
-EventService service = dspace.getEventService();
-
+
+/* Instantiate the Utility Class */
+DSpace dspace = new DSpace();
+
+
+/* Access get the Service Manager by convenience method */
+ServiceManager manager = dspace.getServiceManager();
+
+
+/* Or access by convenience method for default services */
+EventService service = dspace.getEventService();
+
 
@@ -83,8 +115,6 @@ EventService service = dspace.getEventService();

-

-

The DS2 kernel is compact so it can be completely started up in a unit test (technically integration test) environment (this is who we test the kernel and core services currently). This allows developers to execute code against a fully functional kernel while developing and then deploy their code with high confidence.

Providers and Plugins

@@ -160,7 +190,7 @@ EventService service = dspace.getEventService(); - Document generated by Confluence on Nov 06, 2010 19:27 + Document generated by Confluence on Dec 16, 2010 16:47 diff --git a/dspace/docs/html/DSpace Statistics.html b/dspace/docs/html/DSpace Statistics.html index bdb135154b..0796edfd06 100755 --- a/dspace/docs/html/DSpace Statistics.html +++ b/dspace/docs/html/DSpace Statistics.html @@ -16,17 +16,32 @@
- This page last changed on Nov 06, 2010 by jtrimble. + This page last changed on Nov 17, 2010 by tdonohue.

DSpace Statistics

-

DSpace uses the Apache Solr application underlaying the statistics. There is no need to download any separate software. All the necessary software is included.

+
+
+

Usage Event Logging and Usage Statistics Gathering

-

The DSpace Statistics Implementation is a Client/Server architecture based on Solr for collecting usage events in the JSPUI and XMLUI user interface applications of DSpace.  Solr runs as a separate webapplication and an instance of Apache Http Client is utilized to allow parallel requests to log statistics events into this Solr instance.  The Usage Event framework has a couple EventListeners installed which assist in [rest of sentence missing? - Kim]

+

The DSpace Statistics Implementation is a Client/Server architecture based on Solr for collecting usage events in the JSPUI and XMLUI user interface applications of DSpace.  Solr runs as a separate webapplication and an instance of Apache Http Client is utilized to allow parallel requests to log statistics events into this Solr instance.  The Usage Event framework has a couple EventListeners installed which assist in  [rest of sentence missing? - Kim]

Configuration settings for Statistics

@@ -35,30 +50,40 @@
- - - - + + + + - - + + + + - - + + - +
Property Name
Default Value
Type
Description
Property Name Default Value Type Description
solr.log.server ${dspace.baseUrl}/solr/statistics String
Is used by the SolrLogger Client class to connect tot the Solr server over http and perform updates and queries. In most cases, this can (and should) be set to localhost. String Is used by the SolrLogger Client class to connect to the Solr server over http and perform updates and queries. In most cases, this can (and should) be set to localhost (or 127.0.0.1).
+
+To determine the correct path, you can use a tool like wget to see where Solr is responding on your server. For example, you'd want to send a query to Solr like the following:
+
+
wget http://127.0.0.1/solr/statistics/select?q=*:*
+
+

Assuming you get an HTTP 200 OK response, then you should set solr.log.server to the '/statistics' URL of 'http://127.0.0.1/solr/statistics' (essentially removing the "/select?q=:" query off the end of the responding URL.)

solr.spiderips.urls
-
+
 http://iplists.com/google.txt, \
-http://iplists.com/inktomi.txt, \http://iplists.com/lycos.txt, \http://iplists.com/infoseek.txt, \http://iplists.com/altavista.txt \http://iplists.com/excite.txt, \
+http://iplists.com/inktomi.txt, \
+http://iplists.com/lycos.txt, \
+http://iplists.com/infoseek.txt, \
+http://iplists.com/altavista.txt, \
+http://iplists.com/excite.txt, \
 http://iplists.com/misc.txt, \
 http://iplists.com/non_engines.txt
 
-
-

http://iplists.com/non_engines.txt

String
String List of URLs to download spiders files into [dspace]/config/spiders. These files contain lists of known spider IPs and are utilized by the SolrLogger to flag usage events with an "isBot" field, or ignore them entirely.

The "stats-util" command can be used to force an update of spider files, regenerate "isBot" fields on indexed events, and delete spiders from the index. For usage, run:
@@ -140,14 +165,14 @@ If true, the event will be logged with the "isBot" field set to true.
-

The last step is only used if you are not mounting [~mdiggory:dspace]/webapps directly into your Tomcat, Resin or Jetty host (the recommended practice)If you only need to build the statistics, and don't make any changes to other web applications, you can replace the copy step above with:

+

The last step is only used if you are not mounting [dspace]/webapps directly into your Tomcat, Resin or Jetty host (the recommended practice)If you only need to build the statistics, and don't make any changes to other web applications, you can replace the copy step above with:

  cp -R dspace/webapps/solr TOMCAT/webapps
 
-

Again, only if you are not mounting [~mdiggory:dspace]/webapps directly into your Tomcat, Resin or Jetty host (the recommended practice)

+

Again, only if you are not mounting [dspace]/webapps directly into your Tomcat, Resin or Jetty host (the recommended practice)

Restart your webapps (Tomcat/Jetty/Resin)

@@ -180,7 +205,7 @@ If true, the event will be logged with the "isBot" field set to true.
Document generated by Confluence on Nov 06, 2010 19:27Document generated by Confluence on Dec 16, 2010 16:47