In order to change the privacy you need to attach to the membership editors events and set the privacy level entry. Take a look at the code sample below:
attach to the membership editor event, you can do it on a membership editor landing page, in code behind:
protected override void OnInit(EventArgs e)
ctlMembershipEditor.AccountCreated += new ModuleGallery.MembershipModuleEvent(ctlMembershipEditor_AccountCreated);
void ctlMembershipEditor_AccountCreated(object sender, ModuleGallery.MembershipModuleEventArgs e)
Guid userid = (Guid)e.MembershipUser.ProviderUserKey;
UserProfileRepository rep = UserProfileRepository.GetInstance();
rep.UpdatePrivacyLevelDefinitions(userid, typeof(UserProfileEntity).ToString(), UserProfileFields.FirstName.Name, PrivacyLevelEntity.PrivacyLevelPrivate.Id);
rep.UpdatePrivacyLevelDefinitions(userid, typeof(UserProfileEntity).ToString(), UserProfileFields.LastName.Name, PrivacyLevelEntity.PrivacyLevelPrivate.Id);
Regarding the discussion boards, you can create boards for each category you want, and then topics in each category.
Please open a new topic if you need more information regarding the discussion boards.