My Sites & Communities: System Architecture Deep-Dive in SharePoint 2013 & Office 365
When an organization deploys My Sites for their users, the underlying SharePoint 2013 system architecturecreate a web application, a My Site host site collection, an individual site collection, and several SharePoint service applications and features.
The individual site collection is created once a user provisions their My Site but the other moving pieces described are configured during the initial My Site deployment and shared among all the users who are part of the My Sites deployment.
My Sites consist of the following main functional areas:
Newsfeed: Provides you with updates on social activities for items and people you are following including:
- People posts
- People profile changes
- Changes on followed documents
- Items tagged with followed tags
- Mentions and likes
- All of your activities
- Site Feed activities
- Company Feeds
- Suggestions based off of people “following”
- Trending Tags
About Me: Your personal profile page that includes information about you as well as specifics around your role, job title, manager and department. The more information you fill in, such as your expertise, the more relevant SharePoint search will be able to recommend you to other in the organization who may be looking for assistance with your subject matter expertise.
- OneDrive for Business
Tasks: The task feature provides the ability to have a single, aggregated view of all user tasks across SharePoint sites, Project sites and Microsoft Exchange.
Aggregation occurs through a new SSA named “Work Management” (WM), as follows:
- WM uses a hidden list in user personal site to cache all the aggregated data
- Users can also create new personal tasks that get stored in that list
WM also provide the ability to write back tasks updated on the original location
- The Work Management Service is not federated and must run in the Personal Site content farm
- WM is integrated with the newsfeed and provides for the ability to follow up conversations trough the My Tasks list.
Distributed Cache Service: SharePoint 2013 social architecture and related features rely heavily on my sites data as well as the distributed cache service which provides for:
- Two lists, the Microfeed list and the Social List
- Personal site document libraries
- Profile database
The Distributed Cache service, which is built on top of the Windows Server AppFabric Cache, provides caching functionality to features and services in SharePoint Server 2013. The Distributed Cache service provides caching for the following:
- Authentication (FedAuth cookie for claims based authentication)
- OneNote client access
- Security Trimming
- Page load performance
User Profile Service Application: A prerequisite for provisioning my sites is the configuration of the user profile service application, as shown in the image below, which stores information about your organization’s users in a central location for access by SharePoint 2013’s social computing features.
High-level overview of the User Profile Service
The user profile service application provides a central location where service administrators configure and administer the following features:
- User profiles: These profiles contain detailed information about people in an organization and display all of the available properties related to each user in a single location with social tags, documents, and other items related to that user.
- Profile synchronization: This provides a reliable way to synchronize groups and user profile information that is stored in the SharePoint Server 2013 profile database together with information that is stored in directory services across the enterprise.
- Audiences: Audiences provide a way to target content to users based on their job or task, as defined by their membership in a SharePoint Server group or distribution list, by the organizational reporting structure, or by the public properties in their user profiles.
- My Site: As detailed above, they are a personal site that gives users in your organization a central location to manage and store documents, links, and information about colleagues. They also provide for a way for a user to access the information and content they have specified they are interested in following.
- Social tags and notes: Enables users to add social tags to documents to SharePoint Server items. Users can also leave notes on profile pages of a My Site or any SharePoint Server page.
- Newsfeed: This provides for a user’s social hub where he or she can see updates from the people, documents, sites, and tags that the user is following
When you create a User Profile service application, SharePoint Server creates three databases for storing user profile information and associated data as follows:
- Profile database: This database is used to store your organizations user profile information.
- Synchronization database: This database is used to store configuration and staging information for synchronizing profile data from external sources such as the Active Directory Domain Services (AD DS).
- Social tagging database: This database is used to store social tags and notes created by users. Each social tag and note is associated with a profile ID.
SharePoint Communities: Best Practices & Strategies
The new Community site, as shown in the image below, is created from a template similar to that of a team site, but is tailored with specific “social” features that also add a more competitive feel in terms of providing incentives for users to participate. This new community site has the ability to award users “badges” as well as “likes” to their posts as well as provide “#tags” to follow trending topics that provide a “corporate Facebook and Twitter combination with these components.
Community sites are comprised of the following features and underlying capabilities:
- A template that is available similar to a new team site template in SharePoint 2013
- Sites that contain features that are tailored to long-standing groups to facilitate discussion in a specific domain or profession
- A template that can be easily customized for the topic and goals of the community that consists of:
- Four basic pages as follows: Home,Categories, Members & About
- Membership and joining workflow
- The Activity Dashboard, Top Contributors, My Membership, Discussion List and Owner Tools web parts
- A site that requires routine attention and facilitation by dedicated moderators
- A template that is well integrated into the overall social fabric of SharePoint 2013, Office 365 and SharePoint Online
- Integration for a community into SharePoint 2013’s additional social components
- Community portal template for showcasing and promoting the various communities to users within your organization
- Lync integration for instant communication for another members of your community
- Community and discussion specific search
Community sites provide for the following roles, features and related capabilities:
- Community users and/or members roles for discovering, joining, and participating in a community
- Community owner roles for adding users and/or members as well as configuring settings and permission
Community moderator roles for monitoring, facilitating, managing and promoting content
One of the most common areas of concern that organizations have around not having implementing the social capabilities of SharePoint in the previous two versions (e.g. SharePoint 2010 and SharePoint 2007) was the lack of native administration tools as well as a way to enforce the organization’s social governance policies defined in the overall SharePoint governance strategy.
A great new feature that you can easily configure is the “enable reporting of offensive content” options within a communities settings, as shown in the image below. I feel that this feature is mislabeled and should have been more generic in being named “enable reporting of inappropriate, sensitive or offensive content” but it does has the same underlying affect.
The Community settings page that contains the option to enable reporting of offensive content
Note: The “enable reporting of offensive content” feature is not enabled by default.
For example, without the “enable reporting of offensive content” feature enabled, a user who feels that a discussion post violates the community rules or finds that personal or even regulatory content or information (PII, PHI, HIPAA, etc.) was accidentally listed and would like immediately bring this to the moderator’s attention will not see the “report to moderator” options within the posts drop-down list options, as shown in the image below.
The “enable reporting of offensive content” setting should be enabled in all communities within your organization and once it is activated, a user with then be provided an additional option in a posts drop-down list to “report to moderator,” as shown in the image below, which is key to helping Community members be practice aboutgoverning their specific community.
SharePoint 2013 provides for four main community categories as follows:
- Communities of practice: Community for a group of people who share a unique skill, role or profession to share experiences, best practices and advice
- Communities of purpose: Community that exists to accomplish a specific goal, need, or mission
- Communities of interest: Community consisting of a group of people who share a common interest or passion for a topic or domain
- Communities for social interaction: Community consisting of a group of people who primarily interact for the sake of interaction and socializing to build new relationships based on a common characteristic, culture or geography commonality
Within the four main community categories, there are also four main types of communities as follows:
- Private community: Available to only specified members
- Permissions allow for the site to only be shared with specific users or group
- There are no approval settings available
- Closed community: Everyone can view the content of the site, but only members who have approved requests for membership can contribute
- Permissions allow you to grant visitor permissions to everyone within the organization so that they can view the site and request to join
- The approval settings allow you to enable access requests on the site
- Open community with explicit join settings: Everyone can view the site and can automatically join to contribute to the site
- Permissions allow you to grant visitor permissions to everyone within the organization so that they can view the site and automatically join as a member
- The approval settings are set to auto-approval to allow users to automatically join the site
- Open community without explicit join: Everyone can contribute to the community
- Permissions allow you to share the site with everyone in the organization and grant member permissions so the new users can all contribute
- The approval settings do not provide for a join button so be visible and the auto-following for new members is not enabled
There is a centralized community portal template that can be created as a central hub for showcasing the various communities within your organization to your user base.
The community portal performs the following:
- Aggregates all communities across an enterprise:
- Sorts communities by popularity (e.g. membership, recent activity, age, etc.)
- Uses search to populate the list of the communities
- Provides for the ability to be scoped to exclude communities created as sub-sites
- Does not list the community sites created via feature activation and do not aggregate to the portal
- Security trimmed for search results as well as showcasing community members
- Shows only communities the visitor\user has access
A community is created via the community site template and can be created as a site and sub-site but it is recommended that it be created as the root of a site collection. Also, any existing SharePoint site is provided the ability to activate the community site feature to have this common functionality all though it is recommended to be created at the root of a site collection.
Community Features that Promote User Interaction
There is a competitive nature in communities that allows for users who participate in discussions and provide to be “subject matter experts” (SME) the ability to build a reputation, unique to each community, by other members “likes” or star ratings. A community member’s discussion or reply can also be tagged with the “best answer” which also builds upon the reputation of that users within a specific community.
A community tracks each member’s activity to build reputation and gathers metrics such as:
- “Likes” or star ratings provided by other community members
- “Best answers” tags provided for an answer provided by a community member
- The number of posts, replies, and likes
Ratings can reflect as likes, as shown in the first image below, or stars, as shown in the second image below, and if you chose to switch between the two options you will not lose the underlying data.
A community member’s discussion receiving “likes” from other community users based on its content which builds upon a user’s SharePoint community reputation
A community member’s discussion receiving stars from other community users based on a posts content which builds upon a user’s SharePoint community reputation
Community owners can also set achievement level settings, as shown in the image below, by configuring custom achievement levels and community members gain points based upon their participation to attain a level of achievement. These community level are displayed as an image or “badge” or as a textual title.
Note: A communities ratings settings can be enabled or disabled by the community’s owner.
A communities underlying ability for its owner(s) to specific achievement levels within the community
Discussions are always placed within a category format created by the community. SharePoint 2013 provides for an improved discussion experience that allows for rich media, rich text, copy and paste, and are user interface (UI) streamlined for reviewing.
The following elements provide insight into posts and related communications within a community:
- A discussion can be marked as a “Question”
- Replies can be made to the root post or to a reply
- Members can mark any reply to their discussion as the “Best reply” Thread reputation affected by number of likes and number of replies
- “Liking” the root post or individual replies adds to thread’s reputation
- Posts or replies can be reported to the moderator by any member
The metrics tracked within a community then apply custom reputation levels as well as badges with a related icon such as “MVP” of a community or “Moderator” and the community’s moderator actually can provide custom attributes and even apply a “featured discussion” tag to popular posts.
Overview of Community Membership and Roles
The following provides an overview of Community membership:
- A community’s membership is maintained in a SharePoint list
- This membership list does not explicitly defined site permissions for a member
- When a site is shared by a member, the sharing activity itself does not automatically add the users who received the invitation to a community’s members list
- A user who joins a community automatically “follows” it
- Leaving a community hides a member from the list but retains the points they have earned in their participation in case they rejoin the community
Community Owners: Community owners have specific actives and responsibilities for which they are assigned as follows:
- Community site creation via the community site template
Maintaining community settings
- Basic settings such as established date as well as the monitoring reports and any reporting of post related abuse
- Reputation settings & badges
- Community customization
- Site icon, description and theming
- Editing the home and about pages
- Establishing the categories for which the discussions and posts will be organized
- Adding apps, lists, libraries, calendars, pages and other content
- Maintaining the community’s permissions for users to ensure they are up-to-date and relevant
- Sharing and promoting their community
- Managing the auto-approval feature to ensure it is applicable and fits into the overall community model
Community Visitors and Members: Community visitors and members have the following activities which they are assigned and/or able to perform:
- Visiting and consuming content
- Following, joining and maintaining membership to a community
- Participating with relevant posts that are beneficial to the community
- Report to monitor any inappropriate or sensitive content that they feel should not have been shared
Note: Any reported content is stored in a hidden list and the author of the reported content is not notified of the action.
Community Moderators: Community moderators have specific actives and responsibilities for which they are assigned as follows:
- Monitor, facilitating and manage the overall community which includes:
- Ensuring posts get replies and questions get answered
- Monitoring and utilizing the answered/unanswered filter
- Reviewing best replies for completeness
- Re-categorizing discussions into their proper category
- Maintaining high quality and appropriate content
- Addressing reported content
- Editing or deleting incorrect or inappropriate content
- Arbitrating arguments and keeping the community positive and productive
- Critical in maintaining a healthy and vibrant communit
- Promoting content and people
- Featuring content
- Marking replies as “Best Reply”
- Help specific discussions stand out
- Mark question as “answered”
- Boosts the reputation of the members who write the best replies
- Assigning “Badges”
EPC Group’s SharePoint 2013 & Office 365 Social Strategies “From the Consulting Trenches”
EPC Group will continue our blog posts on SharePoint 2013 & Office 365 Social Strategies in the days and weeks to come to touch on our real-world “from the consulting trenches” approach that EPC Group has successfully implemented for hundreds of organizations throughout North America.
These strategies are also detailed in EPC Group’s latest publications, “SharePoint 2013 Field Guide: Advice From the Consulting Trenches“