Difference between revisions of "New Features in EPrints 3.2"
Line 1: | Line 1: | ||
− | This is | + | This page is now describing actual features, rather than planned. |
− | = | + | The [http://wiki.eprints.org/index.php?title=New_Features_in_EPrints_3.2&oldid=6394 Planned Features] may be useful to improve the quality of descriptions on this page. |
− | + | ==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 Postgres and Oracle | ||
− | = | + | ==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. | ||
− | = | + | ==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 alterd Config options== | |
− | + | * Breaks 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="no" | |
− | + | * 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 20:05, 5 February 2010
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 - "namedfields" which is an array ref of field names to search OR
- 20 - "namedfields_config" which is the name of a config variable
- 21 Administration Interface
- 22 Editorial Interface
- 23 User Defined Datasets
- 24 Command Line Tools
- 25 Export
- 26 Abstract Page
- 27 Phrases
- 28 Views
- 29 Misc. Changes
- 30 Key Bugfixes
- 31 New and alterd 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 Postgres and Oracle
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.
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 alterd Config options
- Breaks 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="no"
- 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.