Posts
42
Comments
19
Trackbacks
0
Tuesday, August 23, 2011
Pre-Upgrade check and Database Schema issues

I have been trying to put a staging environment together to upgrade from SharePoint 2007 SP1 to SharePoint 2007 SP2. Then we will run the preupgradecheck command to varify that the database wil upgrade properly. We ran into the infamous error:

Issue : Content database with modified database schemas       
User modifications to the SharePoint content database, including but not limited to table schemas, index, stored procedures, are not supported and will cause upgrade to future versions of SharePoint to fail. The databases in the following list seem to have been modified from the original schema:

There are a lot of thints that can cause this. I'm just posting what I found and what I did to fix it. hopefully the content here will help you figure out your issue.

 First, investigate the logs in the "12/Logs" directory. You will be able to pinpoint what schema changes are problematic. For me it was this was an issue with ContentTypeID tables and keys.

 Now that you know what the schem issues are about, you could clean things up manaually (which is not a good idea) or you can let SharePoint do it for you!

  Check this out for a manual example : http://selfinflictedsharepoint.blogspot.com/2010/06/sharepoint-pre-upgrade-checker-fails.html

  Check this out for a SharePoint fix: http://sharepointnomad.wordpress.com/2010/12/12/fix-content-database-with-modified-database-schemas-issue-when-upgrading-to-sharepoint-server-2010/

  I used the second, as it was not something that was added accidently, it appears that some orphaned content type or wsp might have caused this. At least that's what I suspect.

   Hopefully it points you in the right direction.

 

 

 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Tuesday, August 23, 2011 4:23 PM | Feedback (0)
Thursday, August 04, 2011
SharePoint 2010: Assign a Unique MasterPage to a Page Layout in a Publishing Portal

This post is a quick one to post some SharePoint code. This post refers to the post posted by Eric Overfield. Refer to the post to get the full background, but he explains how the OnPreInit event method overrides any MasterPage assignment you might put on your Page Layout. He eludes to the fact that you can use reflector to see that the URL to a master page is overridden. I thought I would post the code. So you understand what is happening in the method and how you can set the master page url. It is a bit unclear in the his post which property needs to be set. It is not the CustomMasterUrl that you have to override. It is the MasterPageFile. In the SharePoint code, the MasterPageFile is overridden by CustomMasterUrl see bellow.

 

protected override void OnPreInit(EventArgs e)
{
    base.OnPreInit(e);
    SPContext current = SPContext.Current;
    if (current == null)
    {
        SPException exception = new SPException(Resources.GetString("ErrorInvalidSPContextCurrent"));
        ULS.SendTraceTag(0x376f6233, ULSCat.msoulscat_CMS_Publishing, ULSTraceLevel.Unexpected,        "PublishingLayoutPage.OnPreInit(): Exception: SPContext.Current is null");
        throw exception;
    }
    SPWeb web = current.Web;
    this.MasterPageFile = web.CustomMasterUrl;
}


 

 This code was extracted from the Microsoft.SharePoint.Publishing.PublishingLayoutPage Class using Reflector.

 

 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Thursday, August 04, 2011 9:56 AM | Feedback (0)
Friday, July 29, 2011
3 Helpful PowerShell Tips

I have been working with power shell quite a bit lately, I thought I’d write about 3 tips that have helped me. Notice how it is titled, "Helpful"? not "Ground breaking". It includes helpful commands that I have been using and a nice little Script editor that has one feature enough to win me over. Other's have writen about the commands (most of the time I write so I remember what I've done and how I have resolved issues) but I have not seen others write about other script editors. 

If you have been working with Powershell and you are a Pro at it, this might not be as helpful to you. But as a SharePoint Developer, working with powershell is a newer concept to the average SharePoint Developer or administrator. Very Few SharePoint Administrators and developers used PowerShell for MOSS 2007. It was used it just wasn’t common. What you are used to is StsAdm.exe, and even then you probably used a GUI interface for StsAdm.exe. Well, get used to PowerShell, it can be quite powerful!

Tip #1:

I found myself asking, what is the command for this? And what are the parameters and switches for this command. So here are 2 “Go To” commands I always use.

Get-Command –noun SPSite

This command will get you all the PowerShell commands that have “SPSite” in it.

You will get something like this:

CommandType     Name

Cmdlet          Backup-SPSite

Cmdlet          Get-SPSite  

Cmdlet          Move-SPSite  

Cmdlet          New-SPSite

Cmdlet          Remove-SPSite

Cmdlet          Restore-SPSite

Cmdlet          Set-SPSite

 

Sometimes you want to get examples of all the parameters and switches. Use this command:

Get-Help SPSite

Also use this to get actual examples:

>  Get-Help SPSite –examples

The first command gives you information about the command, the second one actually gives you examples so you can see what the syntax looks like.

 

Tip #2:

Another tip is you can run all STSADM commands off the SharePoint 2010 PowerShell Console. So you can run both type of commands on the same console window. A co-worker of mine was surprised when I was mixing commands, I thought it was common knowledge you could do that.

Tip #3:

The last and more important tip is using A Script Editor. This is pretty common now to write scripts instead of just running the odd command. I always wondered why you would want to write scripts or where it would be applicable. I have a blog post coming, that outlines a very simple example where I did this.

The Windows PowerShell ISE is a Windows Server 2008 Feature. So in order to use it you will need the feature turned on. What you get is a script editor, an input and an output window. I highly recommend you using the a Script editor even for writing plain commands. You will most likely be finding yourself re-using commands or tweaking commands that it’s nice to have a script editor.

I don’t have a screen shot of this because my tip is not on using Windows PowerShell ISE but on explorer other script editor. The one I am using now is PowerGUI. In all reality, it’s just a script editor and it’s not specific to SharePoint and it doesn’t need to be. Experiment with a script editor you like and go with it!

All Script editors are about the same, but this one won me over for one very simple reason. Ever found yourself writing a PowerShell script and trying to press “TAB” to auto finish your command for you? Remember how handy that is? If you are a Developer and send quite a bit of time on Visual Studio you like the “Space” option and auto finish capabilities. The problem is that PowerShell cycles through the commands as you hit “Tab”  and if the command that auto finishes is not the one you like,  you keep pressing “Tab” till you find it. Well, this gets incredibly annoying after a while. It would be nice to have Intellisense, just like in Visual Studio right?

So PowerGUI has it!! You will still have to load the SharePoint Script to load the SharePoint Cmdlets but after that you will have full intellisense and also a description of the command with all the switches. This alone won me over.

Happy PowerShelling! :) 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Friday, July 29, 2011 3:54 PM | Feedback (1)
Tuesday, June 28, 2011
SharePoint 2010 Diagnostic Studio Remote Diag

I have had some time this week to try out some tools that I have been meaning to try out. This week I am trying out the SP 2010 Diagnostic Studio. I installed it successfully and tried it on my development evironment. I was able to build a report and a snapshot of the environment. I decided to turn my attention to my Employer's intranet environment. This would allow me to analyze it and measure it against benchmarks. I didn't want to install the Diagnostic studio on the Production Envorinment, lucky for me, the Diagnostic studio can be run remotely, well...kind of.

Issue

My development environment is a stand alone, full installation of SharePoint 2010 Server. It has Office 2010, SQL 2008 Enterprise, a DC...well you get the point, it's jammed packed! But more importantly it's a stand alone, self contained VM environment. Well Microsoft has instructions as to how to connect remotely with Diagnostic Studio here.

The deciving part of this is that the SP2010DS prompts you for credentails. So I thought I was getting the right account to run the reports.

I tried all the Power Shell commands in the link above but I still ended up getting the following errors:

06/28/2011 12:50:18    Connecting to remote server failed with the following error message : The WinRM client cannot process the request...If the SPN exists, but CredSSP cannot use Kerberos to validate the identity of the target computer and you still want to allow the delegation of the user credentials to the target computer, use gpedit.msc and look at the following policy: Computer Configuration -> Administrative Templates -> System -> Credentials Delegation -> Allow Fresh Credentials with NTLM-only Server Authentication.  Verify that it is enabled and configured with an SPN appropriate for the target computer. For example, for a target computer name "myserver.domain.com", the SPN can be one of the following: WSMAN/myserver.domain.com or WSMAN/*.domain.com. Try the request again after these changes. For more information, see the about_Remote_Troubleshooting Help topic.


06/28/2011 12:54:47    Access to the path '\\<targetserver>\C$\Users\<account logging in>\AppData\Local\Temp' is denied.


You might also get an error message like this:

The WinRM client cannot process the request. A computer policy does not allow the delegation of the user credentials to the target computer.

Explanation

After looking at the event logs on the target environment, I noticed that there were a several Security Exceptions. After looking at the specifics around who was denied access, I was able to see the account that was being denied access, it was the client machine administrator account. Well of course that was never going to work!!!

After some quick Googling, the last error message above will lead you to edit the Local Group Policy on the client server. And although there are instructions from microsoft around doing this, it really will not work in this scenario. Notice the Description and how it only applices to authentication mentioned?

Resolution

I can tell you what I did, but I wish there was a better way but I simply don't know if it's duable any other way. Because my development environment had it's own DC, I didn't really want to mess with Kerberos authentication. I would also not be smart to connect that server to the domain, considering it has it's own DC.

I ended up installing SharePoint 2010 Diagnostic Studio on another Windows 7 Dev environment I have, and connected the machien to the domain. I ran all the necesary remote credentials commands mentioned here. Those commands add the group policy for you! Once I did this I was able to authenticate properly and I was able to get the reports.


Conclusion

  You can run SharePoint 2010 Diagnostic Studio Remotely but it will require some specific scenarions. A couple of things I should mention is that as far as I understand, SP2010 DS, will install agents on your target environment to run tests and retrieve the data. I was a Farm Administrator, and also a Server Admin on SharePoint Server. I am not 100% sure if you need all those permissions but I that's just what I have to my internal intranet.

  I deally I would like to have a machine that I can have SharePoint 2010 DIagnostic Studio installed and I can run that against client environments. It appears that I will not be able to do that, unless I enable Kerberos on my Windows 7 Machine now. If you have it installed in the same way I would like to have it, please let me know, I'll keep trying to get what I'm after. Hope this helps someone out there doing the same.

 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Tuesday, June 28, 2011 3:35 PM | Feedback (0)
Saturday, May 07, 2011
SharePoint 2010 Branding

This past week the company I work for re-launched our external facing internet site, all powered by SharePoint 2010. I already blogged about it, but have you ever wondered, what does it take to build a great looking site?

There are 3 basic levels of Branding in SharePoint 2010:

      Low Effort 

Remember the themes in SharePoint 2007? well its incredibly easy to build them in SharePoint 2010.The best examples out there are the ones that use Power Point 2010 to produce color schemes and styles and apply them to SharePoint 2010. SharePoint 2010 User Interface also exposes the theme styles to be edited by site owners.

      Medium Effort 

Ever wanted to add a Company Banner? company Images or stylize navigation controls? Well this can be done through a custom CSS. Simply add a custom CSS and SharePoint will reference an "Alternate CSS". An alternate css is applied after the core CSS of SharePoint. So you can style a few things without having to re-style all of SharePoint.

      Full Effort 

Since SharePoint is built on ASP.Net, any web developer can develop Master Pages, and CSS to build a great looking site without ever touching SharePoint. A Master page will define the layout if the overall page and your CSS will definite the styles (Color schemes, sizing, effect, etc.).

 

You might ask, who should or has the skills to do these kinds of customizations? And which is the right fit for us? The first I can answer for you, the second might be up to you to decide, depending on the effort and capabilities.

      Power Users 

It is really that simple to create themes in SharePoint that any user that has ever touched Power Point or any Office product can produce "Low Effort" customizations to themes. The question then becomes what can I do with themes? Well SharePoint Themes are really NOT changing layout. This means that the core look and feel that comes with SharePoint out of the box will be the same. All that themes change is color schemes. This is why it can be done fairly easily with Power Point. The color schemes applied map to SharePoint color schemes and can be applied by exporting the themes created in Office Products and applying it to SharePoint. I know it's not the most impressive type of branding change but it's a start. It's an easy way to start making your SharePoint experience customized to your organization or team members.

      SharePoint Administrators

The first thing you can do as an administrator is apply Master Pages, CSS and Themes that have already been created. The heavy lifting for this has already been done and this is simply configuring the site to use any of the customized artifacts(Master Pages, CSS and Themes) so that your SharePoint Site Uses them.

The second part of this is what can be done through the SharePoint UI. The SP2010 UI provides a Site Theme settings page that allows users (administrators, etc.) to edit the color schemes of Themes right from the UI.

The third part of customizations performed by administrators assumes some basic knowledge of CSS and Master Pages. If you have IT people that know basic web development then they can customize SharePoint, without deep understanding of SharePoint. This will require using SharePoint Designer 2010 and creating a new CSS and uploading dependent images and writing CSS to style SharePoint. The kind of customizations at this level usually have a custom banner, images, and/or custom navigation color schemes and styles.  You can do quite a bit with CSS to make SharePoint look nothing like SharePoint, the rub is that you are not changing the layout. Everything will still be generally positioned in the same place. You are simply editing some sizing and color schemes. This is usually what organizations have the expertise to do with branding SharePoint, unless you have a SharePoint team dedicated to supporting it and a team that has become quite proficient and has specialized their skill set for SharePoint development.

      Professional SharePoint Developers

This is where all the heavy lifting is done . Professional developers will have the expertise in Master Pages, CSS, Themes, Silverlight, JQuery, ECMA Script, SharePoint Controls, etc. If you have wonder what are the skills and the technology to build a site like www.imaginets.com or other popular sites like www.ferrari.com. Well this is what the technology looks like.

A Professional developer will usually start with a minimal Master Page and will design a layout of how what the site will look like. This could be a collaboration between a Professional Designer and a SharePoint Professional Developers. The reality is that just because you are really good at SharePoint Development and have all the skills to do this, does not mean you are a great designer. Any well built and visually appealing site out there used a designer to build a great looking site. After the general layout is complete, a CSS can be built. This will stylize the colors and position images and controls in the basic layout of the page. To take the look and feel that extra step further, maybe some extra are developed. Maybe a JQuery rotating banner  that rotates images from a SharePoint Image Library accessed through ECMA script. Maybe a Silverlight Video streaming and/or rotator is positioned on the page. How about Navigation accordion style controls and hover over effects/images/color. 

This is a full SharePoint 2010 Branding effort that requires specific skill set and professionals in several different areas, Design, ShareaPoint development, and web development. The rewards at this level are at the highest. If you have ever wanted to create a site that looks completely like it is not SharePoint, well, this is what it takes. 

 

The question I get asked sometimes is what is the difference between Themes and CSS? They seem to do the same thing right? Well, yes and no. While they both change color schemes, CSS has the ability to define Images and sizing of areas and effect of content. CSS is much more powerful than Themes. 

    Key Differences to Understand

Themes define 12 Theme Colors and 2 Fonts available for SharePoint 2010. The customizations in Themes that is done on Office Products like Power Point or Office produce a file of extension .THMX that define the color schemes and can be applied to a site. The theme definitions are imbedded in a way that they define a css customization to Replace. Essentially themes replace existing CSS.

CSS allows developers to definite styles, images and colors to anything on the page, not just colors. The key difference to understand is that a Custom CSS can be an Alternate CSS. This means that there is a hierarchy of CSS that is applied to a SharePoint Site. The Custom CSS is applied last so therefore any definitions to styles that are also defined in the corev4.css are overridden. This is essentially the difference between the two.

I know there is a lot that can be said about branding, specially from the technical aspect of things but I hope this has been an informative introduction to branding. Understanding effort, skill set and will help you to decide which is best for you. Some extras I want to share in closing.

    Extras

You might implement a CSS and Theming solution together to give you the flexibility and the branding look and feel you are after. The point here is that sometimes it's not one or the other. Sometimes it's a combination of the two.

There are several master pages that come out of the box, one of which is called "minimal.master". This is NOT the 'minimal' master page that developers were used to in SharePoint 2007. The 'minimal.master' page is meant to use for use with applications that require extra real estate. If you wan t to create a new Master Page you have 2 options: Create a copy of the existing 'default.master' and edit what you want to get the design you are after, or start from scratch! I find it easier to start from scratch so I work off of these master pages. This includes all the SharePoint controls and other extra dependencies. Download a 'minimal' master page you can start with!

Happy Branding!

 

 

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Saturday, May 07, 2011 3:46 PM | Feedback (2)
The Beauty of Great Looking SharePoint UX

This pas week, the company I work for re-launched our external facing Internet site, complete powered by SharePoint 2010! Check it out at www.imaginets.com.

 I get two concerns when clients look at doing something like this, either internally or externally:

  1. You can't really get a great looking site with SharePoint.
  2. We can't justify a great looking site.

Well if you facing the same issues consider the great looking site that was put together by some very talented guys. If you think it can't be done well, here is one example. Now, SharePoint doesn't look like this out of the box, but consider the capabilities of SharePoint: Web Content Management features that allow the Marketing team to publish content as quickly as they can come up with it. To envision ideas and be able to make them happen without having the restrictions of the technology or the complete and exhausted effort of an IT department. The features to allow your teams to do that is already there, and if you put a great looking design around it, the sky is the limit!

In terms of justifying a great looking site, consider the upside to the amount of 'buzz' we've received as an organization around our new, great looking site. I know that part of this is also because we do SharePoint Work and it showcases an area of our expertise but social media is an incredible thing these days. This is one part of our social media strategy and some organizations just don't understand how this can be part of our social media strategy.

  If you are looking to understand a Social Media Strategy for your clients or organization and need some help contact Imaginet Resources Corp.

 What about Internal sites, department portals, and document management sites? where is the upside to a great looking site? How do we justify it there? Well, I have been part of many projects and most of the time when we come in, we hear the same story. The client has installed SharePoint but it was hard to drive buzz and there wasn't much adoption internally. The result is a mix of people working on SharePoint and some working of file shares. There might be more issues around adoption than just UX but if part of your internal portal roll out includes a great User Experience (including a beautiful designed site) it will definitely effect adoption.

  If you are looking to get an idea of what it takes to build a great looking site look for my next blog post where I will talk about design options in SharePoint 2010.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Saturday, May 07, 2011 1:46 PM | Feedback (1)
Monday, April 11, 2011
Enterprise Library 4.1 Fun!

I am working with a client to upgrade enterprise libraries in current code that they use. Specifically upgrading InfoPath 2003 Managed Code. Here are some things I learned while doing their upgrade:

1) Custom Sink = Custom Trace Listeners

      Enterprise library 1.1 or whatever the earlier version is has a Logging Block that allows you to create custom logging functionality. They were called Custom Sinks, well they are now called custom Trace Listeners in 4.1 and later. I can't say what 3.0 called them as I only started working with 4.1. This is not a huge deal except that the configuration documentation that was put together is not the same. Not only that but the old Custom Sink code overrides the following methods:

public override void Initialize(ConfigurationView configurationView)0

protected override void SendMessageCore(LogEntry logEntry){}

The new trace listener overrides the following:

public override void TraceData(System.Diagnostics.TraceEventCache eventCache, string source, System.Diagnostics.TraceEventType eventType, int id, object data)

public override void Write(string message) //along with several overloads

public override void WriteLine(string message) //along with several overloads

        If you are doing what I was doing, which was updating the Enterprise library to 4.1 or later then you will have issues with the new methods and inheriting class. You will have to inherit from "CustomTraceListener" and you can basically think of the old "Initialize" as the "Tracedata" method, and the old "SendMessageCore" as the Write and "Writeline", methods.

2) Attributes are Easier to Retrieve

      You might want to configure Attributes through the Configuration Files. The easiest process is to use the configuration tool that comes with the Enterprise libraries. The only reason I mention this is because I noticed a bunch of code in the old Custom Sink that seemed to retrieve the configuration information of the calling or using Application and get the Attributes. This is easier to retrieve than before. In the old "initialize" which is now , "TraceData", simply access the derived properties like so:

this.Attribibutes // this will give you an IDictionary<string, object> . All the configured attributes are there for you!

3) Inconsistent References will hurt you!

    I don't want to regurgitate what someone else already posted about but I used references in the GAC for the custom Trace Listener and then the calling application referenced the Signed assemblies or Unsigned assemblies somewhere else. Anyway, you will get errors like the following:

 "Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)"

Well this would appear that one of it's dependencies is not able to be loaded right? Well, maybe under the covers that's what is happening but the reason this happens is because you might be referencing different Enterprise library dll's. See this post for guidlines

Hope this helps someone!

Update: you might be asking why I didn't just use Enterprise Library 5.0? It is because Windows Server 2003 is not supported with the 5.0 version.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Monday, April 11, 2011 5:01 PM | Feedback (0)
Monday, April 04, 2011
Windows 7 or Windows Server 2008?

   I am in the proccess of putting together a demo machine. i arleady have a Windows 7 VM with the essentials for SharePoint Deveopment. But I spent some part of the weekend putting together a demo machine and after some thinking I decided to share some points that you might want to consider when putting together a Development or Demo machine as a SharePoint Developer\Consultant. I also welcome any comments and opinions or rebuttles to any of these points.

   I spent some time and put together a WIndows 7 Machine, with SQL Server 2008 R2, SharePoint Designer 2010, Visual Studio 2010, Office 2010, I was all set , untill....it came to installing SharePoint 2010. These are some of the things to consider when going Windows Server 2008 or Windows 7:

  •       Single Server vs Stand Alone - Stand Alone is one of the default install configurations as part of the SharePoint Installer. This installs SQL Express with SharePoint 2010. What I was really after is a Single Server environment. I want SQL Server 2008 R2 and SharePoint 2010 Installed, in one Server! If you want to install a Single Server environment you will need Domain Accounts for SharePoint Configuration. There are several really great posts that outline how you can get around this issue and install SharePoint on a Windows 7 machine while getting around this domain account issue.
  •        Domain Accounts - If you are trying to build a dev environment or a demo environment that you would like to simulate or replicate what a productionn environment then you might want to use Domain accounts. Most of my development in SharePoint 2007 was on a Windows Server environment that used default accounts and I faced so many issues with security. Ultimately Customizations that I developed in that environment didn't always work in production. This was a deal breaker for me in 2010! Ultimately you cannot make a windows 7 environment a domain control, or am I missing something?
  •        What is the major advantage to Use Windows 7 anyway? - This is an area that maybe others have great reasons why they would prefer Windows 7. Ultimately WIndows 7 is a desktop OS not a Server OS. It is great! I love my Windows 7! but utlimately I don't use my VM or demo machine as a desktop. I use it for SharePoint Development. One of the main concerns around using WIndows 7 (for me) is how bulky it would be. WIth all the software installed how much more resources will I need?
  •        You have to Install SharePoint Anyway! - If you haven not gotten down to developing in SharePoint 2010, you still need SharePoint installed , even on a WIndows 7 Machine! so now you add more bulk to your Desktop experience. Yes, maybe for some developers that are dabling with SharePoint Development this is a great option.  Usually I would add SharePoint Foundation and not the full blown version of SharePoint Server. Think of how bulky it would be to add the full blown SharePoint Server on a desktop OS??? Why would you ever want to do that? I need some help understanding where the advantage is here. I just don't see it.

Ultimately thse are the facts:

  • Windows 7 is not the Recommended OS in Production Environments. My point here is, I am going to try to simulate production as much as I can.
  • A Server will give you a Domain Control (Domain Accounts), Full blown SQL Server Installation that is supported, and a more realistic production configuration.
  • I will use SharePoint Server as a Development and a Demo Environment and not as a Desktop Experience.

 

    I should say that the only reason I can see why a developer would want SharePoint on Windows 7, is when you are a developer with Windows 7 already installed and most of your time is spent doing other development. It's a nice convience to be able to develop for SharePoint and just install some extras. The extras being...SharePoint Foudation and Sql Express, at the very least.

    These are just some of the reasons I can come up with. I have till now, been using VM Ware Fusion on my Macbook Pro and have installed SharePoint Foundation 2010 and developed with Visual Studio 2010 Ultimate. It has been great but I need SharePoint Server to run demos showcasing the full SP2010 features. It been great so far as a development VM but not necesarily as a demo or a Intense SharePoint Development Machine. 

    If you have reasons you like Windows 7 instead of Windows Server 2008 , please let me know. My mind can be swayed, but for now, I threw away my Windows 7 Machine that I spent this weekend building and re-building a SharePoint 2010 environment on Windows Server 2008. Looking forward to my new demo machine!

Juan

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Monday, April 04, 2011 7:23 PM | Feedback (0)
Tuesday, March 29, 2011
Upgrading SharePoint 2007 Projects to SharePoint 2010

I recently did some training for a client and one of the topics that came up was upgrading existing 2007 code to SharePoint 2010 Projects. I just wanted to share some of the issues that came up and the discussion that might be usefull to others.

If you developed customizations for SharePoint 2007 you either Visual Studio 2005/2008 VSeWSS 1.1/1.2/1.3   or you used WSPBuilder. A lot of fellow SharePoint MVP's and experienced SharePoint Developers used WSPBuilder. I personally prefered it over the VSeWSS for the flexabilty I had to deploy and build SP Projects. Well the problem that you face now whichever route and tool you took to develop, is how to upgrade those projects.

The following describes the Visual Studio Evolution and the SharePoint extensions. The Isue we face now is that VS2010 does not need any extra extensions for ShrePoint Projects. So we can't just upgrade the project and expect it to work in VS 2010 as the project templates that were part of the VSeWSS 1.1/1.2/1.3 are not part of the VS2010 product.

 

WSPBuilder Project Upgrades

  I must admit I have yet to really explore upgrading WSPBuilder projects but there is a VS2010 plugin if you still prefer to use WSBuilder for developing SharePoint 2010 customizations and if you want to use VS2010 to develop SharePoint 2007 customizations. You can find it on Codeplex. Unfortunately it appears it is still in beta and it has been for some time now. This topic is just out of scope for this post. When I dig into this I could post something, as it appears there is not much out there on this area.


VSeWSS project Upgrades

 I looked at upgrading options that are available with VSeWSS and you really have 1 with Visual Studio but you can download an extension for a second option. I will discuss the difference now.

  Visual Studio 2010 includes a Project Template "", that will import a WSP and bring it into visual studio. The obvious advantage to this is that you can take any WSP and bring in the contents into VS2010. I was fully expecting it to work and it does but...all it does is import the contents...the CONTENTS I thought it would magically turn a "DLL" and setup all the source code in the project. But what you get is this:

This is an example of a trial web part project that was put together in VS2008 with VSeWSS 1.3. There are some recognizable issues here. First, there is no source code! it simply has a dll that is now one of the items in the my SharePoint Project. And also the Webpart  xml and .webpart file are included as a Module. So the webpart isn't really treated as a webpart, but simply as files to upload to the target environment.  This kind of misses the mark.

 

The second option you have is to import the VSeWSS project but it is an extra download you can find it here. It will install an extra template in Visual Studio 2010 that will look like this:

With this download you will be able to import your VS2008 Project and import it into VS2010. This is not an import of a WSP it is an upgrade of the project. So you will see the source code and the artificats included. There is still a bit of re-working you have to perform to get it to look like any SharePoint 2010 Project but you are better off with this import than you were with the WSP import. To be fair, I don't think the WSP Import was really meant for upgrades.

The one issue that sparked this entire blog post was that during the Import of the VSeWSS project we faced an issue and it stemmed from this screen:

When you import the VSeWSS you will get to this screen. This will configure your artifacts to be deployed to the above location. It is important that this be the ROOT site collection. What we had was a site collection outside of the root and on top of that, NO root site. This import produced an error, "URL cannot be Null" and we couldn't figure out why. Becasue the documentation that came with the extra download had screenshots and examples of the root site configured as part of the above screen, so we made the appropriate changes to have the root, IT WORKED!!!

So in all, there are some options for you. This ultimatley is not super detailed it is meant to give you some background and some high level information about some issues and also some quick direction and download links. Hope it helps.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Tuesday, March 29, 2011 8:48 PM | Feedback (0)
Friday, March 04, 2011
Perspective Is Everything

Sitting on a window seat on my way back from Seattle I looked out the window and saw the large body of water. I was reminded of childhood memories of running as hard as I could through burning hot sand with the anticipation of the splash of the ocean. Looking out the window the water appeared like a sheet draped over land. I couldn’t help but ponder how perspective changes everything.

 Over the last several days I had a chance to attend the MVP Summit in Redmond. I had a great time with fellow MVP’s and the SharePoint Product Group. Although I can’t say much about what was discussed and what is coming in the future, I want to share some realizations I had while experiencing the MVP summit.

 The SharePoint Product is ever-improving, full of innovation but also a reactionary embodiment of MVP, client and market feedback. There are several features that come to mind that clients complain about where I have felt helpless in informing them that the features are not as mature as they would like it. Together, we figure out a way to make it work and deal with the limitations. It became clear that there are features that have taken a different purpose in the market place from the original vision. The SP Product group is working hard to react to these changes in vision and make SharePoint better for real life implementations.

 It is easy to think that SharePoint should be all things to all people. In reality there are products that are very detailed in specific composites, they do this one thing well but severely lack in other areas.  Its easy sometimes to say, “What was Microsoft thinking with this feature?” the Product group is doing all they can to make the moving pieces better and dealing with challenges with having all of them work together.  Sometimes the features don’t fully embody the vision because of the many challenges, but trust me when I say the product group is really focused on delivery and innovation.

 As I was speaking with a fellow MVP throughout the session, we spoke about the iPad 2(ironically announced this past week during the MVP summit) and Microsoft’s possible product answer; I realized the days of reactionary products from MS is over. There are many users that will remember Vista and the painful execution in that product, but there has been a lot of success in Windows 7. There was no rush for a reactionary answer to the Nintendo Wii, as a result a ground breaking and game changing product was brought to market, the XBOX –Kinect! I can’t say much here, but it’s safe to say, expect innovation, and execution of products and technology that will change the market instead of react to them!    

  There are many things I learned and I would love to share that have to do with perspective, technology, etc… but this is far as I can go in details. This might not be new to you or specifically the message that was shared during the summit. These are just my impressions of the event and the spirit of future vision. Great things ahead!

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Posted On Friday, March 04, 2011 6:39 PM | Feedback (0)