在“我的个人资料”页面中添加一处房产 - Alfresco Share

发布于 2025-01-04 09:26:43 字数 430 浏览 1 评论 0原文

我试图在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌路终见情 2025-01-11 09:26:44

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

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

This is to help anyone who have the similar requirement. The following files are needed to change.

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
初与友歌 2025-01-11 09:26:44

您可以向 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文