Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I'm currently working on a site where the client has requested a "Resume" field where they can upload a Word Document of the person's Resume.

So far, I have created the CoreProperty field: "Resume" that has PropertyDataType.URL as its type. I'm stuck on where I should go from here. After doing some research, I've found that one of the approaches is to create a custom page for editing profiles and have a file upload field be displayed for that.

I'm thinking I should be able to create a new type of CoreProperty where I can define a DelegateControl for generating the HTML to upload the file.

So basically my question is what is the "SharePoint way" of doing something like this? Or is what I'm trying to do outside the scope of what SharePoint has to offer?

For what it's worth, here is the CreateResumeField function I have inside the event receiver for my custom feature:

private void CreateResumeField(SPSite site, SPServiceContext context, UserProfileConfigManager upcm)
    ProfilePropertyManager ppm = upcm.ProfilePropertyManager;

    // Create Resume property.
    CorePropertyManager cpm = ppm.GetCoreProperties();
    CoreProperty resume = cpm.Create(false);
    resume.Name = "Resume";
    resume.DisplayName = "Resume";
    resume.Type = PropertyDataType.URL;
    resume.Length = 255;

    // Create profile type property for the resume.
    ProfileTypePropertyManager ptpm = ppm.GetProfileTypeProperties(ProfileType.User);
    ProfileTypeProperty ptp = ptpm.Create(resume);

    // Create profile subtype property for the resume.
    ProfileSubtypeManager psm = ProfileSubtypeManager.Get(context);
    ProfileSubtype ps = psm.GetProfileSubtype(ProfileSubtypeManager.GetDefaultProfileName(ProfileType.User));
    ProfileSubtypePropertyManager pspm = ps.Properties;
    ProfileSubtypeProperty psp = pspm.Create(ptp);
    psp.PrivacyPolicy = PrivacyPolicy.OptIn;
    psp.DefaultPrivacy = Privacy.Organization;
    psp.IsUserEditable = true;
share|improve this question
Check out how the User Profile picture field is implemented, it uses a URL field that points to other SharePoint resources. –  Segfault Aug 5 '13 at 18:19
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.