So finaly i got a customer who asked me to do something i really didn’t know if it was possible.

Already been working on it for 2 days now and it seems that i have got it working.

Ok, so what was the wish of this customer:
I have a SharePoint 2003 32 bit single server dutch installation with a sql 2000 database. It has some custom webparts, some custom templates and sitescollections have some odd behaviours. Please transform this environment to a SharePoint 2007  environment 64 bit on windows 2008 servers, using sql 2008 as database server, configured as a small farm, using a UK installation with dutch language packs.

Most of the wishes can be done separately, but all together, i was not sure if this was going to work.

furthermore, did i mention that the database was 50Gb  :-o

Toplevel the next steps are taken

  • upgrade SharePoint 2003 to sp2
  • Run prescan tool
  • backup database(s)
  • install Sharepoint 2007
  • install all needed language packs
  • restore sql backup
  • install templates
  • copy images (from images folder in 12-hive)
  • use stsadm with addcontentdb option
  • manually correct all issues (some migrated lists, templates and functionality that was no longer working)

Et voila, we had over 90% working again.

So the next days i will be fine-tuning the installation, creating scripts, making an installation manual, because …. we have to do it all ones more .

Never a dull day in SharePoint land.

eric

When installing language pack there is thing you need to know. And that is the order in which to install.

Seems that microsoft is not using the same update functionality as in other updates.
meaning: with most updates it’s sufficient to update only the last service pack, which usually includes all updates.
For example: when installing a new Sharepoint server, and you need to install SP2, you don’t have to install SP1 first.

So what’s the catch with language packs.

Simple: you always install the base installation before installing a service pack.
Say , i would like to install the dutch language pack on my newly installed Sharepoint server (SP2).

  1. Â
    1. Install the wss language pack
    2. Install the wss laguange pack SP2
    3. Install the Moss language pack
    4. Install the Moss language pack SP2

If you know the routine it’s simple, but it is sometimes nice to know the routine. :-D

One thing i haven’t checked out.
Do i need to run the Configuration manager after every update, or only ones at the end of all 4 updates?
If someone knows, please let me know

Eric

Ever since i started installing SharePoint 2007 (over 2 years ago), i have been configuring Alternate Access Mappings.
This was never a problem. Up until yesterday.

Yesterday i configured SharePoint AAM for an installation i had done earlier.
For the record: Sharepoint 2006 x64 on a Windows 2008R2 x64. I must say: it was my first experience with 2008R2
Set al the settings that needed to be set.
Computername : Sharepoint1
New “Nice” name: Intranet

I created the AAM entries, and since i was configuring the machine (contained 1 empty site collection) i also started search.
I stopped the search after 38 minutes, because that was impossibly long

I then tried to reach the sharepoint site and i the only thing a got was a blank page where access denied should have been visible.
So besides not able to login, i also was not presented the right page.

This made me start my quest for information on the internet.
I assumed it was IIS7 related. 2008R2 has some new features and installation points. example : ASP.net 3.5.1 is automatically installed.

I took me a whole lot of time and testing to find out that the problem was eventually solved using the disableloopback registry setting.
Simply settings this registry setting, then rebooting  and everything works as intended.

So for every out there that has problems with AAM and Windows2008 (not sure if it’s R2 only or not)
Try the registry setting first. Here you can find more information about it
It’s a simple setting, doesn’t cost a lot of time, and can be easily removed.

Regards,

Eric

So you are importing user profiles.

But then there comes the moment when you find out, you don’t want everything imported.
Just a subset, or maybe even just 2 out of 3 containers.

I have been there. A customer of mine had his Active Directory in very disordened way. But… a lot of software was configured to use this structure.
So rearanging was not an option.
But i had the idea, that the import was a LDAP-query, so any LDAP query should work. And i started out building LDAP queries that would give me the set of information needed. But i was unpleasantly surprised to see that none of them seem to work.

The only two attribtes i got the work where :

  • Disabled accounts
    LDAP option: (!userAccountControl:1.2.840.113556.1.4.803:=2)
  • Account with non-expiring passwords
    LDAP option:(!userAccountControl=65536)

Adding these would at least generate a more decent result.

Example: (&(objectCategory=Person)(objectClass=User)(!userAccountControl:1.2.840.113556.1.4.803:=2))

But i will continue my search for more options.

Eric

As every developer should know m the SPSite and SPWeb objects have problem resulting in memory leaks. On the background they call “unmanaged code”. so when using SPSite objects or SPWeb objects in your code, always use ways to dispose these object (think of try-catch and using).

there is even a tool to check if you really dispose all the necessary object (link)

But today i saw an article that told me there is another memory leak problem.

Look at this article of Todd Carter to see more of it, he call’s it : SharePoint’s Sasquatch Memory Leak

Last week i had to do some maintenance for a customer.
During this maintenance we had serious trouble with the bdc-definition.

We started out because the customer had serious performance issues. We decide to change 2 things, just for the test.
One of them was > recreate the Shared Service Provider

During installation someone installed the SSP on the default webapplication (port 80).
So now the SSP is part of the portal.

We decided this was not a good situation and started planning for a migration.
First, gather all current information about the SSP and check what will be lost and what not.

One big thing at this customers place is that we use a BDC that is vital for the working of the portal.

So we tested in a "test environment" and if we export the application definition file and import it into the new SSP , everything should continue to work. (we had some custom pages that rely on this bdc-file)

First issue : When ssp is configured to use with the default webapplication, the only way to add the default webapplication to the new SSP is to remove the original SSP. Hmm, i didn’t like that, because we might need some information afterwards. But we decided to continue and deleted the SSP (remember : removing the ssp from the default webapplication will NOT remove the webapplication, retaining the default portal)

As it seems everything was working, ……. until we checked the BDC .

After re-importing AND resetting the security> the application was not working !
Checking every website in the google universe , we never found a solution.

The bdc-file was imported correctly, we could set permission on it AND we could see all settings.

But when using the BDC-picker tool, our application was not visible.  :-(
At this moment we were getting desperate, until we found somewhere a note of someone (i really don’t know where) that it could be search related.

And one thing we hadn’t done yet was: Start up search. Because of the impact we decided earlier that day to wait until the weekend. We decided to start the search and wait until the weekend passed.

AND GUESS WHAT : the bdc was working as intended.

what is the bottomline of this story : somehow BDC is relying on a working search environment. Some make sure you run a full crawl to the end, before starting to troubleshoot BDC-related problems.

In our situation: the search had never run before. (Search is part of the ssp)

Hope this will help others,

Kind regards,

Eric

Ok, so i was aked to program against the userprofileproperty choicelist.

The choicelist is the property of a userprofileproperty, when the userprofileproperty is a choicelist (sounds logic, not ?)

First i created a user profile property of the type choicelist.
I created a piece of code to connect to the userprofiles and retrieve the specific property. After retrieving the property, i retrieved the values of the choicelist.

Unfortunately, these values are “simple” strings without any form of ID. At least, not through the api.

I had the property object, next thing > add the value(s) AND don’t forget : programmed the commit.

I ran the code, and no errors, however, also no added values.

After some debugging and digging, i found out that adding value to the choicelist is not considered a change for profileproperties.

Funny ? NOT!

Then let’s create a workaround. Before committing , i programmed some code that forces the state of the property to : changed.
That way the values where added together with the change that in fact, wasn’t a real change.
Please notice the portion regarding the description :-)

                ServerContext sc = ServerContext.GetContext(curSite);
                UserProfileManager upm = new UserProfileManager(sc);

                Property p = upm.Properties.GetPropertyByName(Propertyname);
                p.ChoiceList.Add(Value);
                string descript = p.Description;
                p.Description = "";
                p.Description = descript;
                p.Commit()

after using this addition, the values where added succesfully to the property.

Hope this might help others.

Eric

Yes !

it’s finally there.

SharePoint Public Beta Resources

Where can I download SharePoint 2010 public beta?
You can download SharePoint and Office 2010 public beta from http://www.microsoft.com/2010

Is the SharePoint public beta supported?
The SharePoint public beta is not supported. However, we recommend looking at our resources listed above and asking questions in the SharePoint 2010 forums.

When is the final release of SharePoint and Office 2010?
We are planning to release SharePoint and Office 2010 in the first half of calendar year 2010.

Will there be a migration path from SharePoint public beta to final release?
We do not plan to support a SharePoint 2010 public beta to release bits migration path. The SharePoint 2010 public beta should be used for evaluation and feedback purposes only.

If I’m on SharePoint 2007, how do I get ready for SharePoint 2010?
Take a look here for getting ready guidance.

Is there a downloadable SharePoint 2010 VHD?
We plan to make a VHD available for download sometime in the future. We will announce its availability on our team blog.

How do I get trained on SharePoint 2010?
Please review the Getting Started page, the  IT Professional learning guide , the Developer learning guide , and the End User resources to ramp up on SharePoint 2010.

I had a problem writing to the eventlog.

I got a message telling me i don’t have write access. I couldn’t believe that, since under normal circumstances everyone could write to the application log. At least, that’s how it should be.

Searching the internet i found this blog.

bottomline: use elevated permission for writing to the application log
Eric

Microsoft  has some nice snacks:  Microsoft Learning Snacks

the come in several flavours, but one of them is : Microsoft SharePoint Server 2010

there are 3 Sharepoint 2010 snacks

  1. Developing Solutions with Microsoft SharePoint Server 2010 (20 minutes)
    Microsoft SharePoint Server 2010 enables developers to build rich solutions easily, rapidly, and efficiently. This Learning Snack demonstrates how you can use Microsoft Visual Studio 2010 to create and deploy your solutions. It also demonstrates how you can build Microsoft Silverlight applications by using the SharePoint 2010 client object model, and how you can use LINQ to SharePoint to create SharePoint entities.
  2. Experiencing the Microsoft SharePoint Server 2010 User Interface (20 minutes)
    Microsoft SharePoint Server 2010 includes an enhanced user interface that provides IT professionals with a streamlined administration experience. This Learning Snack describes the features of the SharePoint Server 2010 user interface. It demonstrates how the new Central Administration console enables you to perform several administrative tasks from one central location. The Learning Snack also describes how shared application architecture can be used for flexible deployments in SharePoint Server 2010.
  3. Managing and Troubleshooting with Microsoft SharePoint Server 2010 (17 minutes)
    Microsoft SharePoint Server 2010 facilitates administration by providing several tools that help IT professionals efficiently manage data and troubleshoot any issues. This Learning Snack describes the Large List Resource Throttling feature, which helps you manage large lists. It demonstrates how a Microsoft SQL Server logging database can be used to log SharePoint events. The Learning Snack also demonstrates how the SharePoint Best Practices Analyzer can be used to detect and automatically fix common issues.

other snack-tastes are :

    bon appetit.

    Eric