Tip | ||
---|---|---|
| ||
This Service based API refactoring was approved for release in DSpace 6.0 via a vote taken on the 'dspace-devel' mailing list. |
Noteinfo | ||
---|---|---|
| ||
The Service-based API refactoring will take place on the DS-2701-service-api feature branch. As this API is NOT backwards compatible, all existing DSpace Modules will need to be refactored to utilize this new API. If you would like to help out, please claim one or more DSpace Modules, and submit a PR (against the above "DS-2701-service-api" branch) which fixes that module. A module is considered "fixed" when it compiles (against the new API) and all its unit tests (if any) pass. Please submit one PR per module. (NOTE: PLEASE WAIT FOR THE INITIAL API merger before starting any module refactors)
Once all modules successfully compile and pass all unit tests, the feature branch will be merged into "master" and more extensive testing will be performed. | ||
Info | ||
| ||
a major refactoring of the "dspace-api" (DSpace's Java API) to better support "separation of concerns/responsibilities". Simply put, often, in the existing (5.x and below) API, there is an intermingling of business logic and database logic which is difficult to maintain, debug and/or build against. One of the most obvious examples is how we deal with database software support (PostgreSQL vs. Oracle), but such intermingling of logic exists in many of our core classes. The DSpace "Service-based API" attempts to tease apart the database logic from the business logic into separate layers, while also adding support for Hibernate. The goal is to provide an easier to maintain, more modular API, while also enhancing how we deal with database logic in general (via Hibernate).
|
Info | ||
---|---|---|
| ||
This Service API was presented/discussed in a Special Topic Developer Meeting on July 23, 2015. Slides and video from that meeting are now available:
|
Note | ||
---|---|---|
| ||
All existing DSpace interfaces/user interfaces have been refactored to support the new API, and all unit tests succeed. This refactoring took place on the DS-2701-service-api feature branch. We'd like to thank the following individuals for their hard work in helping to refactor and test our various modules to support this new API:
|
Table of Contents | ||
---|---|---|
|
...