好吧,几个月前我就在Alfresco 4.2b工作,主要是在Share。我正在准备一些定制作品,我的同事和我自己总是想知道这篇文章的主题。
我们知道,自Alfresco 4首次发布以来,扩展模块是一个相对较新的功能,但我们不知道在所使用的扩展机制方面,所进行的开发应该采取哪种方式。我们将所有的努力都放在使用扩展模块机制上,而不是使用web扩展目录。我们之所以这么做,是因为我们知道它可能更通用、更可维护、更可扩展,谁知道呢,在未来的版本中,可能会反对使用web扩展目录。我们也意识到,目前您不能对扩展模块做"所有事情"。
因此,根据其他开发人员的经验,我想了解这两种机制的优缺点,以及我们的扩展哲学是否做得正确。同时,我想为接下来的问题找到一个合理的答案:
-
在尝试使用扩展模块进行定制时,我们是否进行了正确的优先级排序并"牺牲"了时间?它值吗?
-
在进一步的发行版中,可能不赞成将web扩展目录作为自定义机制?
-
扩展模块的功能会得到改进吗?
-
(大致)扩展模块的已知限制?主要的问题是,什么时候应该使用一种或另一种扩展机制?
我很想听听你的意见。基于您的真实经验并尽可能诚实地发表意见,我们将不胜感激。
事先非常感谢。
实际上两者都不是互斥的。
例如,我使用自己的扩展机制来定义新组件,这些组件的web脚本是在web扩展文件夹中定义的。
事实上,扩展模块本身可以位于alfresco/web extension/site data/extensions/下的web扩展文件夹中。。。
对我来说,使用扩展模块是一种逻辑打包(因为模块的部署过程)您的定制的方式。这是主要优势,因为如果您希望自定义仅在特定条件下可用,则可以通过评估器进行配置。
web-extension
路由的两个主要问题是,您最终会在定制中复制核心代码,并且如果多个扩展试图扩展同一组件,那么其中一个必须获胜。
可扩展性模块可能需要做更多的工作,但您将大大减少维护负担,并在多个附加组件相互冲突时解决问题。
从4.2开始,您不需要覆盖web脚本组件-至少在Share中是这样。您应该始终使用可扩展性模块。