根据这里的文档,我们可以看到在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) {
}
我想要同样的东西,但是我想检测事件空间的创建(因此基本上是在Wiki中添加空间(基本上,空间是文章的主要根目录)),但是我没有发现任何事件空间XWikiUsers之类的空格或页面。
它不想用速度或时髦来实现,但是在纯Java扩展中,我不知道,文档非常大,但是很难找到我想要的东西。
答案 0 :(得分:1)
从技术上讲,每当在其下创建页面(终端页面或WebHome
)时,都会创建一个“空格”。
因此您可以:
DocumentCreatingEvent
,因此尚未DocumentCreatedEvent
),然后进行查询(请参见https://extensions.xwiki.org/xwiki/bin/view/Extension/Query%20Module)以查看是否有空格(与新文档的空间参考)匹配数据库中现有的一个或嵌套的更深的一个...或DocumentCreatedEvent
)是否具有名称WebHome
,这在性能上会好得多,但是如果使用终端文档(即其他文档),它将不起作用而不是“ WebHome”,请参见https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/ContentOrganization/#HTerminology