DSpace alternatives and similar software solutions
Based on the "Calibre" category.
Alternatively, view DSpace alternatives based on common mentions on social networks and blogs.
-
Calibre Web
:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database -
Polar Bookshelf
Polar is a personal knowledge repository for PDF and web content supporting incremental reading and document annotation. -
BicBucStriim
BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices that provide access to music, videos and photos -- but not books. BicBucStriim fills this gap and provides web-based access to your e-book collection. -
Samvera Hyrax
Hyrax is a Ruby on Rails Engine built by the Samvera community. Hyrax provides a foundation for creating many different digital repository applications. -
Islandora
Drupal modules for browsing and managing Fedora-based digital repositories.
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of DSpace or a related project?
README
DSpace
DSpace Documentation | DSpace Releases | DSpace Wiki | Support
Overview
DSpace open source software is a turnkey repository application used by more than 2,000 organizations and institutions worldwide to provide durable access to digital resources. For more information, visit http://www.dspace.org/
DSpace consists of both a Java-based backend and an Angular-based frontend.
- Backend (this codebase) provides a REST API, along with other machine-based interfaces (e.g. OAI-PMH, SWORD, etc)
- The REST Contract is at https://github.com/DSpace/RestContract
- Frontend (https://github.com/DSpace/dspace-angular/) is the User Interface built on the REST API
Prior versions of DSpace (v6.x and below) used two different UIs (XMLUI and JSPUI). Those UIs are no longer supported in v7 (and above).
- A maintenance branch for older versions is still available, see
dspace-6_x
for 6.x maintenance.
Downloads
- Backend (REST API): https://github.com/DSpace/DSpace/releases
- Frontend (User Interface): https://github.com/DSpace/dspace-angular/releases
Documentation / Installation
Documentation for each release may be viewed online or downloaded via our Documentation Wiki.
The latest DSpace Installation instructions are available at: https://wiki.lyrasis.org/display/DSDOC7x/Installing+DSpace
Please be aware that, as a Java web application, DSpace requires a database (PostgreSQL or Oracle) and a servlet container (usually Tomcat) in order to function. More information about these and all other prerequisites can be found in the Installation instructions above.
Running DSpace 7 in Docker
NOTE: At this time, we do not have production-ready Docker images for DSpace. That said, we do have quick-start Docker Compose scripts for development or testing purposes.
See [Running DSpace 7 with Docker Compose](dspace/src/main/docker-compose/README.md)
Contributing
DSpace is a community built and supported project. We do not have a centralized development or support team, but have a dedicated group of volunteers who help us improve the software, documentation, resources, etc.
We welcome contributions of any type. Here's a few basic guides that provide suggestions for contributing to DSpace:
- How to Contribute to DSpace: How to contribute in general (via code, documentation, bug reports, expertise, etc)
- Code Contribution Guidelines: How to give back code or contribute features, bug fixes, etc.
- DSpace Community Advisory Team (DCAT): If you are not a developer, we also have an interest group specifically for repository managers. The DCAT group meets virtually, once a month, and sends open invitations to join their meetings via the DCAT mailing list.
We also encourage GitHub Pull Requests (PRs) at any time. Please see our Development with Git guide for more info.
In addition, a listing of all known contributors to DSpace software can be found online at: https://wiki.lyrasis.org/display/DSPACE/DSpaceContributors
Getting Help
DSpace provides public mailing lists where you can post questions or raise topics for discussion. We welcome everyone to participate in these lists:
- [email protected] : General discussion about DSpace platform, announcements, sharing of best practices
- [email protected] : Technical support mailing list. See also our guide for How to troubleshoot an error.
- [email protected] : Developers / Development mailing list
Great Q&A is also available under the DSpace tag on Stackoverflow
Additional support options are at https://wiki.lyrasis.org/display/DSPACE/Support
DSpace also has an active service provider network. If you'd rather hire a service provider to install, upgrade, customize or host DSpace, then we recommend getting in touch with one of our Registered Service Providers.
Issue Tracker
DSpace uses GitHub to track issues:
- Backend (REST API) issues: https://github.com/DSpace/DSpace/issues
- Frontend (User Interface) issues: https://github.com/DSpace/dspace-angular/issues
Testing
Running Tests
By default, in DSpace, Unit Tests and Integration Tests are disabled. However, they are run automatically by GitHub Actions for all Pull Requests and code commits.
- How to run both Unit Tests (via
maven-surefire-plugin
) and Integration Tests (viamaven-failsafe-plugin
):mvn install -DskipUnitTests=false -DskipIntegrationTests=false
- How to run only Unit Tests:
mvn test -DskipUnitTests=false
- How to run a single Unit Test ``` # Run all tests in a specific test class # NOTE: failIfNoTests=false is required to skip tests in other modules mvn test -DskipUnitTests=false -Dtest=[full.package.testClassName] -DfailIfNoTests=false
# Run one test method in a specific test class mvn test -DskipUnitTests=false -Dtest=[full.package.testClassName]#[testMethodName] -DfailIfNoTests=false
* How to run _only_ Integration Tests
mvn install -DskipIntegrationTests=false
* How to run a *single* Integration Test
# Run all integration tests in a specific test class # NOTE: failIfNoTests=false is required to skip tests in other modules mvn install -DskipIntegrationTests=false -Dit.test=[full.package.testClassName] -DfailIfNoTests=false
# Run one test method in a specific test class mvn install -DskipIntegrationTests=false -Dit.test=[full.package.testClassName]#[testMethodName] -DfailIfNoTests=false
* How to run only tests of a specific DSpace module
# Before you can run only one module's tests, other modules may need installing into your ~/.m2 cd [dspace-src] mvn clean install
# Then, move into a module subdirectory, and run the test command cd [dspace-src]/dspace-server-webapp # Choose your test command from the lists above
## License
DSpace source code is freely available under a standard [BSD 3-Clause license](https://opensource.org/licenses/BSD-3-Clause).
The full license is available in the [LICENSE](LICENSE) file or online at http://www.dspace.org/license/
DSpace uses third-party libraries which may be distributed under different licenses. Those licenses are listed
in the [LICENSES_THIRD_PARTY](LICENSES_THIRD_PARTY) file.
*Note that all licence references and agreements mentioned in the DSpace README section above
are relevant to that project's source code only.