我试图在Alfresco共享用户个人资料页面中添加一个属性。我做了所有必要的事情,将一个属性添加到内容模型和用户界面。
然后我看到了调试消息
Key" nickName"在实例中找不到 org.springframework.extensions.webscripts.ScriptUser 该类的自省信息是:{getJobTitle = public java.lang.String中 org.springframework.extensions.webscripts.ScriptUser.getJobTitle()..
新的属性值未显示在页面上,我的个人资料页面。
我需要添加一些其他内容才能将一个属性添加到"我的个人资料" Alfresco分享页面?
感谢任何帮助。
答案 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社区尝试过。