在“我的个人资料”页面中添加一个属性 - Alfresco Share

时间:2012-02-10 05:14:31

标签: java alfresco

我试图在Alfresco共享用户个人资料页面中添加一个属性。我做了所有必要的事情,将一个属性添加到内容模型和用户界面。

然后我看到了调试消息

  

Key" nickName"在实例中找不到   org.springframework.extensions.webscripts.ScriptUser   该类的自省信息是:{getJobTitle = public   java.lang.String中   org.springframework.extensions.webscripts.ScriptUser.getJobTitle()..

新的属性值未显示在页面上,我的个人资料页面。

我需要添加一些其他内容才能将一个属性添加到"我的个人资料" Alfresco分享页面?

感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

这是为了帮助那些有类似要求的人。需要更改以下文件。

org.springframework.extensions.webscripts.ScriptUser.java
org.springframework.extensions.webscripts.connector.User.java
org.springframework.extensions.surf.support.AlfrescoUserFactory.java

userprofile.get.html.ftl
contentModel.xml

答案 1 :(得分:3)

您可以向cm:person对象添加自定义属性,然后将这些属性公开给Alfresco Share用户界面,而无需修改任何现成的Alfresco文件。我没有写过它附带的博客文章,但最终将与写作生效的源代码here

在高级别,步骤是:

步骤1:使用您自己的Factory类扩展org.alfresco.web.site.SlingshotUserFactory   - 覆盖constructSomeUser方法。按照现有模式构建自己的模式。   - 覆盖saveUser   - 使用parent =“webframework.factory.base”

通过Spring连接自定义用户工厂

步骤2:在share-config-custom中,使用指向新用户工厂bean的指针覆盖默认值user-factory元素

第3步:用你自己的方法覆盖Alfresco的profile.js.   - 修改onEditProfile以包含您的自定义道具

步骤4:使用您自己的包含自定义属性的字段和标签的org / alfresco / components / profile / userprofile.get.html.ftl扩展。

步骤5:外化字符串。

我在Alfresco 3.4.d社区尝试了这个,但还没有在Alfresco 4社区尝试过。