Upgrading and Fixing Email Enabled Lists in SharePoint 2010

Kelly Gibson, our engineer was working on Upgrade this last weekend and found that email enabled lists stopped working. He had already updated SMTP and the MX record and so forth to ensure it was pointing to the correct box. What he was noticing was SharePoint was losing track of the email enabled lists. Email was coming in right, but wasn’t configured correctly.

In the troubleshooting steps they found that if they un enabled the list for email and then re-enabled it, it would work. 400 lists and hours and hours later this batch in the upgrade was done.

Now that we’re looking back at it, we’re thinking, there’s got to be a better way.

When I got in this morning, I jumped on my favorite resourcing tool… Twitter and reached out to the community and asked…

@Joeloleson: Had problems with upgrading SharePoint 2010 and email enabled lists? Anyone have good workaround?

Todd Klindt chimed in with

@ToddKlindt: @joeloleson You have to go into each list’s email settings and hit ok. :("

That was a good start, and would have saved us a lot of time. He went on to explain why we were seeing the issue, that apparently isn’t the problem if you have the same Configdb as in InPlace Upgrade (still not a good reason to use in place IMO)…

@ToddKlindt: @joeloleson The incoming email settings don’t get upgraded in the Config DB when you do a database attach.

Daniel Glen how would one discover the email enabled lists…

@DanielGlen: @ToddKlindt @joeloleson is there a way to find all email-enabled lists before you upgrade??

Todd replied to him with an excellent resource from Gary Lapointe the best STSADM extensions ever built. He shares his info in a post "Enumerating Email Enabled Lists via STSADM" where he gives Todd credit for getting started on this and giving Gary the inspiration. This line was the missing piece for Gary:

m_emailSuffix = SPFarm.Local.GetChild<SPIncomingEmailService>().ServerDisplayAddress.ToLower();

@ToddKlindt: @DanielGlenn I use this: http://blog.falchionconsulting.com/index.php/2008/08/enumerating-email-enabled-lists-via-stsadm/

There was some chatter about the fact that we all thought there should be a way to fix this leveraging the ultimate power of Windows Powershell. Microsoft PFE script to the rescue… Don’t you wish more of this kind of stuff would make it’s way to the surface? I’m sharing this, not taking any credit for it, not sure who wrote it, and not even saying it works. What I like about it is it tells us what is wrong and tells us what objects we can work with. This two part script detects the lists that are email enabled and are essentially broken email enabled lists missing the alias setting and the second part once you have the web and the affected list you can update it.

Now that we’ve got this sample code, someone smart can ensure this is the right fix, combine this logic and build something useful for the rest of us J

 

##Script to detect affected lists (In SharePoint 2010)

[System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c") | out-null  

 
 

  [void][System.reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")  

 
 

 $oContentService = [Microsoft.Sharepoint.Administration.SPWebService]::ContentService;  

 [Microsoft.SharePoint.Administration.SPWebApplicationCollection]$waColl = $oContentService.webApplications;  

 $waColl1 = $waColl | where-object {$_.IsAdministrationWebApplication -eq $FALSE}  

 write-host "WebApplication; Site Collection; List Title; List URL; EmailAlias" 

 foreach ($wa in $waColl1)  

 {  

 $sites = $wa.Sites  

 foreach ($obj in $sites)  

 {  

 $spSite = new-object Microsoft.SharePoint.SPSite($obj.URL)  

 $colWebsites = $spSite.AllWebs  

 foreach ($web in $colWebsites)  

 {  

 $colLists = $web.Lists  

  foreach ($list in $colLists)  

  {  

  if ( $list.EmailAlias -ne $null )  

  {  

  write-host  $wa.Name, ";", $obj.URL, ";", $list.Title , ";", $list.DefaultViewUrl, ";",  $list.EmailAlias  

 $a = $list.EmailAlias

 $a

 $list.Emailalias = $a

 $list.update()

 }  

 }  

 }  

 }  

 }  

 write-host "Finished." 

 

 

 

##Code to update the email settings

$site = Get-SPWeb <URL of the sub site>

$list = $site.Getlist("<URL of the list")>

$a = $list.EmailAlias

$a

$list.Emailalias = $a

$list.update()

 

KUDOS to Kelly Gibson for finding the issue and manual work around, Todd Klindt for giving us a better manual work around and helping spread and Daniel for asking follow up. Great twitter discussion on this topic with @BrianTJackett and Benjamin Athawes

 

 

Track SharePoint 2010 Installations Across the Enterprise

Did you know that built right into SharePoint 2010 during installation there’s a little check to look for a container in AD and if it exists then add the server? In fact you could create an AD Group Policy to block SharePoint installs! By default nothing more than a warning happens in the installation log and most people will ignore it and move on. Others will be a little confused and say, why is SharePoint trying to access an object in AD. What is this service connection point in Active Directory? I didn’t know I should extend my Active Directory schema for SharePoint. Again, by default you don’t have to extend the AD schema, but are there any benefits by doing so. I see three key scenarios here you can take advantage of all fairly straight forward with the right support from your AD team. (You know they already love you from your User Profile Service meetings.)

  1. I want to track installations of SharePoint 2010 – You’ll simply create the "Microsoft SharePoint Products" under the system container for the service connection point (SCP) . Write does have to exist for those installing SharePoint servers to actually get the SCP created. If they don’t they’ll get an installation warning and move on. See the resources below on the how to details for configuring this.

    See Jie Li put together a script in the Script Center for listing all the SharePoint 2010 server names

  2. I want to BLOCK new installations of SharePoint 2010 including SharePoint Foundation – Since pretty much anyone can install SharePoint Foundation and run it under their desk, you might want to actually block the installation. Of course this would be the plan for someone trying to keep only the managed SharePoint farms on the radar and avoid the rogue deployments.

  3. I want to control who can install SharePoint in the enterprise to a limited group – I remember discussing this need with the SharePoint product team… "For governance reasons we should be able to control who can install SharePoint." We went on to explain… "we don’t want it popping up everywhere" because people assume we won’t support their app. We want them to engage us. You can do that too! Here you’ll create an ADM policy or GPO with Disableinstall=1 filtered by the security group. Mark Cresswell goes into great detail including links to sample ADM/ADMX files.

Now you’re asking. Why didn’t I see this in the documentation before I installed my first SharePoint box? One option is running discovery… Consider a free demo of Quest’s Site Adminstrator to help you locate the SharePoint boxes in your enterprise. There have been a number of scanning tools I’ve used over time, but make sure you’re network admin knows before you start a port scan. I say that from personal experience. It looks nasty to a network admin and could be grounds for dismissal.

Key references on the *HOW TO* on configuring:

Mark Cresswell –SharePoint 2010 brings new Governance controls to IT Pro’s

Jie Li Track SharePoint 2010 Installations by Service Connection Point

URL Shortener – These SharePoint URLs are LONG!

A few years ago when I was in IT, I got a lot of requests from HR, Marketing, and so forth for “Vanity URLs.”  So much demand that we ended up creating a .NET app on one web app so we could simply redirect URLs to the various SharePoint sites without giving everyone their own web app.  We even ended up creating a database.  This discussion isn’t about Host Named Site collections, but more about shortening those long SharePoint URLs…

Now I shorten URLs everyday through bit.ly and in the past used tinyurl.com.  Now on the web there are tons of them which will shorten URLs and even make them into words such as turning a long URL like http://www.sharepointjoel.com/sites/test/shared%20documents/actuallynotreallyalong.doc to http://bit.ly/lfda8L. In fact in tweetdeck and even in echofon I get auto shortened URLs right into the interface.  When will we see that in Outlook for SharePoint URLs J Actually I’ve seen that functionality.  Look at SharePointShortUrl.com below and combine that with DropThis from Quest.

Since that time a SharePoint URL Shortener codeplex project was put together to help shorten those long SharePoint URLs…

http://spurlshortener.codeplex.com/

In the social forums Shanon Bray mentioned there is an API from easyURI.com if you’re a developer and trying to build this functionality into your app. Otherwise if a developer you can create your own. There’s a life hacker article on creating your own URL Shortener

 

Third parties

Muhimbi SharePoint URL Shortener have built this functionality right into the user interface and available as an API.  Via twitter I’ve seen positive comments from @mikeherrity MR http://SharePointeducation.com

Here is a snippet from the fact sheet- http://bit.ly/lfda8L  (approximate price $399 USD per server, Unlimited, Ent license OEM, or source available)

·         ‘TinyURL’ like functionality for SharePoint.

·         Create small URLs from SharePoint workflows.

·         Supports user specified small URLs.

·         Supports unlimited number of Web Applications.

·         Keeps sensitive URLs within the organisation.

·         Integrates directly with the user’s clipboard.

·         Accessible via a Web Services based interface.

SharePoint Sense’s SharePointShortURL.com (Approximate price 399 British Pounds per server or 699 pound for all you’re SharePoint Servers)

  • Create ShortUrl’s for any Page, List Item,Document, View and External links.
  • Instant access via Site Actions & Items Menu.
  • Unlimited ShortUrl’s.
  • Open email client with ShortUrl for sending.

SharePoint Joel: New Chapter – Focus on the Family

Three years ago this month, I announced my resignation from Microsoft and my intention to carry on my evangelist and community activities in the field.  Today I turn that page, and announce the next chapter in my career.

I’ve had a great time with Quest Software.  It started with a conversation where I explained what I wanted to do with travel, events, blogging and community, and Quest saying… "That’s what we want too!"

I was looking for flexibility and created a vision for what I wanted to do based on gathering the best of what I heard in speaker lounges at TechEd’s around the world.  Ultimately I got some amazing flexibility to support my efforts of blogging, speaking, and community engagement with a global customer base.

My Quest travel stats included 300 days of travel the last two years with 450,000 miles logged across 77 separate trips.  That’s over 550,000 miles since I left Microsoft.

While my kids have been able to benefit from the travel part including joining me on a few of my trips, I realized they were also getting the short side of the stick.  Not being home for band concerts, soccer games, birthdays, and such I have really been feeling it.  My wife and kids haven’t been able to rely on me for much.  I’m definitely ready to change that.

I’ve been blessed with a good job… and the support I get from the community has been incredible as I’ve been able to travel around the world literally reaching out to people and places that I could only dreamed of.  Memorable trips include the trip to Peru, visiting a community I had little to no contact with.  Jordan, Israel, Dubai, and Palestine where I’d find a whole world of people with passions and complexity worthy of all the time I could give them and more. India, Malaysia, China, Philippines, Vietnam, Cambodia, Indonesia and Singapore another region busting with potential and fascinating cultures.  My trips to Africa have all been met with passionate SharePoint people and adventures galore.  From Brazil, Mexico, Portugal, Norway, Amsterdam, and more… Haven’t been let down by the community.  In fact I’m fitting in a family trip to Egypt prior to the move date, so my family can experience what I did. Looks like the SharePoint User group x2 will be April 9th in Cairo. Details to come.

I wasn’t really counting how many places I had been until I met Michael Noel.  Sure I had the "where I’ve been" map on facebook, but it was when Michael discovered the Travelers Century Club that the two of us decided that we would set a goal to visit 100 countries.  (Yep, he beat me to 100, he passed it on this last trip and I’m sitting at the last mile at around 96 with the last few on the calendar.) My aspirations for visiting new communities, new cultures, and breaking down the barriers of language, distance and isolation became real goals.  Our recent Sharing the Point tour in Asia really represented that desire to reach to emerging markets that otherwise get neglected.  It’s allowed us to focus.

What’s Next

It started with a job interview a couple of years ago.  I met this great team of SharePoint folks who had a vision for what they wanted to build and they thought I’d be someone who could build the team.  At the time I wasn’t ready to give up the flexibility, and was worried about the move and what we’d do with the house.

Since that time I’ve had a lot of time to think about working for a nonprofit and what it would mean to me and my family to go to the more of a 9-5 job and see me for breakfast and dinner everyday.  As well, looking at my career aspirations I decided I wanted to be a CIO when I grew up.  Looking at what I need to do next I realized business, and deeper management experience.  This nonprofit has 50,000 employees and already has 2TB+ of SharePoint content, and a SharePoint 2010 portal and plans to take advantage of Fast.

The role I’ll be taking on is a solutions management role who own the vision for how SharePoint and other collaboration solutions will be used across the company.  Having had a recent restructuring the IT department itself has been redesigned with empowerment in mind.  These solution focused roles really fit well with what SharePoint has been lacking in many corporations.  The vision, mission, and the ability to look at addressing problems rather than a focus on the technology.

For me what this means is less travel, a family focus, a focus back on the fundamentals of management, business, and problem solving at the business level.  I’ll be a manager, managing people, but also helping understand the various business units needs and addressing these with the technology roadmap.

Why am I doing this?

  1. More quality time with Virginia, Dean, Scott, and Jared (The Family: A Proclamation to the World)
  2. Next step in my career, focusing on developing my management and business skills
  3. Finding Purpose and giving back. I’m very excited to seeing and influencing how SharePoint and collaboration technology will be used to solve real problems including things like assisting in improving people’s life’s, human welfare and disaster situations.

Find me on my blog

On the social media and marketing side, this means I will be returning to a normal life of working at a customer.  My speaking will be limited to once a quarter events supported by the non profit by allowing time off to speak.  So I definitely will be cutting down the travel, but I will continue blogging on SharePointJoel.com and to simplify my life… I will no longer be running the channel on NothingButSharePoint.com.  The best place to find me will continue to be here and at few select events around the globe.

When

My start date is April 25.  Between now and then I hope to see you at SharePoint Best Practices Conference if you’re in Europe, and at TEC SharePoint Conference if you’re in the U.S!

More on the new job coming soon…

Manila Philippine SharePoint Community LAUNCH! #STPAsia

As we left from Beijing little did we know that the world was changing and would be forever changed before we touched back down.  Upon arriving in Manila I turned on the TV to check the news to discover that a 8.9 Earthquake had shaken Japan and a Tsunami warning was in effect across the pacific.  It was concerning to hear and watch as the news unfolded.  Apparently the earthquake was felt even in Beijing, but we had just missed it.

IMG_6824

The Philippines were not highly impacted by any deaths, and we were fully safe from it’s affects.

After arriving we went out to dinner with Dux’s lead.  Rather than stay out late we decided the best option was to get up before the crack of dawn to head to the fish market, and a morning excursion to manila bay and even a quick Jeepny and pedicab ride through the streets prior to the event.

IMG_6838 IMG_6855

The first SharePoint community event ever happened in Manila with Sharing The Point.  I don’t know exactly when the inital thought happened, ’cause I’ve been wanting to visit the SharePoint communities in China, Vietnam and Philippines for a LONG time.  In fact I feel like I’ve been saving both China and Vietnam for trips where I could really visit including north to south in Vietnam via train plus boat, and doing spice route or Tibet visits, but I would say it was conversations with Dux that really made me feel like we really needed to visit Manila.

The sold out Manila event was a huge success.  Microsoft was concerned no one would show up on a Saturday. Over 150 registered and it seemed we had nearly that many show up if not more.  One couple brought their child… pretty serious dedication.  Reminds me of a few conferences I’ve been to.  Ironically or not, we were pleased to see it was the family with the child that won the Kinect combo XBOX giveaway!

IMG_6898

Above: SharePoint Community Experts Lunch following the event (Invitation) – A big highlight for me at the event.

 

None of us really had much of a connection with Manila in terms of community connections, that is until our experts luncheon event visit and we were going around the room in a post event experts community luncheon and I was adding a few of these experts and quickly found we have a lot of friends in common.  Jocelyn a good Philippine friend of mine living in Singapore whom I’ve met a number of times at TechEd South East Asia, and friends with on Facebook and Twitter, was friends with many of the Microsoft folks and budding community experts.  A few other common friends in Singapore Steve Sofian SharePoint MVP, and

Was fascinating going around the room and seeing the variety of people, but seeing that despite the fact that none in our group save Dux had ever been to the Philippines, and Dux had never been there representing or on behalf of any SharePoint initiative, we had at least one friend in common across the dozen or so experts gathered.  While Manila has a .NET user group, it does not yet have a dedicated SharePoint User Group and we left with some serious encouragement and a local commitment by the local that they are going to make it happen.

I see a very bright future for the community in the Philippines!