DSpace-CRIS 7研究者页面无法完整显示科研成果问题求助
DSpace-CRIS 2022.02 研究者页面仅显示基础信息的排查方案
一、先解决配置文件路径问题
你提到的src/environments/environment.common.ts不存在是因为2022.02版本的DSpace-CRIS Angular端已取消该文件,布局及实体展示配置统一放在以下文件中:
- 开发环境:
src/environments/environment.dev.ts - 生产环境:
src/environments/environment.ts
二、核心排查方向(不止是布局设置)
1. 布局与区块配置是否开启成果展示
打开对应环境的配置文件,查找cris相关配置节点,确认是否已启用科研成果(如publications、projects)的展示区块:
cris: { entities: { researcher: { // 检查是否包含成果相关的sections配置 sections: [ { id: 'publications', label: 'Publications', component: 'cris-entity-section-list', config: { // 确保这里配置了正确的成果实体类型和关联字段 entityType: 'publication', relationType: 'researcher2publication' } }, // 其他如projects、patents等区块同理 ] } } }
如果缺少上述配置,页面不会渲染成果区块。
2. 元数据关联与实体映射是否正确
虽然PDF导出能看到数据,但前端渲染依赖实体间的关联元数据映射:
- 检查研究者实体与科研成果实体的关联字段是否正确配置(如
dc.contributor.author或自定义关联字段) - 确认科研成果的元数据字段已被Angular端的研究者页面组件正确识别(可查看
src/app/cris/entities/researcher下的组件代码,确认是否引用了正确的元数据键)
3. 组件加载与权限配置
- 确认研究者详情页的Angular组件(
researcher-detail.component.ts)已导入并注册成果展示相关的子组件 - 检查权限设置:确保研究者页面的成果区块权限已设置为
PUBLIC(公开访问场景),或当前登录用户拥有查看成果的权限(前端组件可能有单独的权限校验逻辑)
4. 缓存与静态资源问题
- 清理Angular缓存:执行
npm run clean后重新构建项目 - 重启DSpace-CRIS后端服务,确保实体关联数据已同步到前端可访问的索引中
三、还原演示站效果的关键配置
要匹配演示站的展示效果,需确保:
- 在配置文件中启用所有需要展示的研究者实体区块(包括成果、项目、获奖等)
- 选择合适的布局类型(垂直/水平),配置项为
layout: 'vertical'或layout: 'horizontal',放在研究者实体的配置节点下
内容的提问来源于stack exchange,提问作者TotallyNormalHuman
相关产品推荐
相关产品推荐

