Wednesday, April 27, 2016

First look: #projectserver2016 installation first looks

** update 3 **
seems so far that creation of Root PWA sites doesn't work (sync issues in Project Permission mode).  I've written a post recently about this

Also _userviews are back... but only apply to the first Site in any Content DB.  See post 8 June 2016

** update 2 **
user sync issue is still happening on PWA.  not sure why as of yet....

** update **
I encountered a failure in the user synchronisation job in PWA which i think was atributed to creating the PWA HNSC site prior to creating the web app root site. whoops 
** end **


Project Server 2016 RTM first looks...........

Once you've installed SQL and SharePoint there are a few surprises for you under the hood of Project Server

Getting going

It is probably worth noting that the Project service is deemed "front end" in the miniroles for SP2016.  This is inline with my latter thinking on SP2013 and a welcome addition.  However i have gone Custom for my limited installation just for flexibility.


Licencing

to enable PWA functionality you must enable the Project Server licence via powershell (under UAC)
Enable-ProjectServerLicence -key "key string"


Creating your PWA instance
So hear you seem to have two choices.  The approach is to create a site using the template PWA#0 (so you get your menu items) and then enable the Project Web App feature sets.   

1) Create a PWA site as a Site Collection on a pre-created Web App 
2) Create PWA as a HNSC on a pre-created web app

Basically any site can be a PWA (which is interesting and to be explored i think).

I am currently testing HNSC approach as follows:

Firstly create a kerberos auth web application and setup your SPNs


Then create HNSC (where fe1 is the webapp name)

New-spsite "http://pwa" -hostheaderwebapplication "http://fe1" -name "PWA" -Description "Project Web App" -owneralias "Domain\user" -language 1033 -template "PWA#0"

Enable PWA features on the newly created site 

Enable-SPFeature -Identity 697c6b49-3dff-4981-9394-0a62632120ec -url http://pwa
(Note:  This must be done using an admin account with Powershell under UAC or certainly had to for me.  Trying to do this via the Manage Site Collection Features in Site Settings always returned an unexpected error relating to ULS:  Failed to get [Admin] access level connection string because current user is not an administrator on the farm

Set-spprojectpermissionmode -url http://pwa -mode ProjectServer

** update ** I found it a lot easier to use the following command for enabling the PWA features Enable-SPFeature PWASite -Url xxxxxxxxxxxxxxxx Also, make sure that your root web application site has been created prior to creating your pwa site as there is a risk of failure of the user synchronisation job An unexpected exception occured while processing queue messages of type PSPermissionSynchronizePWASite, Exception: System.ArgumentException: Trying to get name of an SPWeb at the root web app is not allowed.

** END **
some things to consider

1) Firstly the Content Database for the Web App being used will be converted to a ContentDB+PWADB schema when creating the PWA Site.  i guess you could get around this by locking down and creating secondary contentDBs just for PWA data. This is next on my tests as this could be worthwhile when looking at performance separation on DB IO (too early to tell)

2) MS state "it is not supported to directly query the Reporting schema (pjrep) when more than one PWA instance links to the same database.  Therefore the secondary/tertiary DB option may be more interesting


Databases:
this is where it's got interesting.  basically a wholesale re-engineering job has been done here. On first looks
1) some of the views are gone - anyone used to using MSP_EPMProject_Userview needs to think again!  The list of views is "curious"
** Update:  the userviews are present and correct.  However they only apply to the first SiteID created.  See recent post 08 June 2016 **

2) Multiple PWA instances are separated by SIteID in the database - remember MS doesn't support more than one PWA site in the db and direct querying (assuming odata is not included here)
3) on the IO front, I am not sure what the impact of serious reporting against the DB will potentially have on SharePoint web performance.  It is usable that this is negated via caching of SPSites 

4) good old creaky MSP_EPMAssignmentByDay is still there!  However we now have TimeByDay table also for referenceing Fiscal Periods in the reporting schema which is nice :)

5) due to the change in schema, most direct-query reports will need rewriting!  stick that in your upgrade budget and smoke it

next stop BI and SP Social and Search setup