Blog

Microsoft Contest: Build your Island

I love the creativity from France (yes I’m objective) with this new contest targeted a students. You basically have 17 billion to build your own island with its hotels etc.… the goal is to have the best return on investment (ROI) all using Project & Project Server 2010, and you get to speak French. Winning team will get a trip to an exotic destination! Student life is good, isn’t it?

Exciting week: Developer Preview of Windows 8 & Visual Studio 11

What a week so far! Yes in case you have missed it, major announcements were made at the developer-focused BUILD conference this week in California, beside watching the keynote here: https://www.buildwindows.com/ it’s exciting to see preliminary releases ( Developer Preview ) of Windows 8 & Visual Studio 11 & Team Foundation Server 11. Happy download and install! More info here: Microsoft Reimagines Windows, Presents Windows 8 Developer Preview Building Windows 8 : https://blogs.msdn.com/b/b8/ Announcing Visual Studio 11 Developer Preview

Project Server 2010: Installing Project Server to an existing SharePoint Server farm

I know that unless you load all the bits before running the Configuration Wizard then you will always add Project Server to an existing SharePoint Server farm – but in this blog I am specifically talking about adding Project Server to a farm that has been up and running for a while – and potentially has Service Packs and Cumulative updates loaded. The best way to do this is to create a slipstream installation – and there are plenty of resources out there that explain this process – but basically you extract your various updates and put them in the Updates folder under your install source and these will get applied as the installation proceeds.  However, in researching this topic I learned that this isn’t the only way so thought it was worth sharing.  You can load the original release version of Project Server (RTM – release to manufacture) even if your farm is at the SP1 level plus cumulative updates.  In reality I only tested to August CU, and I am sure there will come a point where this will not be practical (SP2 would block an RTM install) – but for now it certainly works and would be supported.  That said – it would be good practice to bring the farm up to a level where all the components were at the same release level.  For information on the release level of each component you can go to Central Administration, Upgrade and Migration and Check Product and Patch Installation Status.  I have a ton of language packs loaded so I won’t give you a full screen shot(s) but the foot of mine looks like this: So you can see the version installed for each component (usually matching the RTM or last Service Pack, as in this case) as well as the Cumulative Updates (June superseded by August) along with useful links to the KB articles.  In my case I do have Project already loaded and updated to August CU. At the top of the page there is also a link to the latest updates – Click here for the latest information on available updates for SharePoint 2010 Products   Going to that page also has the link for Project updates – which is Updates for Project Server 2010 .  You will also see on this screenshot that the Galician/Galego language pack is still at the original release version of 14.0.4763.1028.  This language pack (and Basque) does not yet have the language pack service pack released – but it is still possible to update to SP1 for the farm without having to update all the language packs. That was just an aside on versions and where to find them – but the main point is that you can load RTM Project Server to a farm and use Project Server.  It will get loaded at the original release version even if you had already loaded the rollup Service Pack (SP) and/or Cumulative Updates (CU) that included Project Server – the Project files will not have been applied.  Once you are ready to load the SP/CU you will need to re-load it and run the configuration wizard.  You will not get any warnings or errors even though you feel are re-installing something you already applied – it correctly recognizes that there is new stuff to update.  The only slight exception are the language pack service packs – which you do not need to reload – and Project Server will benefit from any language packs (and language pack service packs) loaded before it was installed – so no need to re-install those either. Another good thing to check is the database status – once you have run the config wizard all should be good – but if you forget then you will see messages Database is too old and upgrade is required as mentioned in my previous blog posting – Project Server 2010- Can I delay running the SharePoint Configuration Wizard- .

Project Server 2010: Are your prints from PWA blank? Try turning off IE compatibility.

Quick posting today – we had a customer seeing issues when printing from the Project Web App schedule web part where if they went over a certain number of rows (around 42 – spooky!)  the printed page was blank (although the pop-up with just the grid displayed for printing looked just fine).  This was after seeing this warning – which is expected – when you are printing a grid of more than 30 rows: Print Warning – There are more than 30 records in the current grid.  Preparing the print page for this many records may cause the browser to alert that the page is running slowly. In my testing internally I saw the same, I clicked OK on the warning, the new page opened with everything looking good and I could choose my printer – but the print was blank (I did try a large plan and in this case the final 40 or so tasks printed…)  However, if I turned off the compatibility setting under Tools, Compatibility View Settings, so that these were not applied to Intranet sites then all worked as expected and I got a good print.  If you have explicitly set your PWA sites in compatibility you may see the same issue.  If you really need prints though you may find Project Professional more flexible in giving you a good printed page.

Sort Order of Groupings in Project Center Views

OK, so you have a nice view in Project Center and it groups by a given field, we will call it Location. You get all your projects into the system and you notice that the grouping works as expected but the sort of the grouped headings is odd. Not even alphabetical. Now, this is an “issue” that I’m sure has been around for as long as there has been a Project Server but I only just found it because on this engagement I’m on I broke with my normal process and did not prepare my custom field information the way I normally do. Normally, I gather up the lookup table values and set them up in Excel first. By force of an old habit from other systems I would either sort them in Excel or for those that did needed to be in a non-alpha sort I would put numbers in front of the values. Then I would put them into lookup tables. I know that Project Server allows you to control the display order of the lookup table (see  below) but I have always done this and habits are hard to break.   So what was my problem with the sort of my groups? Project Server views sort the group headings according to the display order set in the lookup table of the field you grouped on. My issue was that I had not put numbers in front of the values and I did not pick Sort Ascending. The default is By Row Number and that has always worked for me given my odd ‘pre sorting’ that is part of my normal routine. I went in and changed the sort order or my lookup table and my grouping was correct. The moral of this story could be “Don’t break with your process” or maybe it is “Update your process”. I’m going to go with the idea that it is “Don’t break with your process!” 🙂

Celebrating 10 years at Microsoft

Exactly 10 years ago I joined Microsoft on Monday September 3rd, 2001, in the French office outside Paris. While I could write a lengthy post on what happened during the past decade at MSFT, I wanted instead to mention why I really enjoyed the past ten years and why I looking forward to a continued career at Microsoft. This is my humble opinion so please take it with a grain of salt . First let’s start with a bit of background and what I have done this past decade at MSFT from a career perspective. I basically had two role in two groups during that time: first as a consultant in our Services organization (Microsoft Consulting Services France), secondly as a Product Manager in Microsoft Office Division. I started in 2001 as an Application Development consultant helping customers build e-commerce sites with the beta version of the v1 .Net Framework. It was a very exciting time with tons of learning of the MSFT key products at that time: SQL Server 2000; Windows 2000; .Net Framework v1; Visual Studio .Net; Windows XP, Office XP to name a few. Over time, at MCS, I decided to start shifting my expertise from app. Dev. to server products and looked at Commerce Server, BizTalk and Project Server. I will let you guess which one I started focusing more and more on, helping customers deploy and customize it to their needs. After 6 years as a consultant serving large international customer, I decided it was time to get closer to the product group and learn how we build and ship product and more importantly shift from a very technical role to one with a business dimension and that’s what landed me a Technical Product Manager in Redmond in September 2007. The past four years in marketing have been extremely valuable to date. So what keeps me going to work every day after ten years at Microsoft? In summary I would say because of its people, products and customers. Let me explain: People : people matters, whether back in the French subsidiary or now in Redmond, the people I work with and meet every day are just awesome. Yes, I’m serious, the level of talent whether it’s hard core technical expertise or business acumen (vision, strategy etc…) is just amazing. Did I mention diversity? Historically and still today the brightest, passionate, talented individuals come from all over the world to work here; so it’s amazing to see such diversity at work and that keeps it fun every day! I had a career prior to joining MSFT (yes it happens) and I genuinely believe my peers at MSFT are great to work with from an expertise level, diversity level, and intense passion. Products : for a company that has been around as long as us, and the fact that we ship products that covers the full spectrums of users from consumers using Xbox, for instance, to large enterprises using Project Server to manage mission critical programs; it is simply amazing to see the number of people we help and reach worldwide. Yes, there are plenty of naysayers that criticize us for not innovating but seriously look at what we achieved and show me someone with our legacy to date (interesting post and video from this week alone)? Yes, we missed a few turns in trends, but I believe we have learned from our mistakes and have leapfrogged key competitors in certain areas. I could name drop lots of products but at this point in time two comes to mind: Windows Phone and Windows 8. I just love my “mango” phone, period! Do I need 100,000 app to be happy and productive? No, since it has all the key capabilities I need and more. To be honest, I only use few apps and I keep smiling every day and I’m not jealous of anyone showing off their collection! For Windows 8, I would only point to this blog you need to start subscribing to. OK, I’ll add two more after all J. Xbox/Xbox Live/Kinect – I am an occasional gamer (with a Halo crush, in particular) and have kids who play in the house and we all just love the experience and the latest innovation. Talking about experience, I did not know I have more than one finger until I got a brand new Microsoft Touch mouse this week; I’m now mastering mouse Jedi movements J… Customers : yes again, it’s a true statement that we have amazing customers whether it’s my 4 year old son using Xbox Kinect, my wife using her Windows Phone; or large Fortune 500 customers using their “ strong-positive ” Project Portfolio Management software suite from Microsoft. I also have to mention the passionate end-user communities and advocates like our beloved Project MVPs for instance that are great to interact and work with. I also consider customers, partners, large and small, worldwide, selling services or products built on our stack. Again similar to my comment about People above, they are a lot of fun to work with and keep you on your toes every day, 365 days a year. In summary I learn something, every day, in a fun environment, with great people, products and customers and that’s what keeps me motivated to go to work every day! I’m looking forward to the next decade at Microsoft. Yours truly, Christophe Fiessinger, 10 years after…

Project Server: SharePoint Installation issues when using FIPS

Most days I learn something new, and yesterday was no exception.  I was working with one of our Senior Consultants, Rob Bowers, on an installation problem.  The SharePoint Configuration Wizard was failing during the initial configuration of the farm on step 3.  The error that came up was: Configuration Failed.  One or more configuration settings failed.  Completed configuration settings will not be rolled back.  Resolve the problem and run this configuration wizard again.  The following contains detailed information about the failure: Failed to create the configuration database. An exception of type System.InvalidOperationException was thrown.  Additional exception information:  This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. In the PSCDiagnostics log created during the execution of the wizard the same errors could be seen – the first was: Task configdb has failed with an unknown exception , followed by Exception: System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.    at System.Security.Cryptography.SHA256Managed..ctor()    at Microsoft.SharePoint.UserCode.SPSolutionValidatorCollection.ComputeHash()    at Microsoft.SharePoint.Administration.SPUserCodeService.UpdateValidatorsHash()    at Microsoft.SharePoint.Administration.SPPersistedChildCollection`1.Add(T newObj, Boolean ensure)… A quick search (Bing of course) found that FIPS was referring to the Federal Information Processing Standard (FIPS) 140-2, Security Requirements for Cryptographic Modules .  An article on TechNet https://technet.microsoft.com/en-us/library/cc263215.aspx has a security note that mentions some potential issues with workflows – but not the failure in the configuration wizard.  Another great link from Mahesh Srinivasan at https://collaborationsharepoint.blogspot.com/2010/10/this-implementation-is-not-part-of.html helped move things in the right direction.  Even with FIPS not enabled through group policy settings there can still be registry keys set that are enabling some of the features.  In Rob’s case, like Mahesh, he found that the two keys were set to 1 – enabled, and a third key was set to 0 – disabled.  The keys were: HKLMSYSTEMControlSet001ControlLSAFipsAlgorithm HKLMSYSTEMControlSet002ControlLSAFipsAlgorithm HKLMSYSTEMCurrentControlSetControlLSAFipsAlgorithm Until each of these was set to 0 the error above blocked running of the configuration wizard.  Remember, any time you are changing registry keys you should take back-ups.  Obviously this change is something you should to talk to your platform security team about too – as if you are changing these values you may need to get an exception to your company’s hardening policy for your SharePoint servers. FIBS 104-2 is intended to ensure that only only validated cryptographic modules are used in software when securing data.  SharePoint uses cryptographic modules, for example MD5,  that are not validated – but it is in fact not using them to secure data but to create hash values that are used as unique identifiers.  It is this action that FIPS is blocking that causes the failure in the configuration wizard. For more information on FIPS 104-2 see https://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf , and for general FIPS information see https://csrc.nist.gov/publications/PubsFIPS.html .

Project Server: Why do my date selections lose a day?

*** Update – should probably have mentioned this more prominently – but this DOES NOT affect schedule dates – just the display date ranges in Resource Plans. When I re-read it after posting I realised this might look quite alarming*** This was an interesting issue that Adrian Jenkins finally cracked – and I had seen postings on the forums and we had some internal customer cases.  It appeared to be related to time zones as the problem had only occurred in Europe and Eastward.  So if your time zone is left of Greenwich (Sorry – UTC) you probably don’t need to read any further.  But as this may work in reverse also – might just be worth seeing why this happened. In my example below, I have my server and SharePoint farm running at UTC+2 – Athens, Bucharest and Istanbul (and others of course).  I’ve also set the regional settings to Greek (but don’t have the language pack) – just so the date format is the same format as most people this affects are using.   If you are in the Resource Plan and want to change the date range and say you select 1/12/2011 to 31/12/2011: you will find when clicking OK that the actual dates are set to 30/11/2011 and 30/12/2011 Looking behind the scenes we can see that the actual date (and time!) saved is midnight.  This is persisted in the User Properties table – as it isn’t setting the resource plan start and end date – just the current window of dates that you wish to review.  Worth remembering that there can be stuff before and after these dates… but back to the plot.  These dates are stored in a numeric string representing the number of milliseconds since 1/1/1970.  Between selecting, saving and recalling there is a conversion according to the current time zone and basically it thinks that at midnight on whatever day you choose (assuming you are UTC+X)  – it was still yesterday at UTC! In reality the time stored is the UTC time taking in to account the time zone difference – so in my example I set 1/12/2011 (it assumes time of 0:00) but what was saved was actually 2 hours earlier 30/11/2011 22:00. Easy workarounds – either put in the day after you really want – or add a time value to the string.  So I could enter: and this would then give me the right dates. This shouldn’t affect anyone West of Greenwich – however, if I put in a time here in the Pacific Time Zone that was after midnight UTC – such as 5pm, then my date would go forward to the next day! Sorry for any confusion this has caused.  I should also point out that although I am specifically talking about the date range for the resource plan view this could also affect other pages too – but generally only dates persisted as part of a view.  Rest assured that in my testing it does not affect dates entered in the schedule grid.

Project Server: August CU Released for 2007 and 2010

Full story over on Microsoft Project Server and SharePoint 2007 and 2010 August CU 2011 Announcement and a slight delay on the server rollup packages for 2010 (a week or so), but the Project and Project Server 2010 package is there if you are waiting on a fix and want to get started on your testing.  Don’t forget SP1 too!  More details of SP1 can be found at https://blogs.msdn.com/b/project/archive/2011/06/28/announcing-the-release-of-service-pack-1-sp1-for-microsoft-project-and-project-server-2010.aspx and the downloads listed at https://support.microsoft.com/kb/2510766 . Q&A from the SP1 TechNet webcast can be found at https://blogs.msdn.com/b/brismith/archive/2011/07/11/project-server-2010-sp1-and-june-cu-questions-and-answers.aspx .

Project Server 2010: Timesheets – Where do Personal Tasks come from?

If you have the setting to allow personal tasks to be added to the timesheet then they of course could come from the user.  But what about the ones that haven’t been entered by the user and appear to have the same name as tasks that were in projects that they had already started work on?  We have had a few questions on this behavior so thought it worth a blog posting. So here is my timesheet – and I have 5 tasks in the “Project BriSmith TS Blog” project, and I’ve spent an hour on each – so I’ve entered the time and saved my timesheet. (Status is “In Progress”) Later on I go back to my timesheet and things have changed! So what happened?  The task names give you the clue, and the Project Manager (me) has followed through on his action for each of the tasks.  Basically if a task gets deleted while a timesheet is in progress then we do not delete the time that is already entered but instead the task gets changed to a Personal Task.  A couple of interesting things to note though – the task name is actually cached as part of the timesheet (in case it gets deleted!) so the spelling mistake was actually corrected in the plan for the “Correcttting the spellling” task – but the cached version is still shown.  This would be the case for any re-named task – as long as the resource was still assigned.  If I click through to the task I see the current name published from the plan – correcting the spelling:   The next thing to note is that if I delete and re-create a task then as far as project is concerned this is a new task (with a new unique GUID) so it shows up as a Personal Task (keeping the original entered time) and also as the new task. The 4th task is interesting – I unassigned myself from this task and then re-assigned – so this is actually a new assignment – but as far as the timesheet is concerned it still shows it related to the project.  Also if I had published after de-assigning I would have seen a Personal Task and then after re-assigning and publishing this personal task would be gone and the project task back again (along with the entered time).   This surprised me a little – so I had to take a look behind the scenes.  It appears that as long as you don’t assign this task to anyone else, then you will get the same GUID for the re-assignment – but if you re-assigned to someone else, and then added back the original resource then the GUID would change and the timesheet would show the same behavior as the deleted and re-created task – both a Personal Task with the already entered time and the ‘new’ project task. The 5th task just got deleted so no longer exists so my recorded time now shows against Personal Tasks.  And finally the untouched task is still there as expected. So if the Personal Task does really relate to a task that has been re-created in some way then the resource should copy the time entered across the the project task and delete the personal task (Remove Task in the ribbon).  If it has been removed for good then the personal task is a record of the time spent – and should remain (depending on your time recording processes). This is the behavior when the timesheet is “In Progress”. If it is approved then the Project name and Task name are persisted even if the task is deleted. Other actions can lead to this behavior – if the project is saved back to the server (save as) over the top of an existing plan then all tasks and assignments will be replaced by identical ones – and any tasks in progress will change to Personal Tasks in the timesheets.  Also before we fixed the bug with Save for Sharing in the June CU this would change the GUIDs too – and have the same effect. All the above behavior assumes that Single Entry Mode is turned off.  With Single Entry Mode turned on then the Personal Tasks do not appear – the tasks just go (along with the time entered into them) – and also any task name changes reflect immediately in the timesheet (it is a direct link to the task, rather than a placeholder in the timesheet).  The re-assignment to the same task, even though it maintains the same GUID does not keep the entered time.  Single Entry Mode keeps the My Tasks and Timesheet view in Sync and Personal Tasks are never seen on the My Tasks view.