Tuesday, July 31, 2012

Installing SharePoint 2010 pre-SP2 on Windows Server 2012

Now that Windows Server 2012 has hit RC, there is plenty of interest in being able to install SharePoint 2010 on Windows Server 2012.  One of the reasons many system administrators will find Windows Server 2012 enticing is due to the changes in IIS 8.  Perhaps two of the most useful features in IIS 8 are the ability to specify host headers with SSL Web Sites as well as the ability to share SSL certificates across IIS Web Servers by pointing them to a common shared file path.

In any case, there have been plenty of articles already written on how to install SharePoint 2010 on Windows Server 2012, so I will simply share them here:






If you want to install on Windows 8 RTM or Windows Server 2012 RTM, it is worthwhile to take a look at this article:

FYI:  If your Windows Server 2012 machine does not have Internet connectivity, you will need to look at this article: http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx

Apparently, Windows Server 2012 uses a "Feature On Demand" installation and therefore attempts to download and install features as they are needed.  Therefore, if they are not available via connectivity over the Internet, they will fail to install.  So, instead you have to point Windows Server 2012 to the ISO image media in order to get the necessary Windows Features to install.

Sunday, July 29, 2012

Mocking for SharePoint

When it comes to mocking objects for SharePoint, you now have a few options available to you:

  1. Microsoft Moles
  2. TypeMock Isolator
  3. Telerik JustMock

Microsoft Moles

This free isolation framework from Microsoft was first introduced shortly after the release of Visual Studio 2010 as an add-in/extension to assist developers in creating their Unit Tests.  One of the unusual characteristics of this mocking library was its ability to mock SharePoint objects amongst other various pieces of functionality.  Unfortunately, however, this isolation library is no longer being actively developed with the release of Visual Studio 2012.  The replacement to it will be called "Fakes" and is currently targeted to only ship with Visual Studio 2012 Ultimate Edition.

TypeMock Isolator

This framework has long been known for its ability to mock SharePoint objects, however, its relatively high price tag ($799) has dissuaded many SharePoint developers looking for cheaper alternatives.  Even though TypeMock Isolator offers a licensed version of Isolator for SharePoint at a significantly cheaper price ($249/yr), it requires developers to then adopt additional mocking libraries as part of their Unit Testing Development Strategy to support the features not available in the Isolator for SharePoint mocking library.  

Telerik JustMock

Telerik JustMock is a relatively new contender in the playing field for mocking libraries for SharePoint.  JustMock also offers a free version called JustMock Lite which offers many of the same features as the licensed version that may be suitable for smaller development shops.  It is a particularly appealing alternative to TypeMock Isolator because of its much smaller price tag (currently only $399) as well as its backing from a company such as Telerik which makes an impressive suite of other tools such as Telerik RadControls and Telerik JustDecompile.  For development shops that have already been using Telerik development tools, JustMock is already bundled with the Premium and DevCraft Ultimate development suites.

Saturday, July 28, 2012

SQL Server 2008 R2 SP1 Cumulative Update required for TFS 2012

I was installing TFS 2012 RC on one of my servers that already had SQL Server 2008 R2 SP1 installed and I was quite surprised to discover that I could not install TFS 2012 on my system!

I was presented with this dialog:

So, I had to now dig up the Cumulative Updates for SQL Server 2008 R2 SP1 and download the most recent update (even though only Cumulative Update 1 is required).  So I found this article listing all of the CUs for SQL Server 2008 R2:

Well, after installing Cumulative Update 6, I was able to pass the Readiness Check:

Visual SourceSafe Upgrade Wizard introduced for TFS 2012

For those of you have had to migrate from Visual SourceSafe to earlier releases of Team Foundation Server, you probably know how painful it was to migrate using VSSConverter and manually modifying XML Files to get everything properly working:  http://msdn.microsoft.com/en-us/library/ms181247(v=vs.90).aspx

However, that is all changing with the release of Team Foundation Server 2012 with the introduction of a Visual SourceSafe Upgrade Wizard built right into the Team Foundation Server 2012 Administration Console:

For some reason, the link is broken to actually download this tool in the Release Candidate version, but you can see what the tool supposedly looks like from here: http://blogs.msdn.com/b/jchiou/archive/2012/07/25/2012-visual-sourcesafe-upgrade-wizard.aspx

NOTE: This tool supports migrating to either TFS 2012 or TFS 2013 even though Visual Studio Gallery only officially mentions TFS 2012 support.

With the end of life for Visual SourceSafe rapidly approaching, Microsoft is attempting to migrate all of their current Visual SourceSafe users and developers onto Team Foundation Server 2012 in a relatively painless migration process.

It should be exciting to see user experiences with migrating from VSS to TFS 2012 using this new GUI Visual SourceSafe Upgrade Wizard!

Here are guidelines and instructions on using the Visual SourceSafe Upgrade Wizard: http://msdn.microsoft.com/en-us/library/vstudio/jj612883.aspx

Friday, July 27, 2012

Upgrading a standalone installaton of TFS 2010 to SharePoint 2010

As many people already know, the default Single Server installation of Team Foundation Server only installs Windows SharePoint Services 3.0 (the free equivalent of SharePoint 2007).

Of course, this does not allow users to leverage the various new capabilities offered in SharePoint Foundation 2010.

Fortunately, though, it is easy enough to upgrade a WSS 3.0 installation to SharePoint 2010 using the Visual Upgrade process.

  1. Install the Software Prerequisites for SharePoint Foundation 2010
  2. Install SharePoint Foundation 2010
  3. When you begin installing SharePoint Foundation 2010, you will see a dialog indicating that the installation will upgrade earlier versions.
  4. After the installation completes, you will have to launch the SharePoint 2010 Products Configuration Wizard
  5. Once it launches, you will have to decide how to perform the Visual Upgrade.  To play it safe, I selected the option to "Preserve look and feel of existing SharePoint sites, and allow end users to update their sites' user experience."
  6. After that screen, you will have to enter a SharePoint Farm passphrase.  It is VERY IMPORTANT that you remember the passphrase or note it down somewhere (preferably in a Password Keeper tool such as KeePass).
  7.   Once the configuration begins, you will be prompted with a dialog prompt stating that you must install the upgrade on all SharePoint servers in the Farm.  Since we are dealing with a single server installation, we can ignore this dialog message.
  8. Since the Upgrade process runs through a SharePoint Timer Job, you will have to continue monitoring the Upgrade Progress in Central Administration through the "Upgrade status" menu item.
  9. Once the Upgrade Status has Succeeded in Central Administration, you may have to add one or more   users to the Web Application User Policy to ensure that you have a valid Site Collection Administrator that can log into the site successfully.
  10. Now log into the Team Project Portal Site Collection.
  11. To upgrade the User Interface of the Team Project Portal to match the look and feel of SharePoint 2010, from the Site Actions menu, select Visual Upgrade
  12. Select the option to Upgrade the User Interface
  13. If the upgrade is successful, you should now see the new SharePoint 2010 look and feel for your Team Project Portal.

Unable to view TFS Reports in SharePoint Project Portal

After a fresh single server installation of Team Foundation Server 2010, I launched my Team Project Portal and was greeted with this message:

"Cannot create a connection to data source TfsOlapReportDS (rsErrorOpeningConnection)"

Well, I re-started my server and tried accessing it once more--still no luck!

So after doing some research on Google, I discovered that the SQL Server Analysis Services may not be running.

So, I went into the SQL Server Configuration Manager and sure enough, even though the service was set to Automatic, the service was NOT ACTUALLY RUNNING!

So, in any case, I started the service and lo and behold my reports began displaying once more in my Team Project Portal dashboard!  Yeah!!

Expanding VMWare Disks

If you use VMWare Workstation and regularly develop with VMs, odds are you will need to expand your VMWare Workstation disk at some point in time.

Unfortunately, there is one MAJOR limitation with expanding VMDK files--you cannot have any snapshots!! 

So, if you DO have snapshots in place, you can do one of 2 things:
  1. Clone the existing state of the virtual machine to a new virtual machine
  2. Delete all existing snapshots
Either way you decide, you will eventually have to expand the VMWare Disk to accommodate additional files, programs etc.

So, there are essentially 2 ways to accomplish this:

  1. Use the VMWare Workstation Console
  2. Use the command line (or preferably PowerShell) to accomplish this.
First and foremost, the way to expand the VMWare Disk through the GUI Console is the following:

  1. Open the VMWare Workstation console
  2. Open the target virtual machine
  3. Click on Edit virtual machine settings
  4. Select the Hard Disk for the virtual machine
  5. On the right hand pane, hover over the Utilities menu and select the Expand menu item
  6. When the Expand dialog opens, enter the new target disk size
  7. Wait until the disk is fully expanded

The main problem with the above approach is that the Expand process is modal and thereby blocks all other activities within the VMWare Workstation window preventing the launch of any additional virtual machines while that operation is taking place.

So, of course, a more appealing approach is to instead use the command line utility in conjuction with PowerShell.

The tool responsible for expanding VMWare Disks is called vmware-vdiskmanager.exe which can be found at this path:  "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" 

The sample command can be found by entering /? at the command line:

vmware-vdiskmanager.exe -x 36GB myDisk.vmdk

$vdiskMgr = "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe"
$srcDisk = "C:\Virtual Machines\Windows2K8R2\Windows Server 2008 R2 x64.vmdk"
$expandSwitch = "-x"
$targetSize = "80GB"

#Run VMWare Expand Disk Command
Write-Host $vdiskMgr $expandSwitch $targetSize $srcDisk
& $vdiskMgr $expandSwitch $targetSize $srcDisk

Monday, July 23, 2012

AvePoint DocAve Storage Manager vs. Metalogix StoragePoint

If you are currently evaluating 3rd party vendor support for SharePoint, you may already know that there are 2 MAJOR vendors in the marketplace that support RBS (Remote Blob Storage).

Of course, they are AvePoint DocAve Storage Manager and Metalogix StoragePoint.

For the most part, these 2 products have comparable feature sets.

Therefore, I will just provide a small comparison table that I compiled that differentiates the most salient feature differences between the 2 products that I have discovered:

Feature AvePoint Storage Manager Metalogix StoragePoint
Supports Multiple SharePoint Farms X Requires Metalogix StoragePoint Replicator to support
Provides a Centralized Management Console X
Provides additional security for managing RBS separate from SharePoint Farm Administrators X
Installs as a Farm Feature X
Fast and easy to install X
Requires additional hardware/servers to deploy X
Supports Claims Based Authentication for RBS Management X
Supports encryption of BLOBs X X
Provides variety of storage mediums including SAN, NAS and Cloud Storage X X
Provides configurable storage rules X X
Support both EBS and RBS X X
Support both SharePoint 2007 and SharePoint 2010 X X
Provides support for recovery of items back to SharePoint X X
Additional SharePoint products from same vendor integrate into same unified User Interface X Products have separate and completely different User Interfaces
Includes Data Protection/Backup tool licensing Licensed as a separate product X
Licensing Licensed by number of overall servers in the SharePoint Farm Licensed by number of WFEs and amount of storage utilized

As you can see from the table above, the major distinguishing feature between the 2 products is Doc Storage Manager's capability to manage multiple SharePoint Farms from a single Centralized Management Console.  This is due to the major architectural difference between the 2 products--while Metalogix StoragePoint is deployed as a SharePoint Farm Feature, AvePoint DocAve Storage Manager is installed and deployed separately from SharePoint.  It then uses DocAve Agents to communicate with the Storage Manager servers to provide RBS management of the various SharePoint Farms.

Of course, the AvePoint solution may be more expensive than the Metalogix StoragePoint solution overall since it requires the deployment of additional hardware or VMs to provide management and maintenance of the various SharePoint Farms as well as licensing for ALL servers in the SharePoint Farm, but it is certainly a convenience if your organization is managing numerous SharePoint Farms and environments.  While Metalogix StoragePoint offers a similar capability through use of its Replicator for SharePoint tool, it is an entirely separate product, whereby the functionality to manage multiple farms is built into the fundamental architecture of the AvePoint DocAve Storage Manager product.

If you are conducting your own evaluation of these 2 RBS providers, the above points should definitely be considered as part of your overall evaluation.

However, depending on your business needs and budget constraints, either product is a suitable candidate for handling your SharePoint RBS Storage requirements!

Sunday, July 22, 2012

Things to consider for implementing and deploying SharePoint RBS

  1. RBS stands for Remote Blob Storage.  The premise of RBS is that it is much faster to render large BLOBs( Binary Large Objects) from a file system rather than from a database (such as the SharePoint Content Database).  Therefore, by moving this content out of the SharePoint Content Database, you not only shrink the overall size of your content database, you are able to also move that content on external file stores such as SAN, NAS or DAS.  You can read more about SharePoint RBS here:  http://technet.microsoft.com/en-us/library/ee748649.aspx
  2. As of SharePoint 2010, the functionality for providing this capability actually stems from SQL Server rather than SharePoint itself.  This was not the case with SharePoint 2007 in which this functionality was provided via EBS (Enterprise Blob Storage).
  3. Since the functionality is provided through SQL Server, a prerequisite for support RBS with SharePoint is to be running SQL Server 2008/2008 R2 Enterprise Edition (or Developer Edition)
  4. There are 3 methods (essentially) for supporting RBS with SharePoint:
  5. The "sweet spot" for moving BLOBs out of the SharePoint Content Database ranges anywhere from 256KB to 1 MB.  That is to say, any content smaller than around 1 MB is likely to have better performance rendering directly from the database rather than a remote file store.  Files larger than 1 MB (especially significantly larger files) will demonstrate more of a dramatic improvement by rendering from an external file store.
  6. The maximum file size limit for storing file content through SharePoint is 2 GB regardless of whether or not you are using RBS.  This is due to a 32-bit pointer limitation implemented in SharePoint 2010.  Therefore, if you intend to store files larger than 2 GB, you cannot surface this content through SharePoint directly.  However, if you do have this need, both AvePoint DocAve Storage Manager and Metalogix StoragePoint offer connectors which can display these large files from a remote file share and display them in SharePoint.  That is to say, the BLOB content is never uploaded and managed directly through SharePoint (has to be managed from the remote file system directly), however, it can still be displayed in SharePoint.
  7. Once you begin using RBS, this will also have to be factored into your backup and recovery strategy. Since all BLOB content is no longer being stored in the SharePoint Content Database, you will additionally have to make sure that you have backups of your remote file storage data in conjunction with your SharePoint Farm settings and databases.
  8. An advantage of using either 3rd party RBS solution is the ability to support multiple remote file storage mediums including cloud storage such as Amazon EC2 and Windows Azure.
  9. Both 3rd party RBS solutions also support the concept of "tiered storage".  This allows for less frequently accessed content to be moved to cheaper storage as the content ages or is less frequently accessed.
  10. Both 3rd party RBS solutions support the capability to use RealTime Storage or Scheduled Storage through the use of configurable rules.  RealTime storage moves the BLOBs directly to the remote file store as soon as they are added to SharePoint whereas Scheduled storage first stores the content in the database and then later moves it out to the remote file store at a later point in time based on the set of rules applied and the corresponding schedule.  As you can guess, however, Scheduled Storage will require greater maintenance on the content database.
  11. Both 3rd party RBS solutions provide a capability called "Orphan BLOB Retention".  This essentially manages what content remains on the remote file store when the content is deleted from SharePoint.  A deletion in SharePoint would thus result in "orphaned BLOBs".  That is content which continues to exist on a remote file store, but no longer has a corresponding pointer in the SharePoint content database.  These solutions can either delete the content from the remote file store or retain the content based on a set of configurable rules.  
  12. Both 3rd party RBS solutions provide the ability to encrypt the content on the remote file store.

Where is the Power button in Windows Server 2012

If you are looking for the Power button off of the Start menu in Windows Server 2012, you are out of luck!

Microsoft has decided to move the Power button off of the Start menu and into a "Settings" menu.  The Settings menu can be found as a new menu item adjacent to the Start menu when you hover your mouse over the uppermost right hand corner of the Windows Server 2012 screen.

Superfast installs for Windows Server 2012

When one normally thinks of installing a Microsoft OS from scratch, the typical time expectation is at least an hour or possibly more just to get the base OS up and running (even in a VM).

Well, Microsoft has definitely surprised us with the release of Windows Server 2012!  

A typical Windows Server 2008 R2 installation inside of a VM (such as VMWare Workstation or VMWare Player) will take about 45 mins to 1 hour.

However, when installing Windows Server 2012 RC, I was able to get my system up and running in with a base OS installation in around 15 mins!

As most developers or administrators know, the longest part of the installation is typically the "Getting files ready for installation".  I often wait 5-10 minutes or more just for the progress bar to go from 0% to 1% on Windows Server 2008 R2.

Well, Microsoft has done some super heavy duty optimizations in this area, because after roughly 5 minutes of the installation, the progress had already creeped along to 50% complete!

So while the "Metro-style" usability of Windows Server 2012 still leaves something to be desired, their superfast installations will definitely be a welcome new feature to most developers and system administrators.  Installing an entire OS in 15 minutes or less will save oodles of time that most of us can use towards all of the various other tasks that we have to complete throughout the day!

Friday, July 20, 2012

Sending e-mails from SharePoint with SMTP4Dev

If you want to avoid setting up an SMTP Server on your development machine or server just to test out e-mail functionality, you are in luck!

There is a free tool available on CodePlex called SMTP4Dev that allows you to do just that!  You can download the tool from here:  http://smtp4dev.codeplex.com/

Once you download and extract this tool, it runs simply as an executable within your System Tray.

You can first set the options in SMTP4Dev to provide the server name settings. (by default it will use localhost).  Of course, since SharePoint does not recognize localhost, you will have to provide the SMTP Server Name.

Once you have done that, you can go ahead and configure the SharePoint Outgoing E-mail Settings as you would normally:

Make sure you also disable Mcafee VirusScan settings for "Prevent mass mailing worms from sending mail"  (if you are using Mcafee VirusScan v. 8.7i or 8.8i)!

If all works as expected, you should see Messages appear in SMTP4Dev!

That should be all there is to it!!

Thursday, July 19, 2012

End of Silverlight for SharePoint 2013

Remember when you had to install the Silverlight plug-in in SharePoint 2010 just to be able to create new Lists and so forth?  Remember how annoying that was especially if you did not already have the Silverlight plug-in installed on your computer?

At least for me, it was doubly annoying because whenever I had to show someone how to perform any administration actions, chances were that they also did not have the Silverlight plug-in installed!

Well, fortunately, Microsoft wisely dumped the dependency on Silverlight in SharePoint 2013.  They have wholeheartedly adopted pure old HTML5 and CSS to be able to manage those administrative operations now.

I would personally like to know how this works on various mobile devices since Microsoft has definitely been tooting their own horn about how much better SharePoint 2013 supports mobile devices.

From an initial glance, it seems like it should work just fine.

I guess we will just wait and see how this functionality evolves over the coming months prior to the RTM release!

InfoPath 2013 gets a much needed refresh

For those of you familiar with InfoPath 2010 Designer, you probably knew how painful it was to work with an IDE that pretty much dated back to Visual Studio 2005, thus restricting all of the favorite features you have come to love with Visual Studio 2010.

Well, it appears that Microsoft got the formula correct this time, because this was the error message I received after clicking on the Code Editor (on the Developer tab) in InfoPath Designer 2013:

Well what do you know??  InfoPath 2013 utilizes the latest and greatest version of the IDE (looks like they have not re-dubbed it to Visual Studio 2012 yet....)

If you click on the link to download "Microsoft Visual Studio 11 for Applications", you arrive here: http://www.microsoft.com/en-us/download/details.aspx?id=30364

This is an add-in/extension for Visual Studio 2012 that allows you to develop code for InfoPath 2013 Forms!  What a concept!

Thank you Microsoft for finally giving us an IDE for InfoPath development that is not 2 releases behind the current version!

Wednesday, July 18, 2012

Configuring workflows for SharePoint 2013

If you have started experimenting with SharePoint 2013, you may have discovered that you cannot create SharePoint 2013 Workflows after a fresh installation of SharePoint 2013!

Instead, the only available workflows you get out of the box with SharePoint 2013 are SharePoint 2010 workflows!

Well, as you can read from this article, SharePoint 2013 uses a new model for developing workflows based on what is called the Windows Azure Workflow service: http://technet.microsoft.com/en-us/library/jj219638(v=office.15)

Therefore, in order to install and configure the Windows Azure Workflow Service, you have to follow the instructions provided here: http://technet.microsoft.com/en-us/library/jj163276(v=office.15)

Unfortunately, as is the case with most Microsoft documentation, there are elements missing from the configuration steps.  Most notably, there is no information or guidance given on how to use the Custom Settings (because nobody ALWAYS installs with Default Settings do they???)

I have provided screenshots of the Custom Settings screen which should be pretty self explanatory for the most part.  The only major piece I had to guess at was the "Certificate Generation Key" screen.  Based on the description, I figured it would be similar to the SharePoint Farm Passphrase and since it configured successfully, it appears that I was correct!

By far, my favorite features of the installation wizard were the ability to easily copy the settings and also save off the commands as PowerShell commands!!  What an amazing timesaver!  

Of course, since SharePoint 2013 supports .Net 4.0/.Net 4.5, I can easily use PowerGUI to run the Register-SPWorkflowService command:

To make sure you are running the correct PowerShell command, verify your IIS Bindings for port information.  In my case, I am running https on port 12290.  

If all worked correctly, you should now be able to see SharePoint 2013 Workflows available when you open SharePoint Designer 2013!

Office 2013 Preview

The number of articles and postings on Office 2013 are exploding across the web.

Here are some articles on the new version of Office 2013 that offer some significant details and screenshots for thos interested in learning what is in store for them in the new, upcoming Office suite:







Problems while installing SharePoint 2013 Preview

So with the recent release of SharePoint 2013, I decided to go ahead and install it.  Since I was just testing the waters, I decided to go ahead and simply install the Standalone installation of SharePoint 2013.

Of course, the first installation problem I encountered was during the installation of the software prerequisites:

After looking at the installation log file, I discovered the source of the error.  It was related to a failure in running the iisext.vbs script.  So I simply had to open up a command prompt window and run the command manually:

The next error I encountered was while running the Configuration Wizard:

Fortunately, someone had already encountered this issue and found a suitable workaround: http://tomblog.insomniacminds.com/2012/07/17/sharepoint-2013-standalone-installation-issue/

So I simply had to run the following command at a command prompt to get the configuration database created:
.\PSCONFIG.EXE -cmd Configdb create SkipRegisterAsDistributedCacheHost

Of course, as stated in the earlier article, there was a good chance that I would also get a failed to create Sample Data error message, and of course, I did!

Apparently, though, the Sample Data is not required for a functional installation of SharePoint 2013 so I went ahead and attempted to access Central Administration.  

When I went to Manage Web Applications, I was able to see that a default Web Application had been created for me.

After browsing to the web application, I noticed that I was able to select my Site Collection template.

After going through the standard group creation process, I was finally able to see my new SharePoint 2013 Team Site!