在“我的个人资料”页面中添加一处房产 - Alfresco Share
我试图在 Alfresco 共享用户个人资料页面中添加另一处房产。我做了所有必要的事情来向内容模型和用户界面添加一个属性。
然后我看到了一条调试消息
在实例上找不到键“nickName” org.springframework.extensions.webscripts.ScriptUser 该类的自省信息为:{getJobTitle=public java.lang.String org.springframework.extensions.webscripts.ScriptUser.getJobTitle()..
并且新的属性值未显示在“我的个人资料”页面上。
我还需要添加什么才能将一个房产添加到 Alfresco Share 的“我的个人资料”页面?
任何善意的帮助将不胜感激。
I was trying to add in one more property in Alfresco Share User Profile page. I did all the thing necessary to add one property to content model and user interface.
Then I saw a debug message
Key "nickName" was not found on instance of
org.springframework.extensions.webscripts.ScriptUser
Introspection information for the class is: {getJobTitle=public
java.lang.String
org.springframework.extensions.webscripts.ScriptUser.getJobTitle()..
And the new property value was not shown on the page, My Profile page.
What other thing do I need to add to add one property to "My Profile" page in Alfresco Share ?
Any kind help is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是为了帮助有类似需求的人。需要更改以下文件。
This is to help anyone who have the similar requirement. The following files are needed to change.
您可以向 cm:person 对象添加自定义属性,然后将这些属性公开给 Alfresco Share 用户界面,而无需修改任何现成的 Alfresco 文件。我还没有写出附带的博客文章,但最终将随文章一起发布的源代码此处。
概括而言,步骤如下:
第 1 步:使用您自己的 Factory 类扩展 org.alfresco.web.site.SlingshotUserFactory
- 重写constructSomeUser方法。遵循现有模式来构建您自己的模式。
- 覆盖保存用户
- 使用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 社区中尝试过。
You can add custom properties to the cm:person object and then expose those properties to the Alfresco Share user interface without modifying any of the out-of-the-box Alfresco files. I haven't written up the blog post that accompanies it, but the source code that will eventually go with the write up lives here.
At a high-level, the steps are:
Step 1: Extend org.alfresco.web.site.SlingshotUserFactory with your own Factory class
- Override the constructSomeUser method. Follow existing pattern to build your own.
- Override saveUser
- Wire in the custom user factory through Spring using parent="webframework.factory.base"
Step 2: In share-config-custom, override the defaults, user-factory element with a pointer to the new user factory bean
Step 3: Override Alfresco's profile.js with your own.
- Modify onEditProfile to include your custom props
Step 4: Extend org/alfresco/components/profile/userprofile.get.html.ftl with your own that includes fields and labels for your custom properties.
Step 5: Externalize the strings.
I have tried this in Alfresco 3.4.d Community but have not yet tried it in Alfresco 4 Community.