First Full 2010 Configuration Round-up

As I’ve been deep in the world of Project Server 2010 configuration this week, I thought I’d share a quick round up of the cool things I have noticed:

  • Ability to edit custom fields in PWA without Pro client running.
  • Project and Task Custom Fields update when project edited in PWA (Except for the first time usually).
  • SharePoint 2010 Workflows have been updated, they are quite nice; for example the approval workflow is now able to do multi-level serial / parallel approvals, etc.
  • Saving new Workspace templates is so so easy now! Just save site as a template, then go to your project type and select the new template!
  • PDP’s rock – ‘enuf said.
  • BI Centre is great, but so much more time will be needed (at least at first) in getting the reports you need. The flip side is that the reason why so much more time is needed is because you can get so much more out of them!

More to come in the coming days / weeks as it looks like client number 2 is going to kick of a 2010 implementation in the next week or so. Exciting times..

Share and Enjoy !

Shares

Project Details Web Part Error When Using Host Headers

This was an issue that I spent a good amount of time working with a customer on; when you add the Project Server web-parts to other SharePoint sites in other web applications, in some cases the Project Center / Project Details webpart will give the following error always:

"Project Center cannot access the project(s) you are trying to view. It is most likely that you either don’t have permissions to view the project, another user has deleted this project(s) before you were able to view it or that another user is in the process of publishing the project."

clip_image001

Quick note: The webpart can be added to other sites using the steps discussed here by Christophe.

After a long investigation the problem was found to be a repeatable issue caused by the use of Host Headers in the Alternate Access Mapping configuration of the SharePoint farm.

In short; when the PSI URL configured in the .webpart XML web part configuration file and / or the site in which the webpart has been added uses a host header other than the NETBIOS name, then this problem will occur.

All other Project webparts work without issue, Reminders, My Tasks, etc although I have not tried them all, I might guess that the Resource Center webpart would have the same issue.

Eventually we confirmed with Microsoft support that this issue is a bug and no hotfix is currently available.

In terms of workarounds, not many good ones exist. I tested adding a second Alternate Access Mapping pointing to the NetBios name, however this only works if all clients use the non-hostheader address, in other words:

Site: "Project XYZ Workspace" accessed via http://servername/site/projectxyz will work BUT when accessed via http://hostheader/site/projectxyz (which is the same site) it DOES NOT WORK. That obviously has major drawbacks.

In the end in my case our solution was to move the PWA site into the other web application.

I hope this helps someone out there.

Share and Enjoy !

Shares

Project / SharePoint 2010 Launch date announced!

The official date(s) has now been announced on the Office 2010 Engineering Blog:

In addition to the Office 2010 Technology Guarantee, were excited to confirm that Office 2010, SharePoint 2010, Visio 2010 and Project 2010 are on schedule and will release to manufacturing (RTM) next month.

For businesses, we will launch the 2010 set of products, including Office 2010, SharePoint 2010, Visio 2010, and Project 2010 worldwide on May 12. To find out more about the Worldwide Business Launch, visit http://sharepoint.microsoft.com/businessproductivity/proof/pages/2010-launch-events.aspx.

For consumers, Office 2010 will be available online and on retail shelves this June. Until then, you can get the Office 2010 beta at www.office.com/beta.”

Looks like May the 12th will be a big day this year, time to start getting ready!

Share and Enjoy !

Shares

SharePoint 2010 Ignite Sydney

I was meant to spend a couple of days this week at SharePoint 2010 Ignite in Sydney but unfortunately it was cut short after the first day, regardless though below I have my notes from the first day of the things that I thought were either worth remembering or of particular relevance to Project Server.

Day 1:

Overview / Architectural Changes

  • Groove is now called SharePoint Workspace.
  • Remote Blob storage allows content data to be stored externally, ie in a file share or 3rd party document management system (via add-in).
  • Significantly larger database size support (300GB+).
  • Media streaming (via chunks of data not actual steaming) now possible for Video / Audio.
  • Multi-tenancy allows for improved sharing of a farm between different entities, ie in a hosted environment when multiple companies share one farm.
  • Cross-farm Service Applications allows for sharing of some applications between farms (But not Project!).

    Business Continuity Management

  • SharePoint Config database now can be backed-up and restored.
  • Backup to XML of Config database possible, restore of config only is also possible (extra steps would be required for the content).
  • Export of sites and lists from central admin now possible, including from unattached database.
  • Restore of individual site from full farm .bak file supported via PowerShell.
  • SharePoint is now mirror aware allowing the configuration of a “failover database server” for each configured database.

    Operations – Monitoring

  • Managed accounts allow for service account passwords to be automatically managed, e.g. automatic complex password change on schedule.
  • Logging database now available, can capture ULS, Event and other logs as well as performance stats.
  • Text file trace (ULS) log file now compressed by default, and log flood protection enabled by default.
  • PowerShell commands for log management, one nice one is: “Merge-SPLogFile” which combines all trace log files from servers in the farm.
    • Another useful example to get the recent ‘Project’ logs:

      get-splogevent -starttime (get-date).addminutes(-15) | where { $_.Area -like '*Project*' }

Unfortunately I we can’t distribute the slides videos shown, but keep an eye on the MS SharePoint Team blog as I’m sure when they finish the round of sessions you will then be able to download them all to see the rest of the content.

Share and Enjoy !

Shares

PowerShell Warmup Script 2

While diving deeper into the SharePoint 2010 PowerShell command-lets I realised that my last blog using a borrowed script based on 2007 was in need of a major update for 2010, so see here a version doing the same thing but with no use of STSADM (and thus no need to run as admin in 2008).

Warmup2.ps1

############################################################################
#WarmUp2.ps1 - Enumerates all web sites in web applications in a 2010
# SharePoint farm and opens each in a browser.
#Notes:
#-"get-webpage" function borrowed from:
# http://kirkhofer.wordpress.com/2008/10/18/sharepoint-warm-up-script/
#
#Assumptions:
#-Running on machine with WSS/MOSS 2010 installed
############################################################################
 
Add-PsSnapin Microsoft.SharePoint.PowerShell
$extrasitelistfile = 'c:ToolsWarmupwarmup-extrasites.txt'
 
function get-webpage([string]$url,[System.Net.NetworkCredential]$cred=$null)
{
  $wc = new-object net.webclient
  if($cred -eq $null)
  {
    $cred = [System.Net.CredentialCache]::DefaultCredentials;
  }
  $wc.credentials = $cred;
  return $wc.DownloadString($url);
}
 
#This passes in the default credentials needed. If you need specific
#stuff you can use something else to elevate basically the permissions.
#Or run this task as a user that has a Policy above all the Web
#Applications with the correct permissions
 
$cred = [System.Net.CredentialCache]::DefaultCredentials;
#$cred = new-object System.Net.NetworkCredential("username","password","machinename")
 
$apps = get-spwebapplication -includecentraladministration
foreach ($app in $apps) {
  $sites = get-spsite -webapplication $app.url
  foreach ($site in $sites) {
    write-host $site.Url;
    $html=get-webpage -url $site.Url -cred $cred;
  }
}
# Warm up other sites specified in warmup-extrasites.txt file (such as SSRS)
 
if (test-path $extrasitelistfile) {
  $extrasites = get-content $extrasitelistfile
  foreach ($site in $extrasites) {
    write-host $site;
    $html=get-webpage -url $site -cred $cred;
  }
}

The script still retrieves a list of all sites in all web applications in the farm (including Central Admin) and additionally retrives a list of sites in a text file by default located in “C:ToolsWarmupwarmup-extrasites.txt”
 
Warmup-extrasites.txt
http://servername/ReportServer
Enjoy!

Share and Enjoy !

Shares