Thanks Justin, I really appreciate your reply.
 
The custom profile editor you have created looks good.  Can you please
give me an indication of how long it took you to develop?  Any chance
the gotcha's and hidden gems involved in its development can be shared?
Do you have a blog? :)
 

David Crabbe

Consultant

Web Solutions Team

Fujitsu Australia Ltd

T: +61 8 9268 1505

E: [EMAIL PROTECTED]


________________________________

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Kleyn, Justin 
Sent: Friday, 4 April 2008 7:20 AM
To: [email protected]
Subject: RE: [OzMOSS] Custom Edit Details (User Profile Properties) page
on MySites



Hello David,

 

What you are trying to achieve is not possible using the out-of-the-box
functionality, here's why:

 

The EditProfile.aspx page uses a SharePoint control (ProfileEditor.ascx)
to display the user profile properties, this control does very little
other than set the following properties of the base control it inherits
from:

 

public ProfileEditor
<http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft
.SharePoint.Portal:12.0.0.0:71e9bce111e9429c/Microsoft.SharePoint.Portal
.WebControls.ProfileEditor/.ctor()> ()
{
    base.ShowWarningIcon
<http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft
.SharePoint.Portal:12.0.0.0:71e9bce111e9429c/Microsoft.SharePoint.Portal
.WebControls.ProfileUI/property:ShowWarningIcon:Boolean>  = true;
    base.RestrictUserEditable
<http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft
.SharePoint.Portal:12.0.0.0:71e9bce111e9429c/Microsoft.SharePoint.Portal
.WebControls.ProfileUI/property:RestrictUserEditable:Boolean>  = true;
    base.MoveEditablePropertiesToTop
<http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft
.SharePoint.Portal:12.0.0.0:71e9bce111e9429c/Microsoft.SharePoint.Portal
.WebControls.ProfileUI/property:MoveEditablePropertiesToTop:Boolean>  =
true;
    base.IsEditMode
<http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft
.SharePoint.Portal:12.0.0.0:71e9bce111e9429c/Microsoft.SharePoint.Portal
.WebControls.ProfileUI/property:IsEditMode:Boolean>  = true;
    base.FirstPageElementId
<http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft
.SharePoint.Portal:12.0.0.0:71e9bce111e9429c/Microsoft.SharePoint.Portal
.WebControls.ProfileUI/property:FirstPageElementId:String>  = "HBN100";
}

 

The base control is called ProfileUI.ascx and it is this control that
does all the work.  In fact the following controls are all derived from
this base control:

 

Microsoft.SharePoint.Portal.WebControls.ProfileAdminEditor

Microsoft.SharePoint.Portal.WebControls.ProfileAdminNew

Microsoft.SharePoint.Portal.WebControls.ProfileEditor

Microsoft.SharePoint.Portal.WebControls.ProfileViewer

 

These controls are merely wrappers for the base class that initialise
the properties of the base class to setup it's behaviour such as whether
to display in Edit mode or View mode.

 

The reason why you will not be able to modify this base classes
behaviour to display profile properties separately for each section, is
because it has a single method called "LoadProfileTable" that loads the
profile properties into an html table for display on the page. It loads
all profile properties into the table depending on the properties that
have been set by it's derived class.

Unfortunately this method is marked as internal and cannot be overridden
thus we are stuck with the default behaviour given to us by MOSS.

 

The only option available is to write your own custom code to display
and edit user profile properties, in fact I am just finalising the
development of a custom web part that does just that.  Let me say that
this is no trivial task as there are many factors to consider to
replicate the same behaviour in regards to maintaining the same security
that MOSS performs.  One of the challenges with developing a web part to
edit user profile properties was deciding which controls to use to
display the property to be edited, such as a Person, Url, Multivalue,
Choice types etc.  In my efforts, I have uncovered many hidden gems
(inbuilt SharePoint controls) that can be used to provide the same look
& feel and behaviour as the MOSS edit screens.

 

I have attached a screen shot of our custom web part that displays
profile properties for each section in a separate tab.

 

Regards,

Justin Kleyn 
Solution Architect | MOSS Speacialist | Senior Consultant - Software
Development 
KAZ ACT | KAZ Group Pty Ltd 
19-25 Moore Street  |  Turner ACT 2612 
(02) 6219 0910  |  0439 472 998  |  Fax: (02) 6249 1620 
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>   |
www.kaz-group.com 
------------------------------------------------------------------------
----------------- 
This communication may contain confidential information and/or copyright
material of KAZ Group Pty Ltd ABN 25 002 124 405 and its related bodies
corporate.  It may also be the subject of legal professional privilege.
If you are not an intended recipient, you must not keep, forward, copy,
use, save or rely on this communication and any such action is
unauthorised and prohibited.  If you have received this communication in
error, please reply to this e-mail to notify the sender of its incorrect
delivery, and then delete both it and your reply.

 


This is an email from Fujitsu Australia Limited, ABN 19 001 011 427. It is 
confidential to the ordinary user of the email address to which it was 
addressed and may contain copyright and/or legally privileged information. No 
one else may read, print, store, copy or forward all or any of it or its 
attachments. If you receive this email in error, please return to sender. Thank 
you.
 
If you do not wish to receive commercial email messages from Fujitsu Australia 
Limited, please email [EMAIL PROTECTED]



------------------------------------------------------------------- OzMOSS.com 
- to unsubscribe from this list, send a message back to the list with 
'unsubscribe' as the subject.

Powered by mailenable.com

Reply via email to