diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java
index 9de79dbcb..9c6a21fec 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java
@@ -84,4 +84,13 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel {
return statements;
}
+ public DataPropertyStatementTemplateModel getFirst() {
+ return ( (statements == null || statements.isEmpty()) ) ? null : statements.get(0);
+ }
+
+ public String getFirstValue() {
+ DataPropertyStatementTemplateModel first = getFirst();
+ return first == null ? null : first.getValue();
+ }
+
}
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java
index ec4671452..4e72ca0a6 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/UncollatedObjectPropertyTemplateModel.java
@@ -65,4 +65,8 @@ public class UncollatedObjectPropertyTemplateModel extends ObjectPropertyTemplat
public boolean isCollatedBySubclass() {
return false;
}
+
+ public ObjectPropertyStatementTemplateModel getFirst() {
+ return ( (statements == null || statements.isEmpty()) ) ? null : statements.get(0);
+ }
}
diff --git a/webapp/web/config/listViewConfig-default.xml b/webapp/web/config/listViewConfig-default.xml
index e15256429..1cc38e5e5 100644
--- a/webapp/web/config/listViewConfig-default.xml
+++ b/webapp/web/config/listViewConfig-default.xml
@@ -14,7 +14,7 @@
?subject ?property ?object
OPTIONAL { ?object rdfs:label ?name }
OPTIONAL { ?object vitro:moniker ?moniker }
- }
+ } ORDER BY ?name ?object
@@ -28,7 +28,7 @@
OPTIONAL { ?object rdfs:label ?name }
OPTIONAL { ?object vitro:moniker ?moniker }
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
- } ORDER BY ?subclass
+ } ORDER BY ?subclass ?name ?object
diff --git a/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl b/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl
index ced1886b2..5ff1e501f 100644
--- a/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl
+++ b/webapp/web/templates/freemarker/body/partials/individual/lib-properties.ftl
@@ -180,7 +180,7 @@ name will be used as the label. -->
If there's a mainImage statement but no thumbnail image, treat it as if there is no image. -->
<#if (mainImage.statements)?has_content && thumbUrl?has_content>
- <@p.editingLinks "${mainImage.localName}" mainImage.statements[0] editable />
+ <@p.editingLinks "${mainImage.localName}" mainImage.first editable />
<#else>
<#local imageLabel><@p.addLinkWithLabel mainImage editable "Photo" />#local>
${imageLabel}