hoozin
  • Overview
  • Setup
    • Architecture
    • Technical Requirements
    • Planning
    • Before You Start
    • Deploy the Infrastructure
    • Create a New Instance
    • AD FS SharePoint Configuration
  • Directory sync
    • Active Directory User Synchronization
    • Groups Synchronization
    • User Profile Schema
  • Branding
    • Deploy Branding Package
  • hoozin UI
    • Social
    • Communities
    • Apps
    • Doc Management
Powered by GitBook
On this page
  • Features
  • Database schema
  • USER_PROFILE_FIELD_GROUPS table
  • USER_PROFILE_FIELD_GROUP_LABELS table
  • USER_PROFILE_FIELDS table
  • USER_PROFILE_FIELD_LABELS table
  • Default field definitions
  • Sample scenario
  • Create a custom section
  • Create custom fields
  1. Directory sync

User Profile Schema

Features

User profile schemas can be customized by adding, removing, or reorganizing fields that make up the user profile page.

You can add new fields or hide existing fields. For each field, you can set the name or the order. You can allocate fields in specific sections.

You can add new sections or hide existing sections; these blocks are called Groups. For each group, you can choose a name and set its position on the profile page.

You can decide who can edit a field. For each group, if no group fields can be edited, the Edit button will not be displayed.

You can define and customize the profile strength by assigning weight to each field. The sum of the weights should be 100.

Database schema

USER_PROFILE_FIELD_GROUPS table

This table lists the field groups. You can group fields by different sections. By default, there are five groups that can be renamed, hidden, or ordered. If you want to add a new custom group, add a new row to this table.

Column

Type

Description

FieldGroup

nvarchar(50)

Field group name used as a unique identifier

DefaultLabel

nvarchar(255)

Group display name

Displayed if no corresponding label found in table USER_PROFILE_FIELD_GROUP_LABELS. You can use a resource with the syntax {Resource:resourceFile,resourceKey}

IsVisible

boolean

False to hide the group or True to show the group

IsCustom

boolean

For internal use only Used by the database manager to define this entry as a built-in hoozin group

DisplayOrder

integer

Sets the display order if you want to reorganize groups

USER_PROFILE_FIELD_GROUP_LABELS table

If no resource file is defined for a group name, use the items in this table to set its label.

Define the group name in each language. If the group name is not defined in a specific language, the default label of theUSER_PROFILE_FIELD_GROUPS table will be used.

Column

Type

Description

ID

guid

Unique identifier Generate a new GUID to add a new label.

FieldGroup

nvarchar(50)

Define the field section, which should correspond to a valid USER_PROFILE_FIELD_GROUPS.FieldGroup record

LanguageID

integer

Lang LCID

Example: 1033 for English and 1036 for French

Text

nvarchar(50)

Group display name

USER_PROFILE_FIELDS table

Use the items in this table to define the fields available in the user profile screen. Default fields can be renamed and reordered. If you want to add a new custom field, add a new row to this table.

Column

Type

Description

FieldName

nvarchar(50)

Field unique ID

Your custom fields should be named from hoozinExtAttr001to hoozinExtAttr010. Multiline fields or tags should be named from hoozinExtAttrMulti001 to hoozinExtAttrMulti010.

DataType

nvarchar(50)

Field data type:

  • Text for standard text

  • MultiLine for text areas

  • Tags for a list of tags

DefaultLabel

nvarchar(255)

Field display name

Displayed if no corresponding label is found in theUSER_PROFILE_FIELD_LABELS table. You can use a resource with the syntax {Resource:resourceFile,resourceKey} .

IsSearchable

boolean

True if you want to promote this field as a search criteria in users' advanced search pages

IsVisible

boolean

False to hide the field or True to show the field

IsCustom

Boolean

For internal use only Always use False.

DisplayOrder

integer

Sets the display order if you want to reorganize fields

Weight

integer

Field weight to customize the value of each field for the profile strength

You should have 100 as the result when performing the SELECT SUM(Weight) FROM USER_PROFILE_FIELDS SQL query.

FieldGroup

nvarchar(50)

Define the field section

This should correspond to a valid USER_PROFILE_FIELD_GROUPS.FieldGroup record.

Editable

nvarchar(50)

Field editing policy

If the field can be set by all types of users, insert any. Use internal for internal users only and external for external users only.

IsReported

boolean

For internal use only

Always use False .

XmlNodeName

nvarchar(50)

Label defined in the hoozin back office to link user directory and hoozin

This is generally the directory entry label. To add new fields, use range hoozinExtAttr001 to hoozinExtAttr010 , or hoozinExtAttrMulti001 to hoozinExtAttrMulti010 for multiline fields or tags.

IsMandatory

boolean

True to force users to fill this field

Watermark

nvarchar(255)

Field placeholder

You can use a resource with the syntax {Resource:resourceFile,resourceKey}

USER_PROFILE_FIELD_LABELS table

If no resource file is defined for a field name, use the items in this table.

Define the field name in each language. If the field name is not defined in a specific language, the default label of theUSER_PROFILE_FIELDS table will be used.

Column

Type

Description

ID

guid

Unique identifier

Generate a new GUID to add a new label.

FieldName

nvarchar(50)

Define the field name

This should correspond to a valid USER_PROFILE_FIELDS.FieldName record.

LanguageID

integer

Lang LCID

Example: 1033 for English and 1036 for French

Text

nvarchar(50)

Field display name

Default field definitions

Name

Type

Description

XmlNodeName

department

Text

Company department or service

Department

facsimileTelephoneNumber

Text

Fax number

Fax

givenName

Text

First name

FirstName

homePhone

Text

Home phone number

HomePhone

hoozinCountry

Text

Company country

Country

hoozinSkills

Tags

Skills

Skills

hoozinSocialLinkFacebookID

Text

Facebook account link

FacebookAccount

hoozinSocialLinkGooglePlusID

Text

Google+ account link

GooglePlusAccount

hoozinSocialLinkLinkedInID

Text

LinkedIn account link

LinkedInAccount

hoozinSocialLinkSkypeID

Text

Skype login

SkypeAccount

hoozinSocialLinkTwitterID

Text

Twitter account link

TwitterAccount

hoozinSocialLinkViadeoID

Text

Viadeo account link

ViadeoAccount

l

Text

Company city

City

description

MultiLine

User description

Description

postalAddress

Text

Company address

PostalAddress

postalCode

Text

Company zip code

PostalCode

sn

Text

Last name

LastName

telephoneNumber

Text

Office phone number

BusinessPhone

mobilePhone

Text

Mobile phone number

MobilePhone

title

Text

Job title

Title

Sample scenario

Here's a typical scenario of adding a group of custom fields to a new section.

Create a custom section

First, we'll add a new section called About Me in the second position on the user profile page, and we'll hide the group called Company.

INSERT USER_PROFILE_FIELD_GROUPS (FieldGroup, DefaultLabel, IsVisible, IsCustom, DisplayOrder) VALUES (N'AboutMe', N'About Me', 1, 1, 11)

/*** Hide group ***/
UPDATE USER_PROFILE_FIELD_GROUPS SET IsVisible = 0 WHERE FieldGroup = 'Company'

Create custom fields

Now, we'll add a field called Nickname to the built-in Name group, right after the Title field. We'll also add the existing Description field, and add a new tag field called Hobbies to the new About Me section.

INSERT USER_PROFILE_FIELDS (FieldName, DataType, DefaultLabel, IsSearchable, IsVisible, IsCustom, IsMandatory, DisplayOrder, Weight, FieldGroup, XmlNodeName, Watermark) VALUES (N'hoozinExtAttr001', N'Text', N'Nickname', 0, 1, 1, 0, 1, 0, N'Name', N'hoozinExtAttr001', NULL)

/*** Set last name and first name order ***/
UPDATE USER_PROFILE_FIELDS SET DisplayOrder = 2 WHERE FieldName = 'sn'
UPDATE USER_PROFILE_FIELDS SET DisplayOrder = 3 WHERE FieldName = 'givenName'

/*** Set group of description field ***/
UPDATE USER_PROFILE_FIELDS SET FieldGroup = 'AboutMe' WHERE FieldName = 'description'

/*** Add new field « Hobbies » ***/
INSERT USER_PROFILE_FIELDS (FieldName, DataType, DefaultLabel, IsSearchable, IsVisible, IsCustom, IsMandatory, DisplayOrder, Weight, FieldGroup, XmlNodeName, Watermark) VALUES (N'hoozinExtAttrMulti001', N'Tags', N'Hobbies', 0, 1, 1, 0, 1, 0, N'AboutMe', N'hoozinExtAttrMulti001', NULL)

The user profile schema is cached. Recycle IIS pools from IIS console or run a iisreset shell command to reset the hoozin cache and see your changes in the user profile page.

PreviousGroups SynchronizationNextDeploy Branding Package

Last updated 6 years ago