XWiki 扩展:检测事件 space 创建
XWiki extension : detect event space creation
根据此处的文档,我们可以看到在 xwiki java 扩展中,我们可以像这样拦截事件 UserCreation :
public void onEvent(Event event, Object source, Object data)
{
XWikiDocument document = (XWikiDocument) source;
String wikiName = document.getDocumentReference().getWikiReference().getName();
DocumentReference userClass = new DocumentReference(wikiName, "XWiki", "XWikiUsers");
if (document.getXObject(userClass) != null) {
}
我想要同样的东西,但我想检测事件 space 创建(所以基本上当你添加一个 space(基本上 space 是主根页面一篇文章 ) 在你的维基中。但我没有在 space 或页面中找到任何 class 之类的 XWikiUsers。
它不想用 velocity 或 groovy 来做,但在纯粹的 java 扩展中,我不知道,文档非常大,但很难找到我想要的东西对于.
从技术上讲,只要在其下创建页面(终端页面或 WebHome
),就会创建 "space"。
所以你可以:
- 每次创建页面时进行查询(
DocumentCreatingEvent
,所以还没有 DocumentCreatedEvent
),然后进行查询(参见 https://extensions.xwiki.org/xwiki/bin/view/Extension/Query%20Module)以查看 space(匹配新文档的 space 引用)匹配数据库中现有的或更深的嵌套...或
- 检查新创建的文档 (
DocumentCreatedEvent
) 是否具有名称 WebHome
这在性能方面会好得多,但如果您正在使用终端文档(即'WebHome' 以外的其他文件,参见 https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/ContentOrganization/#HTerminology
根据此处的文档,我们可以看到在 xwiki java 扩展中,我们可以像这样拦截事件 UserCreation :
public void onEvent(Event event, Object source, Object data)
{
XWikiDocument document = (XWikiDocument) source;
String wikiName = document.getDocumentReference().getWikiReference().getName();
DocumentReference userClass = new DocumentReference(wikiName, "XWiki", "XWikiUsers");
if (document.getXObject(userClass) != null) {
}
我想要同样的东西,但我想检测事件 space 创建(所以基本上当你添加一个 space(基本上 space 是主根页面一篇文章 ) 在你的维基中。但我没有在 space 或页面中找到任何 class 之类的 XWikiUsers。
它不想用 velocity 或 groovy 来做,但在纯粹的 java 扩展中,我不知道,文档非常大,但很难找到我想要的东西对于.
从技术上讲,只要在其下创建页面(终端页面或 WebHome
),就会创建 "space"。
所以你可以:
- 每次创建页面时进行查询(
DocumentCreatingEvent
,所以还没有DocumentCreatedEvent
),然后进行查询(参见 https://extensions.xwiki.org/xwiki/bin/view/Extension/Query%20Module)以查看 space(匹配新文档的 space 引用)匹配数据库中现有的或更深的嵌套...或 - 检查新创建的文档 (
DocumentCreatedEvent
) 是否具有名称WebHome
这在性能方面会好得多,但如果您正在使用终端文档(即'WebHome' 以外的其他文件,参见 https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/ContentOrganization/#HTerminology