DSpace/DSpace
GitHub: DSpace/DSpace
DSpace 是一个开源数字资产管理系统,为机构提供数字资源的持久访问和知识库解决方案。
Stars: 1069 | Forks: 1442
# DSpace
[](https://github.com/DSpace/DSpace/actions?query=workflow%3ABuild)
[DSpace文档](https://wiki.lyrasis.org/display/DSDOC/) |
[DSpace版本发布](https://github.com/DSpace/DSpace/releases) |
[DSpace Wiki](https://wiki.lyrasis.org/display/DSPACE/Home) |
[支持](https://wiki.lyrasis.org/display/DSPACE/Support)
## 概述
DSpace 开源软件是一个成熟的开箱即用的仓储应用程序,全球超过 2,000 家组织和机构使用它来提供对数字资源的持久访问。
更多信息,请访问 http://www.dspace.org/
DSpace 包含基于 Java 的后端和基于 Angular 的前端。
* 后端(此代码库)提供了一个 REST API,以及其它基于机器的接口(例如 OAI-PMH、SWORD 等)
* REST 合约位于 https://github.com/DSpace/RestContract
* 前端(https://github.com/DSpace/dspace-angular/)是基于 REST API 构建的用户界面
DSpace 的早期版本(v6.x 及更早版本)使用了两种不同的 UI(XMLUI 和 JSPUI)。这些 UI 在 v7 及更高版本中不再受支持。
* 旧版本的维护分支仍然可用,有关 6.x 的维护请参见 `dspace-6_x`。
## 文档 / 安装
每个版本的文档都可以通过我们的[文档 Wiki](https://wiki.lyrasis.org/display/DSDOC/) 在线查看或下载。
最新的 DSpace 安装说明可在以下网址获取:
https://wiki.lyrasis.org/display/DSDOC9x/Installing+DSpace
请注意,作为一个 Java Web 应用程序,DSpace 需要数据库(PostgreSQL)和 Servlet 容器(通常是 Tomcat)才能运行。
关于这些及所有其他先决条件的更多信息,可在上面的安装说明中找到。
## 在 Docker 中运行 DSpace 9
注意:目前,我们还没有用于生产的 DSpace Docker 镜像。
但是,我们提供了用于开发或测试目的的快速启动 Docker Compose 脚本。
参见[使用 Docker Compose 运行 DSpace 9](dspace/src/main/docker-compose/README.md)
## 获取帮助
DSpace 提供公共邮件列表,您可以在其中提出问题或发起讨论话题。
我们欢迎所有人参与这些列表:
很好的问答也出现在 [Stackoverflow 上的 DSpace 标签](http://stackoverflow.com/questions/tagged/dspace) 下。
DSpace 还拥有活跃的服务提供商网络。如果您希望聘请服务提供商来安装、升级、定制或托管 DSpace,我们建议您联系我们的
[注册服务提供商](https://dspace.org/registered-service-providers/)。
## 问题跟踪器
DSpace 使用 GitHub 来跟踪问题:
* 后端(REST API)问题:https://github.com/DSpace/DSpace/issues
* 前端(用户界面)问题:https://github.com/DSpace/dspace-angular/issues
## 测试
### 运行测试
默认情况下,在 DSpace 中,单元测试和集成测试是禁用的。然而,它们会被
[GitHub Actions](https://github.com/DSpace/DSpace/actions?query=workflow%3ABuild) 为所有 Pull Request 和代码提交自动运行。
* 如何同时运行单元测试(通过 `maven-surefire-plugin`)和集成测试(通过 `maven-failsafe-plugin`):
mvn install -DskipUnitTests=false -DskipIntegrationTests=false
* 如何*仅*运行单元测试:
mvn test -DskipUnitTests=false
* 如何运行*单个*单元测试
# 运行特定测试类中的所有测试
# 注意:需要设置 failIfNoTests=false 以跳过其他模块中的测试
mvn test -DskipUnitTests=false -Dtest=[full.package.testClassName] -DfailIfNoTests=false
# 运行特定测试类中的一个测试方法
mvn test -DskipUnitTests=false -Dtest=[full.package.testClassName]#[testMethodName] -DfailIfNoTests=false
* 如何*仅*运行集成测试
mvn install -DskipIntegrationTests=false
* 如何运行*单个*集成测试
# 运行特定测试类中的所有集成测试
# 注意:需要设置 failIfNoTests=false 以跳过其他模块中的测试
mvn install -DskipIntegrationTests=false -Dit.test=[full.package.testClassName] -DfailIfNoTests=false
# 运行特定测试类中的一个测试方法
mvn install -DskipIntegrationTests=false -Dit.test=[full.package.testClassName]#[testMethodName] -DfailIfNoTests=false
* 如何仅运行特定 DSpace 模块的测试
# 在仅运行一个模块的测试之前,可能需要将其他模块安装到您的 ~/.m2 中
cd [dspace-src]
mvn clean install
# 然后,进入一个模块子目录,并运行测试命令
cd [dspace-src]/dspace-server-webapp
# 从上面的列表中选择您的测试命令
## 许可证
DSpace 源代码根据标准的 [BSD 3-Clause 许可证](https://opensource.org/licenses/BSD-3-Clause) 自由提供。
完整许可证可在 [LICENSE](LICENSE) 文件中找到,或在线访问 http://www.dspace.org/license/
DSpace 使用可能在不同许可证下分发的第三方库。这些许可证列在
[LICENSES_THIRD_PARTY](LICENSES_THIRD_PARTY) 文件中。
标签:Angular前端, Docker容器, Java后端, JS文件枚举, OAI-PMH协议, PostgreSQL数据库, REST API, SWORD协议, Tomcat服务器, 域名枚举, 学术存储, 持久访问, 攻击面发现, 数字资产管理系统, 数字资源管理, 机构知识库, 测试用例, 知识库系统, 请求拦截, 资源检索, 软件开发