New Features in EPrints 3.2
This page is now describing actual features, rather than planned.
The Planned Features may be useful to improve the quality of descriptions on this page.
Contents
- 1 NOTE
- 2 Database
- 3 API
- 4 Documents
- 5 Deposit Interface
- 6 Search & Indexing
- 7 Unicode
- 8 REST
- 9 WebDav
- 10 SWORD2
- 11 Semantic Web Support
- 12 Storage Layer
- 13 Speed
- 14 Import
- 15 EPC & EPrints Script
- 16 OAI
- 17 Unit Tests
- 18 Metadata Types
- 19 Administration Interface
- 20 Editorial Interface
- 21 User Defined Datasets
- 22 Command Line Tools
- 23 Export
- 24 Abstract Page
- 25 Phrases
- 26 Views
- 27 Misc. Changes
- 28 Key Bugfixes
- 29 New and altered Config options
NOTE
- We now recommend LibXML in preference to GDOME. It's less buggy, and easier to install.
- Upgrade may take several hours as it cleans up the unicode issues in the database.
Database
- In addition to MySQL, EPrints 3.2 now supports Oracle and Postgres
API
- This release features a formal API. Not all functionality is yet available via the API, but will be added slowly and carefully in future releases.
- The bugbear of EPrints internals, EPrints::Session has been merged into EPrints::Repository. All old code will still work.
Documents
- Thumbnails are now documents in their own right
- Built in document-format icons, as well as those you configure yourself
Deposit Interface
- Edit Locking locks records reduces risk of 2 people editing a record at the same time.
- Option to extract metadata and images from OpenXML files (.docx and .pptx)
- Offers options to users and editors on the deposit screen if there are problems
- Document upload screen has been redesgined to be clearer.
- Split document uploading into adding a new document and editing existing documents
- The documents inside an EPrint may now be re-ordered
- Progress bar on file upload
- Document upload methods (file, url, zip etc.) are now plugin-based and can be extended
- When attempting to deposit an eprint with problems show Save button
- Made it an option to provide action buttons top and bottom in workflow
Search & Indexing
- The search library has been entirely re-written to reduce use of cache tables and to improve performance. Simple searches are now over ten times faster.
- The indexer now uses plugins, so you can schedule other tasks, like thumbnail conversion, to be done in the background.
- Added config option "cache_max" to limit the cachemap tables used
Unicode
- EPrints use of unicode has been significantly improved.
REST
- A "REST" style interface to objects, via /rest/eprint/23/title.txt, for example. This can also support "PUT" to alter fields!
WebDav
- ???
SWORD2
- ???
Semantic Web Support
- RDF+XML Format
- N3 Format
- URIs for all objects, including non dataobjs. eg. Authors, Events, Locations.
- BIBO Ontology
- Extendable
- URIs now use content negotiation to decide which export plugin to redirect to, based on mime-types supplied by plugins and the "accept" header.
- Relations between eprints and documents
Storage Layer
- Now uses plugins to store files
- Local Filesystem
- Amazon S3
- Sun Cloud Storage
Speed
- Search & Indexing much faster
- Import is faster
- Other parts of the code have been audited for speed, and optimised.
Import
- Modified Import UI to allow a per-plugin/single/bulk workflow
EPC & EPrints Script
- New EPC tag type: epc:debug, which is like print but sends the XML to STDERR for debugging purposes.
- New EPScript methods: citation_link, dataset, related_objects, url, doc_size, is_public, thumbnail_url, preview_link, icon, human_filesize, control_url, contact_email, property, substr, filter_compound_list, to_data_array, pretty_list, array_concat, action_list, action_button, action_title, action_description, action_icon
- Improvements to the epc:foreach processing (better handling of multiple object types in lists)
- New Script method: property() which takes a string and returns a property from a hash or dataobj.
- New EPrints Script datatype: DATA_ARRAY: Represents a list of tuples of [$value, $epscript_type]
OAI
- Stateless OAI Interface means no timing-out
- Support for multiple constraints in custom OAI sets
Unit Tests
- We have introduced unit-tests to improve both the short and long term quality of our code.
Metadata Types
- Counter (incrementing value)
- Timestamp (defaults to the current time)
- UUID
- MetaField::Search now has two properties:
- "namedfields" which is an array ref of field names to search OR
- "namedfields_config" which is the name of a config variable
- MetaField::Search can now be used in any workflow (not hard-coded to editpermfields)
- A captcha pseudo-field based on http://recaptcha.net/
- added "repeat_secret" property to secret fields that will render a confirmation box which is checked with validate()
Administration Interface
- Converted Admin screen into several tabs.
- Improved the BatchEdit interface
- Show a progress bar while records are updated (batch edit?)
Editorial Interface
- Improved "Review" Screen
- The "Review buffer" can now be filtered for better management of large review buffers.
- When an editor provide the "Move to Review" button if there are problems
User Defined Datasets
- Allows 3rd party tools to create their own additional datasets
- Suite of interface screens to work with these new datasets
Command Line Tools
- Allow eprint ids to be specified for redo_thumbnails
Export
- Added support for JSONP
- Added support for an 'n' argument to search exports
- Added arguments to export plugins. Passed by CGI arguments on abstract search or by da --arg opton we have added to bin/export for magickal extra goodness.
Abstract Page
- Now generated with a citation
- Shows an "action list", so plugins can register to appear on this page
Phrases
- Primary method of editing phrases is now the web interface
- Added "ref" option to phrases, which will cause the referenced phrase to be used instead - Equivalent to calling the referenced phrase directly
Views
- Entire rendering of item lists and menus can be over-ridden by a function
Misc. Changes
- Can now disable a repository through a system configuration setting
- Refactoured DataObj::get_defaults so that you can now specify default values through a "default_value" property
- Most of get_defaults() can now be specified through the metafield spec.
- Can now apply multiple changes to the same field (???? I assume this means metafield?)
- Preference field for users (to store k/v pairs in)
Key Bugfixes
- Fixed login page not using phrase for title
- Fixed spurious history objects being created on document upload
- Fixed an HTML insertion bug in the <title> element [Brian D. Gregg]
- Fixed schema errors in uketd_dc and METS/MODS export plugins
- Fixed bug in Compound creation of Set types that squashed the set options
- Fixed order static directories are searched to: repository->theme->system
- Support long values in browse views by using the MD5 of the value,
- Subject inputform component can now be used with singular values
- Fixed bug that is_advertised property on export plugins was being ignored.
- Fixed bug in indexer which meant it didn't index in a round-robin fashion.
New and altered Config options
These need documenting and noting which ones we recommend setting/altering when upgrading.
- Broke up SystemSettings into logically named files
- Can now disable a repository through a system configuration setting
- Moved most of eprint_render.pl into a citation file: summary_page.xml
- Updated defaults views.pl to show current config.
- Improved document_upload.pl layout to make it easier to add/remove suffix to mimetype mappings.
- Added URI to EPrint Summary Page
- Added RDF+XML and N3 Document formats
- New metafield option: $defaults{render_max_search_values} = 5;
- Added "show_help" option to workflow component to disable collapsing Usage: show_help={always,toggle,never}
- Added config option "cache_max" to limit the cachemap tables used
- Can now disable a repository through a system configuration setting
- user defined datasets
- Made it an option to provide action buttons top and bottom in workflow
- $c->{locking}->{eprint}->{enable} = 1;
- $c->{locking}->{eprint}->{timeout} = 600;
- REST privs
- check registation email callback
- epc:debug,
- lots of eprints script functions
- views.pl
- "DEFAULT;render_fn=render_view_items_3col_boxes",
- render_menu => "render_view_menu_3col_boxes"
- ranges & variations were introduced in 3.1.? but need documenting.
- Storage plugins
- adding actions to absract page