Thursday, January 31, 2008

Windows Search Server 2008

The newest addition to the 2007 Office System family is Microsoft Windows Search Server 2008. Search Server allows companies to quickly and efficiently find documents throughout the enterprise. Search Server comes in 3 versions: Search Server Express, which is free and installs on top of WSS, Search Server, which includes some added functionality and allows for a search server farm, and MOSS Search 2007, which includes the content management capabilities of MOSS. For those users that have experience with WSS or MOSS the interface for Search Server will be very familiar. It is easily configured and is available right now for trial.

For more information about Search Server:
Enterprise Search Site

Labels: , ,

MCTS 70-631

Today I took the Microsoft MCTS 70-631, Windows SharePoint Services - Configuration. When I first began studying for the exam I was a little nervous because many of the people who have already taken it warned that the test was mostly on NLB. I happened to find some nice recorded webcasts with questions and answers on the MS Readiness site. If you have access to it just search under the products 'SharePoint Services'. There are recordings for both the 70-631 and 70-630 exams. The nice thing about the recording was that the presenter gave a list of resources that should be studied for the exam. Included in this list was the Deployment Document for WSS 3.0. After studying for about 10 hours I took the exam this morning and am happyto announce that I passed the exam. So now it is onto the PerformancePoint 70-556 exam.

For additional links to resources to study for the 70-631:

70-631 Exam Preparation Guide
WSS Developer Center
WSS Upgrade Overview
WSS 3.0 Technical Library

Labels: , ,

Friday, January 25, 2008

How to Package a SharePoint Solution (Or How to Rip all of your hair out)...

As I sit here well past 5:00 PM for the second time this week, I wonder what is the best way to package up you custom SharePoint solution to deploy to a production environment. We have tried many ways in the current project we are working on and none of them have proven to be viable methods or consistently deploying our customizations to prepare for the final production deployment next week. The initial project began with creating custom lists, content types, and site columns through the UI. Early on, we realized that we would need some way to move these customizations to the production server and quickly decided that Features and Solutions would be the way to go. We began with using the SharePoint Solution Generator to generate the list definitions. This seemed to work well except we ran into some issues with the generator producing errors and failing.

So onto Plan B. This was to generate the definitions and then put them into Feature files ourselves. This was way too manual and would take longer to package then to create the customizations. So we moved to Plan C. This required the Visual Studio extensions to WSS. This allowed us to package up the Features and deploy them from Visual Studio. We ran into some issues asgain with the extensions not providing all of the functionality that we needed and so I looked for another alternative.

We settled on the CTP 1.1 version of the Visual Studio extensions for WSS. These proved to contain all of the Features that we needed and would deploy reliably over and over again. Or so we thought.

We went to deploy the entire customization solution to prove to ourselves that the entire project would work in production and found some interesting results. When we tried to deploy the solution from the batch file, it died in the middle of activating the Features. This would never work in the production environment. We needed a stable deployment mechanism. So we deleted the web app and started over and this time the solution was deployed but we didn't allow it to activate that features, that way we could manually activate them. This worked reliably but it is quite manual; we had to build in Feature dependencies to make sure that the Features were activated in the same order. Another issue we ran into was that we needed to deploy our base system to two subsites in a single site collection. This did not work by using the VS extensions. The GUIDs that are created are only unique when the Solution is re-deployed from within VS. We needed new GUIDs each time it was deployed from the batch file. When we did the manual activation it worked fine.

The question I pose to all of the other SharePoint developers out there is: What is the best way for deploying customizations to a production environment right now? I realize that the answer will depend on the circumstances but in general what has worked for you?

Labels: , , ,

Tuesday, January 22, 2008

Results of the PPS Beta Exam

So this past Friday I received the results of my PPS (PerformancePoint Server) beta exam in the mail. I was quite surprised to find that I only missed passing it by 43 points. What surprised me about this was that I took the beta exam back in early November before I had taken any training or really used the product in any depth. Before I took the exam, the only things I had studied were the training pages on the Microsoft site. Now that I have take a training course and worked with the product more closely, I feel confident in my ability to pass the exam when it is released. No news yet as to when that will be but I will keep everyone posted.

Labels: , ,

Monday, January 7, 2008

The Greatest Christmas Gift Ever

This post has been a long time coming but I have been busy lately with some project work due to the fact that I finally received my hotfix from Microsoft to allow me to build a French variation for my client.

This long ordeal began last September when we were getting ready to start building the French language version of a site for our client. I wanted to see which items would be copied over with the variation mechanism, so I ran it on our development environment. About three pages into the creation of the variation hierarchies, the variation deployment failed with a primary key violation. So I tried to delete the partially done French version and start over. Same thing happened.

So the next most logical thing to do was to call Microsoft and submit a ticket. After waiting for the call back and explaining the problem to the tech, as well as showing him through a net meeting, the tech finally came back and said there was a hotfix available for the problem. He sent me the hotfix and I installed it on the development server and ran the SharePoint Technologies Configuration wizard.

I thought I was off and running again so I created the French variation label and clicked to build the hierarchies. This time it ran for 4 hours and then died with an error message that read "Server out of memory." I didn't think this was possible, so I poked into the SharePoint log files and found that sure enough the server had run out of memory. I looked further back in the logs and soon found out why it ran out of memory. There were hundreds of entries that read "Excessive number of SPRequests objects are not being disposed of. Check to make sure that SPWeb and SPSite objects are disposed." The number of request objects was around 964 when the server ran out of memory.

Once again I called Microsoft and submitted a ticket. I sat on the phone with the tech and explained the problem and what I did to get the error. Then I ran the typical SPSReports tool to gather information for them to look over. After a few weeks I received an email that said my case was being reassigned to a new tech. So the new tech called me and asked the same questions. He wanted to watch the server to see what happened so I reran the variations and he watched and I pointed out that SPRequests were not being cleaned up (this was something we realized we had to do earlier in this project in our own code). After 4 hours of being on the phone while it ran, the variations died with the server out of memory error. We reran the SPSReports tool and the tech said he would get back to me with the results.

About a week later I heard back from the tech that there wan one other person having this issue and that the SharePoint team was working on a hotfix for the issue. He said it should be out in the next two weeks. So I waited and waited and after two and a half weeks emailed the tech only to find out that my case was being passed onto another tech because the previous was going to training.

Now the third tech said that the hotfix should be out shortly and that they would let me know when. About a week later I received another email saying that this hotfix was not going to be included in SP1 and that I needed to hold off on installing SP1 until the post-SP1 hotfix was out. That was fine with me, it was more important to build this variation anyway. So I was optimistic that the hotfix would be out soon.

After about 6 more weeks of emailing back and forth with the techs about the status of the case, I finally received an email saying that the case had been escalated and that more resources were being put on the hotfix.

Another 2 weeks later, now almost Christmas and I finally received a call from someone at Microsoft saying that the hotfix was ready.

We installed the fix between Christmas and New Year's and it worked wonderfully. The 2,300 page site was built out in the French version. It appears that the hotfix calls the garbage collector more frequently and this causes the garbage collector to clean up those SPRequests that were lying around.

So now I am working on creating the French version of a very large site. Look for more posts soon about the issues that come up when building a multi-lingual site.

Labels: , , , , ,