如何在DSpace统计中显示前50个查看次数最多的项目
How to display the top 50 most viewed items in DSpace statistics
以站点管理员身份登录后,您可以通过单击侧边栏(管理)菜单中的统计 link 来访问统计页面。页面看起来像这样(来自 DSpace 演示):
根据上图,显示了所有具有 20 次或更多浏览量的项目。是否可以将其更改为只显示前 50 个(或任意数量)查看次数最多的项目,而不管它是否有 20 个或更多的查看次数?因此,我想将其更改为 已查看的前 50 个项目,而不是 已查看的项目。同样默认情况下,该列表仅显示前 10 个查看次数最多的项目的标题,而其余的只是 url。我如何修改它以显示剩余项目的标题?
更新
我发现 [dspace]/config/dstat.cfg
中的设置 item.floor
和 item.lookup
如果您更改其默认值,则会被忽略。我在 JIRA 中提交了这个问题:DS-3470.
关于只显示前 50 个项目,这是我的 xslt 代码:
<xsl:template match="dri:div[@id='aspect.artifactbrowser.StatisticsViewer.div.items_viewed']/dri:table[@id='aspect.artifactbrowser.StatisticsViewer.table.reportBlock']">
<table class="ds-table table table-striped table-hover detailtable">
<xsl:for-each select="dri:row[position() <=51]">
<xsl:apply-templates select="."/>
</xsl:for-each>
</table>
</xsl:template>
我正在为此实例使用 DSpace 版本 6 (XMLUI)。
提前致谢。
这里设置20的值:https://github.com/DSpace/DSpace/blob/master/dspace/config/dstat.cfg#L66
我相信 header 设置在这里
https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java#L332
我认为报表返回的项目数量无法配置。您可能想看一下代码,这里和下一行:https://github.com/DSpace/DSpace/blob/269af71afb602808a14edf822ad658c3895e0a37/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java#L331
在该报告中考虑某个项目之前所需的浏览量阈值确实可以在 Terry 提到的文件中配置。
据我所知,标题会一直显示,如果可用的话。在 demo.dspace.org,您的屏幕截图中的链接指向不再存在的项目(但我猜它们仍然存在于 SOLR 核心中)。我相信这不会发生在 "real" DSpace 上,并且只是每周数据刷新的结果。
此致,
贝努瓦
您可以在 dstat.cfg
中配置标题查找的数量(如 Terry 所述)。 https://github.com/DSpace/DSpace/blob/master/dspace/config/dstat.cfg#L71
# limit the number of lookups of titles and authors to the first X. Lookup
# invokes the java environment so has quite an impact on performance.
item.lookup=10
好的,我发现要反映在 dstat.cfg
中所做的更改,您需要做的就是重新运行 dspace stat-initial
。关于仅显示前 50 个查看项目,我使用了以下代码:
<xsl:template match="dri:div[@id='aspect.artifactbrowser.StatisticsViewer.div.items_viewed']/dri:table[@id='aspect.artifactbrowser.StatisticsViewer.table.reportBlock']">
<table class="ds-table table table-striped table-hover detailtable">
<xsl:for-each select="dri:row[position() <=51]">
<xsl:apply-templates select="."/>
</xsl:for-each>
</table>
</xsl:template>
希望这对遇到类似问题的人有所帮助。感谢 Andrea、Terry 和 Benoit 的回答。
以站点管理员身份登录后,您可以通过单击侧边栏(管理)菜单中的统计 link 来访问统计页面。页面看起来像这样(来自 DSpace 演示):
根据上图,显示了所有具有 20 次或更多浏览量的项目。是否可以将其更改为只显示前 50 个(或任意数量)查看次数最多的项目,而不管它是否有 20 个或更多的查看次数?因此,我想将其更改为 已查看的前 50 个项目,而不是 已查看的项目。同样默认情况下,该列表仅显示前 10 个查看次数最多的项目的标题,而其余的只是 url。我如何修改它以显示剩余项目的标题?
更新
我发现 [dspace]/config/dstat.cfg
中的设置 item.floor
和 item.lookup
如果您更改其默认值,则会被忽略。我在 JIRA 中提交了这个问题:DS-3470.
关于只显示前 50 个项目,这是我的 xslt 代码:
<xsl:template match="dri:div[@id='aspect.artifactbrowser.StatisticsViewer.div.items_viewed']/dri:table[@id='aspect.artifactbrowser.StatisticsViewer.table.reportBlock']">
<table class="ds-table table table-striped table-hover detailtable">
<xsl:for-each select="dri:row[position() <=51]">
<xsl:apply-templates select="."/>
</xsl:for-each>
</table>
</xsl:template>
我正在为此实例使用 DSpace 版本 6 (XMLUI)。
提前致谢。
这里设置20的值:https://github.com/DSpace/DSpace/blob/master/dspace/config/dstat.cfg#L66
我相信 header 设置在这里 https://github.com/DSpace/DSpace/blob/master/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java#L332
我认为报表返回的项目数量无法配置。您可能想看一下代码,这里和下一行:https://github.com/DSpace/DSpace/blob/269af71afb602808a14edf822ad658c3895e0a37/dspace-api/src/main/java/org/dspace/app/statistics/ReportGenerator.java#L331
在该报告中考虑某个项目之前所需的浏览量阈值确实可以在 Terry 提到的文件中配置。
据我所知,标题会一直显示,如果可用的话。在 demo.dspace.org,您的屏幕截图中的链接指向不再存在的项目(但我猜它们仍然存在于 SOLR 核心中)。我相信这不会发生在 "real" DSpace 上,并且只是每周数据刷新的结果。
此致, 贝努瓦
您可以在 dstat.cfg
中配置标题查找的数量(如 Terry 所述)。 https://github.com/DSpace/DSpace/blob/master/dspace/config/dstat.cfg#L71
# limit the number of lookups of titles and authors to the first X. Lookup
# invokes the java environment so has quite an impact on performance.
item.lookup=10
好的,我发现要反映在 dstat.cfg
中所做的更改,您需要做的就是重新运行 dspace stat-initial
。关于仅显示前 50 个查看项目,我使用了以下代码:
<xsl:template match="dri:div[@id='aspect.artifactbrowser.StatisticsViewer.div.items_viewed']/dri:table[@id='aspect.artifactbrowser.StatisticsViewer.table.reportBlock']">
<table class="ds-table table table-striped table-hover detailtable">
<xsl:for-each select="dri:row[position() <=51]">
<xsl:apply-templates select="."/>
</xsl:for-each>
</table>
</xsl:template>
希望这对遇到类似问题的人有所帮助。感谢 Andrea、Terry 和 Benoit 的回答。