- Author
- Contact
Michael JasonSmith <mpj17@onlinegroups.net>
- Date
2013-05-29
- Organization
- Copyright
This document is licensed under a Creative Commons Attribution-Share Alike 3.0 New Zealand License by OnlineGroups.Net.
The product provides the core code for displaying pages, and parts of pages to do with profiles. It defines a page, form, the content provider abstract base class, and the concrete viewlet. It also defines a menu.
The gs.profile.base.ProfilePage
is based on the SitePage
1, but it defines the userInfo
attribute, that returns a object that implements IGSUserInfo
interface.
The gs.profile.base.ProfileForm
is based on the SiteForm
, but it defines the userInfo
attribute, that returns a object that implements IGSUserInfo
interface.
The gs.profile.base.ProfileContentProvider
is a content provider that extends the site content provider by providing a userInfo
attribute.
The gs.profile.base.ProfileViewlet
is a subclass of the content provider.
I (Michael JasonSmith) know little about the menu, other than it works. Despite having written the code.
This product defines the menu user_profile_menu
. To add an item to a menu use something like the following ZCML:
<browser:menuItems
menu="user_profile_menu"
for="Products.CustomUserFolder.interfaces.ICustomUser">
<browser:menuItem
action="password.html"
title="Change Password"
description="Change the password you use to log in"
order="5"
permission="zope2.ManageProperties"/>
</browser:menuItems>
It registers the action (the URL, password.html
above) with the title. If it looks awfully like a viewlet there is a reason for that.
The menu itself is produced by the content provider groupserver.ProfileContextMenu
.
- Code repository: https://source.iopen.net/groupserver/gs.profile.base/
- Questions and comments to http://groupserver.org/groups/development/
- Report bugs at https://redmine.iopen.net/projects/groupserver/