Java Magnolia CMS 5.5.9软锁定

Java Magnolia CMS 5.5.9软锁定,java,locking,content-management-system,magnolia,Java,Locking,Content Management System,Magnolia,我有个问题。我想使用软锁定模块来确定是否有人已经在编辑页面。根据这些信息,我想决定是在编辑模式还是只读模式下打开CKeditor 我已经将SoftLockingSupport(模块2.6.2中的DefaultSoftLockingSupport)bean注入到我的RichTextFieldFactory中,其中ckeditor已初始化,但我所能做的就是 public List getLocks(String username, String identifier) 我的第一个问题是为什么我需要

我有个问题。我想使用软锁定模块来确定是否有人已经在编辑页面。根据这些信息,我想决定是在编辑模式还是只读模式下打开CKeditor

我已经将SoftLockingSupport(模块2.6.2中的DefaultSoftLockingSupport)bean注入到我的RichTextFieldFactory中,其中ckeditor已初始化,但我所能做的就是

public List getLocks(String username, String identifier)
我的第一个问题是为什么我需要指定一个用户名来获得锁?我想获得该页面的所有锁,而不仅仅是一个用户的锁

我想做这样的事情

    List locks = softLockingSupport.getLocks("path/to/page");
    int lockSize = locks.size();

    if (lockSize>1) //lock is obtained before ckeditor is initialised
    {
        config.setReadOnly(true);
    }
有没有更好的方法来确定某个页面是否由其他人编辑,或者我遗漏了什么

提前感谢,,
重新编码

API并没有真正公开您要查找的信息。同样在Magnolia实现的软锁定概念中,任何打开页面进行编辑的人都会获得锁,以便多人可以为同一页面设置多个锁。当有人打开感兴趣的页面时,您所能做的就是注册LockListener,然后自己计算锁的数量:(


如果您在对话框中这样做,您的日志计数将仅在有人打开所述对话框时更新…这可能没问题,因为ppl编辑页面上的其他组件不会扰乱CK编辑器的内容。

Hi@reencode,您是如何解决此问题的?我还必须查明是否有人在pag中编辑特定页面我读了你的问题,想知道你是否能分享你的解决方案。阿纳希,提前谢谢你,因为简回答说(当时)没有办法从api中获取所需信息。因此,我们刚刚通知我们的内容编辑器要小心,并告知他们在哪里工作。在我们的环境中,并发编辑仍然是一个问题。也许ckeditor5会带来一个解决方案,但我不知道。现在正在做一些完全不同的事情。。。