Category: Administration

SharePoint Administration related posts

SharePoint Log Viewer

Anyone that spends much time administering or developing against SharePoint knows what a pain it can be to work with the log files in a text editor.  The SharePoint LogViewer developed by Overroot provides a great interface making it easy to work with and filter down the log files.

Give it a try here:  http://sharepointlogviewer.codeplex.com/

Keys to Long Term SharePoint Stability and Success

Recently I have been called into a few environments where the customers were having some serious performance problems or had features that were no longer working.  It really nailed home the point that Capacity Planning should really be Capacity Management as Microsoft now refers to it in their Capacity Management and Sizing Overview guidance for SharePoint 2010.  These environments also tend to have some other issues with patching and large un-used content databases.

The Keys below will help establish long term success for your SharePoint environment.

Initial Design and Planning

The planning and design work that typically goes on prior to an implementation is based heavily on assumptions and the understanding of current requirements.  In any environment where an application like SharePoint takes off, those assumptions change quickly, the needs of the business evolves, and therefore all of those requirements change.  In many cases though, the SharePoint farm topology is not changed and can no longer meet the needs.  With the current state of IT many resources are stretched and do not have time to make major changes to the system, but in many cases a few proactive changes would remove some of the ongoing system support and troubleshooting efforts.

Continued Monitoring

Every system needs regular monitoring.  The frequency and depth of the reviews depends on how complicated the implementation is, but below I have listed out some generic topics that can be reviewed.

Quarterly Review

  • Memory and CPU Utilization
  • Patches – Review new patches and install if appropriate

Semi-Annual Review

  • Review Content Databases – Number of Site Collections per Content DB and the size of each Content Database
  • Search Index Health – Number of items in the index, length of the crawls
  • Average and Peak Usage Stats – Review the average and peak user stats and add hardware if needed.

In addition, in some cases new features are enabled or leveraged months after the initial implementation.  If for example you are going to use SharePoint to host your BI solutions additional capacity may be needed.  If the system was initially designed for a pretty basic Intranet and the BI capabilities are added then the system may not be able to keep up.

Patching

Patch management also contributes to keeping your SharePoint installation stable and high performing over time.  Installing Service Packs or the bi-monthly Cumulative Updates can be difficult in some environments where maintenance windows are tight, but these patches will also help keep services running smoothly and bugs at bay.  I worked in one environment where at least three major issues were all resolved with previously released patches.  Unfortunately a lot of time was spent troubleshooting needlessly.

Prune the Hedges

Most information stores get bloated over time, SharePoint is not immune to this.  IT groups have been fighting this for years with shared drives and mail servers.  It is important to have some good retention policies in place to make sure you are keeping the right content, but also getting rid of the stale content.  At the very least you can implement an archiving solution that can move the content to cheaper storage, while keeping it accessible.

Summary

Following these recommendations will greatly increase your chances for maintaining a highly capable, well performing environment.

User Profiles – Creating Custom Properties

The User Profiles in SharePoint Server represent a very robust and flexible way to manage information about the members of your organization.  It can be used to fill the roll of a searchable Employee Directory, used to drive business processes and workflows, and also makes it easier to find people in the organization based on their expertise and user property attributes providing social networking functionality. 

The default properties that are created at the time of installation are just a starting point.  In this article I will show you just how easy it is to create new properties that help support your organization and business processes. 

Planning The New Property

When defining new fields here is a selection of things to consider:

  • Name / Display Name
  • Type – Wide range of field types
  • Length – Cannot be modified in some situations
  • Configure a Term Store Set – Managed Meta Data
  • Policy Setting – Required, Optional, or Disabled
  • Privacy Settings – Field level privacy
  • Edit Settings – User maintained or administrator/system maintained
  • Display Settings – Show on View/Edit/Newsfeed
  • Search Settings – Support for a user Alias (i.e. Employee ID) and if it is Indexed
  • Profile Synchronization – You also have the ability to configure a synchronization with an external system (i.e. CRM, HRIS)

In many cases the options change based on the value of previous options.  A good example is based on the settings with the Type of string (Multi Value) or the Policy Setting.

Create Custom Property Walkthrough

Since I work in consulting, much of our content is very much client focused.  This is a great example of a property that would be very important to us, but not so important for the average company.  In my case, I want to allow consultants to add one or more customer names that they have worked with.  Since this valuable information could potentially be used for a number of purposes, (like tagging) throughout the entire SharePoint environment, I have decided to create a Managed Meta Data Term Set for this property so that we can reuse the content. 

Here is a quick shot of the Client List I created in the Term Store.

Define A Term Set

To create a new property, browse out to the User Profiles Service Application (or whatever your Profile Service App is named) and select the Manage User Properties link.

Manage User Properties

A full listing of the User Properties is displayed with properties organized into sections.  They can be ordered and placed into sections as needed.  To create a new property, simply click the New Property menu item.

New Property

Complete the main Property Settings.  In many cases changes to these settings cannot be made which means the previous property would have to be deleted and recreated.  In this case I created my Clients property and set it to a multi-value string separated by semicolons.  I then pointed it to the Client List Term Set previously configured.

Property Definition

The next set of fields control how the list is displayed and if it can be edited.  In this case, I want to make it an optional property and encourage consultants to maintain the value so I will enable it in each of the Display Settings.  It is not confidential information, so I will be sure to set the Privacy level to Everyone. 

Display and Policy Settings

Here is what the current profile looks like when rendered.  You can see that the Clients field is displayed and each value a link that feeds into the People Search.

Profile View

Once the values have been crawled and are available in the search index, you will start to see results in the people search process. 

People Search

Summary

By extending the User Profiles with custom properties you can leverage the robust platform to support an organization and its unique processes and content.

Configuring SharePoint 2010s Social Aggregation Jobs

SharePoint 2010 includes a number of useful features to enhance Social Collaboration by aggregating and surfacing social data.  By default, these jobs may be disabled or at the very least not set to update frequently enough.  Like all Timer Jobs in SharePoint 2010, these jobs can be configured to meet your needs.

You can find the jobs by navigating to Central Administration, selecting the Monitoring option, and then clicking the Review job definitions link under Timer Jobs.

Monitoring -> Timer Jobs Timer Jobs” src=”http://public.blu.livefilestore.com/y1pUfoXpvPTOZqwQ-BNox0jWgwlN-iCA4Sz2Ovel6Wry0vVHgQKvSWl6cFq4WjvBBDKkgQt5IHJ6FTzWr7gBQJPDA/TimerJobDefinitions.png?psid=1″ />

Two of the important jobs that should be immediately tweaked are the User Profiles – Activity Feed Job and the User Profiles – Social Rating Synchronization Job.

Configure Timer Job

The User Profiles – Activity Feed Job is disabled by default.  It should be activated and a good schedule set.  The schedule should be set based on how much activity you have, but chances are this is not going to negatively impact your farm so I prefer to have this updated very frequently.  For demo servers I’m setting this to 10 minutes.  In production servers, I will set it to 30 minutes. 

For the User Profiles – Social Rating Synchronization Job, an hourly schedule should suffice most environments.  During coordinated feedback campaigns though it may be necessary to decrease the scheduled wait times.

Configure Timer Job

Summary

Setting the schedule for these jobs will provide social communities more timely content and social interactions further driving user engagement and overall collaboration.

Related Posts

SharePoint 2010 Migration versus Upgrade

No doubt there are hundreds of companies currently reviewing or planning the move to SharePoint 2010 from previous versions.  The excitement and business interest around the technology is very encouraging.  Before picking an “upgrade” path though, I would encourage teams to compare the Migration paths in addition to the normal Upgrade paths. 

Migration Path

Taking a Migration path means you are going to build a new farm or environment and then move content to it.  There are many advantages to this approach, here are some to consider. 

Restructure Information Architecture and Design – The migration path gives you the ability to learn from past mistakes or to make changes to better suit the current set of requirements.  This opportunity does not come up often, so if changes need to be made, this is a good time to enact those changes.  Changes may include restructuring the web application and site collection topology as well as Taxonomies.

Incremental Move – Since you are moving from one farm to another it does not have to be completed at all once, you have the option of breaking the content down into smaller units that can be moved one at a time.  This is especially valuable in cases where custom applications might have been built that cannot be upgraded without rework. 

Take Advantage of New Features – There are some situations where after an upgrade it may be difficult or at least require more work in order to take advantage of all of the new features.  One great example of this is the new Claims Based Authentication model.  In the past though, I have seen other issues which were traced back to compatibility issues with site definitions.  Given the fundamental changes to the Publishing features in 2010, I expect there to be issues when people take an Upgrade path. 

The Downsides – There are costs to taking this approach.  It may take more time than an in-place upgrade and it definitely takes more planning.  There may also be software costs for migration tools which can help automate a migration.

Upgrade Path

The upgrade paths may mean you are using the same hardware, or at the very least you are moving the Content Databases which keep the Applications and Site Collection topology intact.  The main advantages include:

Quicker and Easier – It should not take as much planning, nor take as long to complete. 

The Downsides – All of your existing Site Topology, Security, and general organization issues are moved to the new platform.  The system may be difficult to administer and maintain.

Choosing the Correct Path

Both paths have their pros and cons and offer unique opportunities.  The right path is the path that helps your team meet its objectives within the constraints given.  Most IT leaders push for the regular Upgrade path because it is less complicated within the scope of the short term project, but they do not have the full picture of what the opportunity cost is or what the long term impact will be.  It is implementation team’s responsibility to educate the decision makers as much as possible so that the best decision can be reached.

Related Posts

Content Classes in SharePoint Search

Content Classes make it possible to get the specific types of content you want returned from a search request.  This can be from an interactive search executed by a user or by an automatic search configured to supply content across a SharePoint farm. 

Here is a list of Content Classes as well as an overview on how specific list, library, and item classes can be structured.

  • SPSPeople – Will return only user profile objects.
  • STS_Site – Will return only site collections
  • STS_Web – Will return only sub-sites (aka webs)
  • STS_list_doccumentlibrary – Will return all document libraries.  The “documentlibrary” part can be substituted with any other standard template name or the template id for use with custom lists. 
  • STS_listitem_documentlibrary – will return all of the items from the document libraries.  Like the proceeding item “documentlibrary” specification can be replaced with the appropriate template name or id.

Custom Search Scopes

For interactive searches, performed by your users, you can define custom search scopes to narrow the search results.  In addition to specifying rules like the Content Source, you can specify the specific Content Class. 

In some cases users do not want to see Sites and Webs show up in the search results for a particular section of a site.  You can specify a rule that excludes these objects from the results for that scope.

In other cases where perhaps there are 100s of sites, a search scope that only returns Sites and Webs may be desirable. 

Using Search to Display Content

In addition to interactive searches, the search system can also be used to provide content as part of normal site configuration. 

Presentation Methods

The returned content can be configured to be displayed Core Results or People Core Results web parts.  These web parts provide the ability to configure the search query information as well as support customizing the display through XSLT.

The query can also be executed and the results displayed in a custom web part by calling either the Search API or the SPSearch.asmx web service.  This gives the developer the ability to show the content in whatever context it is required including for custom navigation or content outside of the normal page body.

Content Aggregation

It can be used to aggregate content across site collections and applications.  This is one potential method to grab news and announcements across a large site in an efficient manner.  It can also be used to pull navigation elements across site collections (with security trimming) as mentioned above.

Working With Large Lists and Libraries

It can provide an effective means to interact with a very large list or library.  Since it is relying on the index, not real-time calls against the list, performance tends to be much better.  

Department, Team, or other People

A lot of people would like a dynamic way to display the members of a department, team, or maybe cross-functional group.  Static contact lists have been around since the beginning of SharePoint, but it can be a maintenance nightmare.  By specifying the SPSPeople content class along with a query against the user’s profiles you can retrieve a list that maintains itself as the user profiles are managed.

Summary

Using the search system can provide a consistent, highly scalable way to access content throughout the farm.  Specifying the Content Class provides a means to retrieve the specific type of content you are looking for.  The resulting features are very powerful and should be in every developer and customizer’s tool bag.

Related Articles

SharePoint Saturday DC – DR Planning

SharePoint Saturday DC is shaping up to be a great event.  With a plan to support up to 800 attendees and over 100 sessions submitted the coordination team is putting in overtime getting everything ready.

I’m happy to announce that my session “Keys to Establishing a SharePoint Disaster Recovery Plan” has been accepted.

Here is the session abstract:

A real world guide to establishing a Disaster Recovery Plan that aligns business needs with actual IT capabilities. Covering crucial key topics such as how to prioritize your content, knowing your environment, how to establish realistic recovery estimates and how to estimate the cost associated with system downtime. With this information you will be able to validate current business requirements and assumptions, increase the reliability of the plan as well as identify improvements that can help you meet if not exceed SLAs and drive confidence in SharePoint as a business platform.

I look forward to seeing everyone there!

%d bloggers like this: