Contribute to the DSpace Development Fund
The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.
Upgrade from any past version of DSpace!
Installing DSpace provides an overview of the DSpace 8 installation process and all prerequisite software. You should review this before attempting an upgrade, in order to ensure you are running the required versions of Java, Node, etc.
Upgrading DSpace provides a guide for upgrading from any old version of DSpace to v8. As in the past, your data migrates automatically, no matter which older version you are running. However, as the old XMLUI and JSPUI user interfaces are no longer supported, you must switch to using the new User Interface.
8.0 Release Notes
These 8.0 Release Notes are in draft state. We believe them to be mostly accurate, but they are still being reviewed/updated. This notice will be removed once they are "finalized".
DSpace 8.0 is a major release of the DSpace platform. It provides new features and improvements, along with bug fixes. You should be aware that all major releases may provide some "breaking changes" (major changes that may impact your local customizations).
New User Features
- OpenAIRE Data Correction: this feature provides a basic integration with the OpenAIRE Content Provider Dashboard via the Notification Broker. It allows repositories who have subscribed to the OpenAIRE Notification Broker to import JSON data from OpenAIRE in order to enhance or correct the metadata of Items in the repository. (Made possible thanks to the OpenAIRE Call Innovation funded project "Enrich local data via the OpenAIRE Graph” awarded to 4Science.)
- OpenAIRE Publication Claim: this feature provides a closer integration between DSpace and the OpenAIRE Publication REST API. It allows DSpace to import possible publications from OpenAIRE for users having a Researcher Profile in DSpace. (Made possible thanks to the OpenAIRE Call Innovation funded project "Enrich local data via the OpenAIRE Graph” awarded to 4Science.)
- COAR Notify Protocol: DSpace now suports the COAR Notify Protocol for sending & receiving Linked Data Notifications (LDN) messages from external systems. DSpace is able to register external LDN services to send or receive messages from. This allows users to request review/endorsement from an external service (supporting COAR Notify) during the Item submission process. It also allows these external services to send event notifications into DSpace's Quality Assurance tool. (Donated by 4Science)
- Request Withdrawal or Reinstatement: Optionally, all logged-in users are able to request that a specific Item be withdrawn or reinstated using the DSpace Quality Assurance tool (also used by Data Correction, Publication Claim and COAR Notify). These requests can be reviewed by an Administrator where they can either accept or reject the request. The request may also be cancelled by the user who submitted it. (Donated by 4Science)
- Basic Duplicate Detection in submission and workflow: this feature introduces basic duplicate detection into DSpace submission and workflow, using Solr's ability to search by levenshtein distance. When enabled, all new submissions or items in workflow will be checked against similar items already in DSpace & the user will be notified of any possible duplicate items. (Developed by The Library Code with support of TU Berlin, FHNW and ZHAW.)
- "Processes" page has been reorganized: To simplify process management through the Administrator UI, the "Processes Overview" page has been restructured to group processes into separate sections for "running", "scheduled", "completed" and "failed". These sections update automatically. (Donated by Atmire)
- Improved "Primary Bitstream" management: Submitters can now define if a bitstream is a "primary" bitstream directly on the submission page after a file has been uploaded. On the Item page, the primary bitstream now has a badge. The primary bitstream is the file that will be listed first in the download list, and its thumbnail will be displayed on the Item page. (Developed by Atmire, funded by the University of California - California Digital Library)
- Search Facets on Homepage, Community/Collection pages: Optionally, search facets/filters can now be displayed on home page and all Community, and Collection pages. By default, they are not displayed on the homepage (see "showDiscoverFilters" in Homepage settings), but always displayed on Community/Collection pages (see "showSidebar" in Community and Collection settings). (Donated by DSquare Technologies and Atmire)
- Advanced Search options : Optionally, a new "Advanced Search" filter can be enabled on the Search page to provide advanced search capabilities. This "Advanced Search" filter allows supports the searching within fields using the following operators by default: Contains, Not Contains, Equals, and Not Equals. See the "advancedFilters" in the Search settings for more details. (Donated by DSquare Technologies)
- Lookup via external sources from the Edit Item page (Relationship tab): When editing an Entity, on the "Relationships" tab you can now click the "+Add" button to lookup and import related entities from supported external sources (e.g. CrossRef, ORCID, PubMed, etc). (Donated by Atmire)
- Import via DOI supports multiple sources at once (Crossref, DataCite): a new external source has been added which can be configured to query multiple existing sources simultaneously, returning results from either. By default, this external source is configured for a new "DOI" lookup which will search CrossRef and DataCite simultaneously. (Donated by University of Bamberg)
- Make forgot-password link removable: new configuration has been added to checks for the forgot-password feature. The same feature can also check, whenever is provided, that the user is able to update its password.
- Enable lookup for metadata controlled by authority in edit view: User are now able to edit metadata controlled by vocabularies in item's metadata edit form in the same way that is done in submission form. (Donated by Toni Prieto)
- RIOXX v3 OAI profile support: DSPace can expose metadata in the OAI module in the Research Outputs Metadata Schema (RIOXX) Application Metadata Profile Version 3. See RIOXX version 3 specification for technical details.
- OAI XOAI Resource Policies for every bitstream: access rights at bitstreams level is available in the OAI XOAI format and has been added to the following OAIS format: OpenAIRE and UKETD/EthOS.
- OpenAIRE OAI Crosswalk: the OpenAIRE OAI format as been improved to include the access rights conditions at the bitstream level (accessRightsURI attribute of oaire:file element.
- Research Organization Registry (ROR) Integration: when using configurable entities ROR can now be used as
Organization
Data Provider. It enable live-import from the ROR API. The ROR icon is also displayed on DSpace organiztion page, as suggested by the ROR-ID guidelines. - Recently Added Items display on Community pages: similar to the homepage, new available items are also displayed their respective community page.
- Item submission process can be configured at community level: In the "item-submission.xml" configuration, it is now possible to map a submission form to a Community. This will cause all descendant collections to use the mapped item submission process. This can be useful for repositories where top-level communities represent different document types or scopes and descendant collections should share the same submission process. (Donated by Toni Prieto)
- DSpace Reports: beta release of the DSpace reports only provides the ability to run the reports and display the results in the Angular UI. As such, reports feature must be used with caution. The reports are an Administrator tool. There are 2 reports: Filtered Collection and Metadata Query. See Report documentation for mode details.
Breaking Changes
The following major changings may negatively impact or "break" your local customizations to prior versions of DSpace. Please be aware of them before upgrading.
- Java 17 (or later) and Tomcat 10 (or later) is required for the backend. The DSpace 8 backend can no longer be run on Java 11 or Tomcat 9 as it has been updated to Spring 6 / Spring Boot v3 to support Jakarta Enterprise Edition 9+. You must upgrade these dependencies in order to run DSpace 8. If you are using a different servlet engine, you must ensure it is compatible with Jakarta EE 9+ (e.g. Jetty must be version 11 or later)
- If you have any custom Java code or custom plugins, they must all be migrated to use "jakarta.*" dependencies instead of "javax.*" dependencies. It is not possible to use older "javax.*" dependencies in DSpace 8.
- Node 18 or 20 is required for the frontend. The DSpace 8 User Interface has been upgraded to Angular 16, and Node 16 is no longer supported. This is less likely to impact local customizations, but is worth being aware of.
- The deprecated REST API v6 ("dspace-rest" module) was removed. All custom code must be migrated to the new REST API (first released in 7.x). Any custom code which depends on the older REST API v6 must be rewritten, as the new REST API is not backwards compatible. For more information on the removed REST API v6, see the DSpace 7.x documentation.
Major Updates and Improvements
- Header and navbar refactoring: change both header and footer structure to make easier to handle dspace and base themes
- Alteration to index-discovery script to only (re-)index specific type of IndexableObject: https://github.com/DSpace/DSpace/pull/9243 Merging immediately. But, I'm also flagging as "needs documentation" as we should update the indexing script docs for DSpace 8 in Discovery#DiscoverySolrIndexMaintenance If you have a chance to add this new param to those docs, I'd appreciate it.
- Migrate from Joda-Time to java.time: as required by Joda-Time website, using
java.time
: - UI should have a ProcessPollingService for common polling activities (feature process polling):
dspace-angular
should have aProcessPollingService
which can be used to check if a specific activity has completed. - [Port main] i18n production improvements: TO IGNORE ? (port from 7.6.10
- Migrate to standalone components, directives, pipes: Having standalone components, directives and pipes makes it easier to think about the dependencies of the components and are easier to refactor.
- Embedding data doesn't work for some rest objects: Rest controllers actually don't use the singular name, but the plural name in their beans. It would be better to normalise this behaviour so that the repositories also work like this. This would also mean that we won't have to use the
makeSingular
method anymore to find the beans. To avoid Some rest objects to throw a 404 error when you try to embed data. - Expose 'creationTime' property on Process object and add it to '/search/byProperty' sort options: exposes the
creationTime
property on Process objects and adds it to the possible sort options for/processes/search/byProperty
. AsstartTime
andendTime
are nullable, processes with these properties set tonull
can't be sorted properly. Every process does have acreationTime
however, making for a more reliable sorting mechanism.
8.0 Acknowledgments
Major Contributing Institutions
The following institutions have been major code contributors to the DSpace 8 release (in general)
Financial Contributors
We gratefully recognize the following institutions who together have generously contributed financially to support the DSpace 8 and individuals who devoted time to fundraising:
Frontend / User Interface Acknowledgments [BASED ON DSpace 7, TO REVISE]
The following individuals have contributed directly to the new DSpace (Angular) User Interface in this release (ordered by number of GitHub commits): Giuseppe Digilio (atarix83), Kristof De Langhe (Atmire-Kristof), Lotte Hofstede (LotteHofstede), Art Lowel (artlowel), Marie Verdonck (MarieVerdonck), Julius Gruber (Flusspferd123), Yury Bondarenko (ybnd), William Welling (wwelling and wellingWilliam), Yana De Pauw (YanaDePauw), Tim Donohue (tdonohue), Alessandro Martelli (alemarte), Michael Spalti (mspalti), Jonas Van Goolen (jonas-atmire), Laura Henze (lhenze), Dániel Péter Sipos (dsipos-dev), Samuel Cambien (samuelcambien), Bruno Roemers (bruno-atmire), Matteo Perelli (sourcedump), Bram Luyten (bram-atmire), Ben Bosman (benbosman), Terry Brady (terrywbrady), Raf Ponsaerts (Raf-atmire), Danilo Di Nuzzo (ddinuzzo), Andrea Chiapparelli (andreachiapparelli), Antoine Snyers (antoine-atmire), Corrado Lombardi (corrad82-4s), Courtney Pattison (courtneypattison), Àlex Magaz Graça (rivaldi8), Chris Wilper (cwilper), Christian Scheible (christian-scheible), Andrew Wood (AndrewZWood), Reeta Kuuskoski (reetagithub), Vítor Silvério Rodrigues (vitorsilverio), Alexander Sulfrian (AlexanderS), muiltje, José Carvalho (josekarvalho), Claudia Jürgen (cjuergen), fernandaruizm, Ivan Masar (helix84), Paulo Graça (paulo-graca), Philip Vissenaekens (PhilipVis), Nagy Akos (akoscomp), Kevin Van de Velde (KevinVdV), Sascha Szott (saschaszott), Mohamed Mohideen Abdul Rasheed (mohideen), David Cavrenne (davidatmire), Hardy Pottinger (hardyoyo), Luca Giamminonni (LucaGiamminonni), Mateus Mercer (MatMercer), Denijs Balodis (Denijsb), Pascal-Nicolas Becker (pnbecker), Mikus Zarins (MixonZ), marciofoz, Andrea Bollini (abollini), Martin Walk (MW3000).
Backend / REST API Acknowledgments [BASED ON DSpace 7, TO REVISE]
The following individuals have contributed directly to the DSpace backend (REST API, Java API, OAI-PMH, etc) in this release (ordered by number of GitHub commits): Raf Ponsaerts (Raf-atmire), Tim Donohue (tdonohue), Andrea Bollini (abollini), Michele Boychuk (Micheleboychuk), Mark Wood (mwoodiupui), Marie Verdonck (MarieVerdonck), Ben Bosman (benbosman), Luigi Andrea Pascarelli (lap82), Terry Brady (terrywbrady), Tom Desair (tomdesair), Yana De Pauw (YanaDePauw), Chris Wilper (cwilper), Peter Nijs (peter-atmire), Kevin Van de Velde (KevinVdV), Bruno Roemers (bruno-atmire), Giuseppe Digilio (atarix83), Pasquale Cavallo (pasqualecvl), Jelle Pelgrims (jpelgrims-atmire), Andrew Wood (AndrewZWood), Samuel Cambien (samuelcambien), Antoine Snyers (antoine-atmire), Kim Shepherd (kshepherd), Yury Bondarenko (ybnd), Michael Spalti (mspalti), Alessandro Martelli (alemarte), Oliver Goldschmidt (olli-gold), Jonas Van Goolen (jonas-atmire), Kristof De Langhe (Atmire-Kristof), Alexander Sulfrian (AlexanderS), Patrick Trottier (PTrottier), Pablo Prieto (ppmdo), Hardy Pottinger (hardyoyo), Pascal-Nicolas Becker (pnbecker), William Tantzen (tantz001), Paulo Graça (paulo-graca), Luca Giamminonni (LucaGiamminonni), Ivan Masar (helix84), Hrafn Malmquist (J4bbi), Ian Little (ilittle-cnri), Anis Moubarik (anis-moubarik), Claudia Jürgen (cjuergen), Alan Orth (alanorth), xuejiangtao, Danilo Di Nuzzo (ddinuzzo), James Creel (jcreel), Marsa Haoua (marsaoua), Philip Vissenaekens (PhilipVis), Miika Nurminen (minurmin), Bram Luyten (bram-atmire), Christian Scheible (christian-scheible), Nicholas Woodward (nwoodward), József Marton (jmarton), Mohamed Mohideen Abdul Rasheed (mohideen), Saiful Amin (saiful-semantic), Àlex Magaz Graça (rivaldi8)
Additional Thanks
Additional thanks to our DSpace Leadership Group and DSpace Steering Group for their ongoing DSpace support and advice. Thanks also to LYRASIS for your leadership, collaboration & support in helping to speed up the development process of DSpace 8.
Thanks also to the various developer & community Working Groups who have worked diligently to help make DSpace 8 a reality. These include:
- DSpace 7 developers group
- DSpace Community Advisory Team (DCAT) - This team helped organize/lead the DSpace 8.0 Testathon (to bang on the system to find any last bugs), and they also provided us with advice on features, etc.
We apologize to any contributor accidentally left off this list. DSpace has such a large, active development community that we sometimes lose track of all our contributors. Acknowledgments to those left off will be made in future releases.