DS-1217 Porting Discovery to the JSPUI

Contribution from CILEA funded by the Hub project from HKU
(http://hub.hku.hk)
Faceting, filtering (autocomplete), sidebar facet for the site home page,
community and collections are all implemented.
Changes to the Discovery API/configuration:
  1) changed the unique field for the SOLR document, now is used the
     concatenation of ID and TYPE-ID (in future we want to index also
     object that have not an handle)
  2) the prune query has been changed in search.resourcetype:[2 TO 4] so to          not remove eventually extra data loaded in the SOLR search core
  3) added defaultRpp parameter

Main differences from the XMLUI implementation:
  1) facets doesn't have a "...More" link but there are pagination to
     scroll facet in the context (search, home page, community, etc.)
  2) facets doesn't show the values already selected
  3) autocomplete is done against user input and does not dump all the
     values (this was a performance issue in XMLUI < 3.0, with 90k items
     I see JSON around 2Mb). With the new Discovery improvements the
     autocomplete feature in XMLUI seems to be turned off
  4) to enable JSPUI discovery you need to add some extra plugins in
     dspace.cfg (instructions are provided as comment in the discovery.cfg)
This commit is contained in:
Andrea Bollini
2012-09-13 12:31:23 +02:00
parent 21f93a34d4
commit 4fc8b9348b
66 changed files with 4616 additions and 682 deletions

View File

@@ -221,6 +221,24 @@ public class Item extends DSpaceObject
return new ItemIterator(context, rows);
}
/**
* Get all "final" items in the archive, both archived ("in archive" flag) or
* withdrawn items are included. The order of the list is indeterminate.
*
* @param context
* DSpace context object
* @return an iterator over the items in the archive.
* @throws SQLException
*/
public static ItemIterator findAllUnfiltered(Context context) throws SQLException
{
String myQuery = "SELECT * FROM item WHERE in_archive='1' or withdrawn='1'";
TableRowIterator rows = DatabaseManager.queryTable(context, "item", myQuery);
return new ItemIterator(context, rows);
}
/**
* Find all the items in the archive by a given submitter. The order is