Project Server 2010: An unknown error in Project Center, usually related to filters and duplicate custom field values

The fix for this frequently hit bug was released KB 2598251, and now the KB article at https://support.microsoft.com/kb/2598251 has been updated to include the SQL scripts that will clean up the duplicate values that lead to the error.  These scripts will correct the data, and the fix will stop the condition returning.  The fix itself has a version number of 14.0.6117.5002 – and if you load the February CU rollup package with this same version number then you will also get the fix.  The single Project Server package has been updated to point to the 2598251 patch – as this includes the fix, but also includes the February cumulative update. So to summarize: https://support.microsoft.com/kb/2598251 is the specific fix – and it includes the February CU for Project Server. https://support.microsoft.com/kb/2597152 is the February CU rollup package – and includes the fix as well as the full February CU for Project Server and SharePoint Server 2010 https://support.microsoft.com/kb/2597138 was the February CU for Project Server 2010, but has been withdrawn and instead redirects to the 2598251 patch. And finally – to help the search engines find this posting, the ULS logs will indicate an exception error similar to the following: Exception occurred in method Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectGetProjectCenterProjectsForGridJson Microsoft.Office.Project.Server.DataAccessLayer.FilterDal+FilterException: Error during filter query execution. Query: declare @ResUid UniqueIdentifier; set @ResUid = ff02387a-234e-4323-9e33-dbbf6f11880e; declare @PermUid UniqueIdentifier; set @PermUid = a120a079-75bc-4f0f-b376-3fb0ae9ac940; declare @ViewUid UniqueIdentifier; set @ViewUid = 63d3499e-df27-401c-af58-ebb9607beae8; declare @P0 UniqueIdentifier; set @P0 = 2d9ba6f2-d3d4-47f1-8661-5af3d695f8ed; declare @P1 UniqueIdentifier; set @P1 = 0ad53bb6-15ee-476a-ab05-7bb434b50466; SET NOCOUNT ON SELECT T.PROJ_UID INTO #T0 FROM dbo.MSP_PROJECTS AS P INNER JOIN dbo.MSP_TASKS AS T ON T.PROJ_UID = P.PROJ_UID INNER JOIN dbo.MSP_RESOURCES AS R ON R.RES_UID = P.WRES_UID LEFT JOIN dbo.MSP_WORKFLOW_STATUS AS WFSTS ON WFSTS.PROJ_UID = P.PROJ_UID INNER JOIN dbo.MSP_WEB_FN_SEC_GetAllProjectsResCanViewByViewID(@ResUid, @PermUid, @ViewUid, 3) AS perm ON perm.PROJ_UID = T.PROJ_UID LEFT JOIN dbo.ProjectSummaryCustomFields AS TABLEALIAS_0 ON TABLEALIAS_0.PROJ_UID = P.PROJ_UID AND TABLEALIAS_0.MD_PROP_UID = @P0 WHERE T.TASK_OPTINDX = 1.0 AND (ISNULL(WFSTS.STAGE_STATUS,-1) IN (-1, 1,2,3,5,6)) AND ((TABLEALIAS_0.CODE_VALUE @P1) OR (TABLEALIAS_0.CODE_VALUE IS NULL)) CREATE CLUSTERED INDEX PK_#T0 ON #T0 (PROJ_UID) SET NOCOUNT OFF SELECT T.PROJ_UID , P.PROJ_NAME , T.TASK_START_DATE , T.TASK_FINISH_DATE , T.TASK_PCT_COMP , T.TASK_WORK , T.TASK_DUR , R.RES_NAME , P.WPROJ_LAST_PUB , P.PROJ_OPT_MINUTES_PER_DAY , P.PROJ_OPT_MINUTES_PER_WEEK , P.PROJ_OPT_DAYS_PER_MONTH , T.TASK_SUMMARY_PROGRESS_DATE , T.TASK_IS_MILESTONE , dbo.MSP_FN_HYPERLINK_HREF(T.TASK_HYPERLINK_ADDRESS, T.TASK_HYPERLINK_SUB_ADDRESS) AS TASK_HYPERLINK_HREF , T.TASK_OUTLINE_LEVEL , P.PROJ_TYPE , T.TASK_DUR_FMT , P.WSTS_SERVER_UID , P.PROJ_OPT_CURRENCY_CODE , P.PROJ_ACTIVE_RISK_COUNT , P.PROJ_ACTIVE_ISSUE_COUNT , P.PROJ_TOTAL_DOC_COUNT , WOB.WOBJ_ISSUE_REF_CNT , WOB.WOBJ_RISK_REF_CNT , WOB.WOBJ_DOC_REF_CNT , PJSYNC.SYNC_WSS_LIST_UID , T.TASK_COMPLETE_THROUGH , (CASE WHEN T.TASK_UID=T.TASK_PARENT_UID THEN 1 ELSE 0 END) AS TASK_IS_PROJECT_SUMMARY FROM dbo.MSP_PROJECTS AS P INNER JOIN dbo.MSP_TASKS AS T ON T.PROJ_UID = P.PROJ_UID INNER JOIN dbo.MSP_RESOURCES AS R ON R.RES_UID = P.WRES_UID LEFT JOIN dbo.MSP_WORKFLOW_STATUS AS WFSTS ON WFSTS.PROJ_UID = P.PROJ_UID INNER JOIN #T0 AS keys ON keys.PROJ_UID = P.PROJ_UID LEFT JOIN (SELECT WOBJ_PROJ_UID as PROJ_UID,[4] as WOBJ_ISSUE_REF_CNT, [5] as WOBJ_RISK_REF_CNT, [3] as WOBJ_DOC_REF_CNT FROM ( SELECT WOBJ_TYPE, WOBJ_PROJ_UID FROM MSP_WEB_OBJECTS WHERE WOBJ_TASK_UID=’00000000-0000-0000-0000-000000000000′) pwob PIVOT (COUNT(WOBJ_TYPE) FOR WOBJ_TYPE in([3] ,[4],[5])) AS pvt) AS WOB ON WOB.PROJ_UID = P.PROJ_UID LEFT JOIN dbo.MSP_SYNC_PROJECT_SETTINGS AS PJSYNC ON PJSYNC.PROJ_UID = P.PROJ_UID WHERE T.TASK_OPTINDX = 1.0 AND (ISNULL(WFSTS.STAGE_STATUS,-1) IN (-1, 1,2,3,5,6)) DROP TABLE #T0; —> System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. at System.Data.DataSet.EnableConstraints() at System.Data.DataSet.set_EnforceConstraints(Boolean value) at Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.FillTypedDataSet(Boolean allowCache, DataSet typedDataSet, String[] tables, SqlCommand sqlCommand, Boolean enforceConstraints) at Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.FillTypedDataSet(DataSet typedDataSet, String[] tables, SqlCommand sqlCommand, Boolean enforceConstraints) at Microsoft.Office.Project.Server.DataAccessLayer.FilterDal.FillDataSet(QueryState queryState) — End of inner exception stack trace — at Microsoft.Office.Project.Server.DataAccessLayer.FilterDal.FillDataSet(QueryState queryState) at Microsoft.Office.Project.Server.Utility.FilterDalQueryInfo.Query() at Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectQueryInfo.Query() at Microsoft.Office.Project.Server.BusinessLayer.Project.ProjectCenterQueryInfo.Query() at Microsoft.Office.Project.Server.Utility.JsGridPopulationManager.InitializeSerializer(TableQueryInfo tableInfo, OrderInfo orderInfo, SliceInfo sliceInfo, Guid groupSchemeUid, Nullable`1 ganttSchemeUid, Boolean serializeStyles, Func`1 getChanges, Boolean serializeUnfilteredHierarchy, Boolean serializeLookupTableInfo, Boolean showTimeWithDates, String rowFilter) at Microsoft.Office.Project.Server.Utility.JsGridPopulationManager.InitializeSerializer(TableQueryInfo tableInfo, ViewPropertyGroup properties, JsGridSerializerArguments gridSerializerArgs, Func`1 getChanges) at Microsoft.Office.Project.Server.BusinessLayer.Project.GetProjectCenterProjectsForGridJson(JsGridSerializerArguments gridSerializerArgs, Guid viewUid, Int32 store, Boolean showInsertedProjects, Boolean clearPersistedProperties) at Microsoft.Office.Project.Server.Wcf.Implementation.PWAImpl.ProjectGetProjectCenterProjectsForGridJson(JsGridSerializerArguments gridSerializerArgs, Guid viewUid, Int32 store, Boolean showInsertedProjects, Boolean clearPersistedProperties)

New "From the Trenches" white paper by Chris Vandersluis: "Top-down or bottom-up?"

We’re happy to announce the publish of a new white paper by Chris Vanderluis of HMS Software for the “From the Trenches” column in the Project Server 2010 TechCenter and the Project Server 2007 TechCenter . This latest white paper – “Top-down or bottom-up” – discusses project management, portfolio management, and task management, and it compares the top-down and bottom-up management practices related to them. Here is some bio information about the author: Chris Vandersluis is the president and founder of Montreal, Canada–based HMS Software , a Microsoft Certified Partner. He has an economics degree from McGill University and over 24 years experience in the automation of project control systems. He is a long-standing member of the Project Management Institute (PMI) and helped found the Montreal, Toronto, and Quebec chapters of the Microsoft Project Users Group (MPUG). Publications for which Chris has written include Fortune , Heavy Construction News , Computing Canada magazine, and PMI’s PMNetwork , and he is a regular columnist for Project Times . He teaches Advanced Project Management at McGill University and often speaks at project management association functions across North America and around the world. HMS Software is the publisher of the TimeControl project-oriented timekeeping system and has been a Microsoft Project Solution Partner since 1995. Chris Vandersluis can be contacted by e-mail at: chris.vandersluis@hms.ca . If you would like to read more Enterprise Project Management related articles by Chris Vandersluis, see his blog: EPM Guidance .

Using the updated ChangeXML utility for Statusing

The Statusing methods in the Project Server Interface (PSI) in Microsoft Project Server 2010 enable one user to read, submit, and update assignment and task status for another user, without resorting to impersonation. In the Project Server 2007 SDK, the How to: Generate ChangeXML for Statusing Updates article shows how to generate the changeXml parameter for the UpdateStatus method, validate the XML, and use the ReadStatus and SubmitStatus methods. The Project 2007 SDK download includes the complete Visual Studio 2005 solution for the ChangeXML utility. However, the ChangeXML utility could only update status for the current user. The ChangeXML utility  is now updated for Project Server 2010, in the attached ChangeXMLUtility.zip file. With it, you can generate the changeXml parameter and update status for the current user or for another user. To update status for another user, the utility uses the ReadStatusForResource and UpdateStatusForResource methods. In addition, the utility checks whether the current user has the global StatusBrokerPermission security permission, adds the ResID attribute to the changeXml parameter, and validates the XML against the updated ChangeList.xsd schema in Project Server 2010. For more information about the ChangeList.xsd schema, see Introduction to the ChangeList Schema and Statusing ChangeXML . Note : The ChangeXML utility is designed for use only on a test installation of Project Server 2010, as an example of a programming utility for statusing. It should not be used on a production installation. The updated ChangeXML utility also has several other changes. The previous version uses the ASMX interface, which was the only choice available for Project Server 2007. In the updated version, you can choose to proghrammatically initialize the WCF interface of the PSI by entering the Project Web App URL, or by using the WCF endpoint values in the app.config file. In the following screenshot, the login is automatic if you use the app.config value.         Note : To use the app.config file, change the URL to the value for your PWA instance, for each PSI service endpoint. In the main window, after you log on Project Server, choose Build Change XML .         You can choose to update the status of available assignments for the current user, or – if you have the StatusBrokerPermission – you can choose another user and update assignments for that user. In the following screenshot, the update is for another user. The Items available for update list shows the Project name : Task name : User name values for each item. You can choose to update assignment values or task values for that assignment. The Generate a Change dialog box shows different controls in the Update section, depending on what kind of update you choose. For example, if you choose to update an assignment custom field, you can choose the custom field and the lookup table value, if the custom field uses a lookup table.         When you choose Update XML , the tool generates the changeXml parameter value, as follows:         Following is the changeXml parameter value in the case shown, for updating the Health assignment custom field. Note that the XML value includes the ResID attribute for the Assn element. Late You can clear the Run Update check box to just validate the changeXml parameter. For example, manually change one of the elements, attributes, or values in the XML, and see if it still validates. Or, you can check Run Update to validate and run the change. When the change is completed, try opening the project in Project Professional. If you are the project manager, you are prompted to review the status change in PWA. If you accept the change in PWA, to see the change, open the project in Project Professional. For example, if you changed the Health assignment custom field, go the the Task Usage view, and then add the Health field to the view.         After you save and publish the project, you can also see the change in the Reporting database. For example, run the following query in SQL Server Management Studio for the RDB: SELECT TOP 1000 [AssignmentUID] , [ResourceUID] , [Health_T] FROM [ProjectServer_Reporting].[dbo].[MSP_EpmAssignment_UserView] Find the correct assignment and resource GUIDs in the Results pane: The ChangeXML utility is useful for creating and testing values of the changeXml parameter for the UpdateStatus method, where you can create and test changes for the current user and for other Project Server 2010 users.  —Jim Corbin

Microsoft Kicks off Project Conference 2012!

Special message from Project & Visio Director Chris Crane This morning, Kirk Koenigsbauer – Corporate Vice President of the Office Division Product Management Group – kicked off the Microsoft Project Conference 2012 in sunny Phoenix, Arizona with an opening keynote address.  This year’s event celebrates the success of Project 2010 and showcases how it continues to evolve in order to meet the changing collaboration and project management needs within organizations of all sizes.  At the heart of that evolution is Microsoft’s focus on an integrated platform wherein customers are better able to respond to industry trends (i.e. devices and the cloud) and have an opportunity to realize the benefits of Project Portfolio Management (PPM) beyond IT and into all areas of a business including Marketing, Finance and Resource & Development (as seen in Revlon’s example below). Since its launch in May of 2010, Microsoft Project has quietly climbed to the top of the Project Portfolio Management market with over 20 million users of the Microsoft Project desktop to date. That’s one license sold every 20 seconds!  And, analysts agree with Gartner giving its highest rating to Microsoft in the latest Marketscope for Project and Portfolio Management . But, you don’t have to take our word for it! Eighty-two of the Fortune 100 are Microsoft Project customers and Revlon – a global cosmetics company headquartered in New York City – is one such company.  With an excess of daily meetings, the company found that the productivity of its employees plummeted and, with 1.3 billion dollars’ worth of sales in 2010 alone, it stood to lose a lot due to inefficiencies.  The Revlon IT department was looking for a way to optimize its project planning, reduce the number of meetings and bridge the gap between developers and project managers by improving the transparency of project data.  Enter Microsoft Project Server 2010.  Revlon implemented the technology in addition to the Microsoft Visual Studio Team Foundation Server 2010 and Project Server Integration Feature Pack .  Bringing both into the organization produced a wealth of improved efficiencies including up to 30% less time in meetings, productivity gains of 2-5% and improved risk management through better data.  Perhaps Jacqueline Shannon – senior planner in program management for Revlon – said it best, “I think Microsoft Project Server 2010 is an incredible tool because it promotes accountability, timeliness and structure allowing us to focus more on our deliverables rather than reporting on our deliverables.”   For more information regarding Revlon’s use of Project 2010 check out this video: https://aka.ms/zdniuj ! Another reason customers, like Revlon, value Project 2010 is for its improved integration and continuous innovation with Microsoft technologies like Exchange and SharePoint providing people with a familiar user interface and connected platform that they can use to manage all their work from the simplest to the most complex projects. Experienced and/or accidental Project managers can plan and collaborate with teams to share schedule details quickly with Project Professional 2010 and SharePoint Online (Office 365) task list synchronization. Individuals throughout the organization can view the task list and quickly see task status and update progress in SharePoint Online—from virtually anywhere! Please refer to this Project blog post for additional information. SharePoint integration allows professional Project Managers to collaborate with a wider group of colleagues, important participants and “accidental project managers”, who track their tasks and progress through SharePoint. SharePoint 2010 integration brings powerful Business Intelligence capabilities via Excel Services , PerformancePoint Services and SQL Reporting Services , so all Project 2010 users can create enhanced dashboards that give you greater transparency across your many portfolios within the organization. Please refer to this website for additional information. Improved integrations with other proven Microsoft technologies such as Microsoft Exchange means that users can manage and respond to project tasks effectively through Outlook —on their PC, over the mobile phone, or using Outlook Web Access . With the release of the Microsoft Visual Studio Team Foundation Server 2010 and Project Server Integration Feature Pack , project managers and software development teams can use the tools that they prefer, work at the level of precision that supports their needs, share information transparently, and each use the methodology they prefer (agile or formal). Please check out the Microsoft Project 2010 Customer Success page for more case studies. For more information about the Project Conference and a transcript of today’s keynote, please visit the Project Conference virtual press room . Enjoy the conference! Sincerely, Chris Crane Director, Project and Visio Product Marketing at Microsoft Corp.

Project Server 2010: Slow load times of PWA and SharePoint pages

Thanks to a couple of my European support colleagues for sharing this one, which I know could also affect many of our customers world-wide if they are running servers that are not internet connected.  Great work by Jorge Puig Altozano from our Project support team in Madrid, and special thanks (and all the credit – according to Jorge) to Hector Calvarro for the SharePoint team – also in Madrid.  If Spanish is your preferred language then read on at https://blogs.technet.com/b/elfarodeprojectserver/archive/2012/02/22/project-server-2010-elevados-tiempos-de-respuesta-al-cargar-paginas-de-sitios-pwa.aspx and also Hector’s blog at https://blogs.technet.com/b/hablamoss/ .  Although we are just talking about PWA and SharePoint here – consideration also needs to be given to other 3rd Party assemblies that may be installed too – and this could affect the loading of PDPs. On to the English description – translation thanks to Jorge, with some additional input from Catalin Olteanu from one of our partners, UMT , as they also experienced the same slow downs. We had a Project Server 2010 server, with no Internet connection, that was returning high response times when we would try to load any PWA page – slow response was seen to be due specifically to the calls to SecurityCheckUserPagePermisison, and CheckUserProjectPermissions.  We observed the information n the SharePoint Developer Dashboard, and decided to take a look at the Certificates behavior. BriSmith note – I’m sure lots of analysis went into this decision by Hector – and for anyone interested in understanding more about the problem Catalin found the lookup for www.download.windowsupdate.com from a netmon trace, and the event viewer showing a 4102, and a couple of 4107 CAPI2 errors helped join the dots… We disabled the timeouts for the certificates verification in the SharePoint server On Windows Server , this component is on by default and , whenever an application is presented with a certificate that is not present in the trusted root store, it will attempt to contact Microsoft download servers to get the latest root chain. The SharePoint OOB certificates can induce this as they are stored in a particular repository (SharePoint- Under Certificate management -Local Computer), as opposed to the trusted root. The decision not to have SharePoint code creating and installing a root cert in the Trusted Root store was taken for security reasons (ex if an application could install a certificate into the TRC store might compromise the security of the system). Can this behavior be avoided? ( ie. bypass this check for subsequent validations). Supported workarounds:     Disable automatic update of root certificates on SharePoint Servers          • Launch gpedit.msc as admin on the box          • Go to Computer Configuration –> Windows Settings -> Security settings -> Public Key Policies -> Certificate Path validation settings          • In Network retrieval tab -> Define the policy and uncheck “Automatically update certs from Microsoft root cert program”          • Run gpupdate /force for policy to take effect immediately. Additionally , the cert management plan needs to be implemented as per below article: Manage Certificate Path Validation: https://technet.microsoft.com/en-us/library/cc731638(WS.10).aspx • It is not unusual for enterprises to disable auto-root update. If they opt to do it, they will have to manage distribution of third-party roots that they need in their enterprise via group policy. • The customer  will want to monitor new releases (KB931125) quarterly and update their trust as required. Implications of disabling : There should be no specific implications to SharePoint since we are using self-signed certs and manage them ourselves . The SharePoint certs do have an expiry and we do have a health rule that watches for that IIRC and will warn the admin to update/re-roll them.  The main aspect to think through is for “other” certs used on the box (like SSL certs, certs to trust download packages or for SAFER policy etc etc) which are issues from certs chained to those in the TRC store. But note there is nothing “new” about these issues with this setting; since the boxes in question cannot access the Internet … they actually “require”  more hands on. We also got rid of the verifications for Code Access Security and some other certificates (Certificates Revocation List and Authenticode signatures) doing the following: We have to edit this file: C:WindowsMicrosoft.NETFramework64v2.0.50727CONFIGmachine.config And add/change the value:             The explanation for this key: This element was introduced in the .NET Framework version 3.5 and applies only to that version. It has no effect in later versions of the .NET Framework. The common language runtime (CLR) tries to verify the Authenticode signature at load time to create Publisher evidence for the assembly. However, by default, most applications do not need Publisher evidence. Standard CAS policy does not rely on the PublisherMembershipCondition. You should avoid the unnecessary startup cost associated with verifying the publisher signature unless your application executes on a computer with custom CAS policy, or is intending to satisfy demands for PublisherIdentityPermission in a partial-trust environment. (Demands for identity permissions always succeed in a full-trust environment.) https://msdn.microsoft.com/en-us/library/bb629393(v=vs.90).aspx If we don’t use code signed by Authenticode, and work with CLR validations, we can work with the mentioned option. This is a more detailed explanation about this: A little background – CAS is feature in .NET that allows you to have more granular control over what code can execute in your process.  Basically there are 3 parts: 1.Evidence – Information that a module/code presents to the runtime.  This can be where the module was loaded from, the hash of the binary, strong name, and importantly for this case the Authenticode signature that identifies a modules publisher. 2.Permissions Set – Group of Permissions to give code (Access to File System, Access to AD, Access to Registry) 3.Code Group – The evidence is used to provide membership in a code group.  Permission Sets are granted to a code group. So when a module loads it presents a bunch of evidence to the CLR and the CLR validates it.  One type of evidence is the “publisher” of the module.  This evidence is validated by looking at the Authenticode signature which involves a Certificate.  When validating the Certificate the OS walks the chain of Certificates and tries to download the Certificate Revocation List from a server on the internet.  This is where the slowdown occurs. A lot of servers do not have access to make calls out to internet.  It is either explicitly blocked, the server might be on a secure network, or a proxy server might require credentials to gain access to the internet.  If the DNS/network returns quickly with a failure the OS check will move on but if the DNS/network is slow or does not respond at all to the request we have to timeout.  This can occur for multiple modules because we create this evidence for each module that is loaded.  However if we have looked for a CRL and failed we will not recheck.  However different certificates have different CRLs.  For instance a VeriSign Certificate may have one CRL URL but a Microsoft Certificate will have a different one. Since this probe can slow things down it is best to just avoid the probe if you do not need it.  For .NET the only reason you would need it is if you are setting Code Access Security based on the module Publisher.  Because this can cause potential slow downs and you do not need to occur this penalty you can just disable the generation of the Publisher Evidence when your module is loaded.  To disable this use the Application configuration.  Just set the enabled property to false and you will avoid all of this. Now for ASP.NET applications it was not immediately obvious how to do this but it turns out that
you cannot add this to an applications Web.Config but you can add it to the ASPNET.CONFIG file in the Framework directory.  For other applications just add the attribute to the APP.CONFIG file. More information here: Site slowness due to SharePoint STS Certificate CRL checking https://support.microsoft.com/kb/2625048/

10 Tasks For the 2011 Holidays

Dear readers I wish you all a restful and peaceful holiday break! Since it’s a quiet time of the year and a great opportunity to catch up on recent product updates and announcement I wanted to provide you a list of tasks to keep you busy if you have spare cycle in the coming two weeks Register to Microsoft Project Conference 2012 next march in Phoenix Arizona.Yes you can’t miss it! We have great content and speakers, plus it’s a very unique opportunity to network with Microsoft, customers, partners and MVPs. More information on our site: https://msprojectconference.com Update your farms/servers with the latest software updates (SP & CU), for 2010 we released Service Pack 1 (SP1) last June and this week the December 2011 Cumulative Update (CU) below. We have shipped a number of updates based on your feedback and ensuring your users/customers experience the latest and greatest from Microsoft is a great holiday gift ! As usual please read the best practices and guidance documented on TechNet on how to deploy software updates. Microsoft Project Server and SharePoint Server 2007 and 2010 December 2011 CU Announcement Announcing The Release Of Service Pack 1 (SP1) for Microsoft Project and Project Server 2010 Read the latest product documentation and guidance – yes there is a lot of valuable content we have published throughout the year and continue to do so based on your feedback so please ensure you are on top to optimize your usage or our stack. A great tool to start catching up on documentation is the Enterprise Project Management Content Pivot Viewer . A sample of recent documents for instance are listed below (and yes there are a few more on TechNet and our main product site: https://www.microsoft.com/project/en-us/articles-white-papers.aspx ) Actual Work Best Practices Documentation Now Available Best practices for managing a large number of resources in Project Server 2010 Testing Project Server 2010 deployments Microsoft Project Server 2010 Project Manager’s Guide for Project Web App Catch up on recent Project news announced on our main product blog: https://blogs.msdn.com/b/project . For instance: Microsoft is Rated in the Gartner Project and Portfolio Applications MarketScope Announcing SharePoint Lifecycle Management Solution with Project Server 2010 Microsoft Project for the masses Deploy our latest Project 2010 Demo Pack V2 as announced by Jan Kalis: Project 2010 Demo Pack Version 2 NOW available to Microsoft Partners! and yes it contains Project Server and scenarios and data to showcase our full PPM functionalities. Read our recently published customer case studies : https://www.microsoft.com/project/en-us/customer-success.aspx . For instance in the past few months we released these: Revlon – IT Department of Global Cosmetics Company Cuts Time in Meetings by up to 30 Percent Nagra – Digital Security Firm Makes More Efficient, Data-Driven Decisions About IT Projects Intel – Intel Will Save Annually While Making Project Management More Flexible Purchase Project and or Project Server 2010 books – yes another testament that 2010 is an awesome release, is the quantity of books available today listed on your favorite online site. In addition check out our Training and Learning site . Test out our Application Lifecycle Management (ALM) and Innovation Process Management (IPM) solutions. A lot more information can be found below: New Feature Pack from Visual Studio Improves Project Management and Software Development Team Collaboration Innovation Management and Ideation Solutions with SharePoint and Project Server Ramp up on Windows 8, SQL Server 2012 and System Center 2012 , key links below: Building Windows 8 SQL Server 2012 System Center 2012 Sign up for an Office 365 trial , yes its landmark release for our cloud offering and it keeps getting better on a regular basis: official Office 365 site . Buy a Windows Phone and feel the love! Could not resist to add this 11th task… Seriously test out the Office 365 integration for instance or more fun application like the Skydrive app or the XBox Companion app to name two. It’s a great OS and it has improved by professional and personal productivity a lot. A lot more information here: https://www.microsoft.com/windowsphone . PS: please find above a poster we used internally recently thanks to a similar campaign done by the Microsoft Germany subsidiary

New "From the Trenches" white paper from Chris Vandersluis: "They Say They Want a Resolution"

We’re happy to announce the publish of a new white paper by Chris Vanderluis of HMS Software for the “From the Trenches” column in the Project Server 2010 TechCenter and the Project Server 2007 TechCenter . This latest white paper –  “They Say They Want a Resolution” – describes some common challenges you may face when scheduling projects. It describes coming up with the best approach when you try to determine how long tasks should be and how many tasks there should be to optimize a project schedule. It discusses how different industries typically require different types of schedules (for example, software development, EPM (engineering, procurement, and construction), and plant shutdown).  It also discusses several factors in choosing project resolution (for example, length of project, resources involved, management or division of resources, speed and effort required in collecting data, and data update schedule).  Here is some bio information about the author: Chris Vandersluis is the president and founder of Montreal, Canada–based HMS Software , a Microsoft Gold Certified Partner. He has an economics degree from McGill University and over 27 years’ experience in the automation of project control systems. He is a long-standing member of the Project Management Institute (PMI) and helped found the Montreal, Toronto, and Quebec chapters of the Microsoft Project Users Group (MPUGA). Publications for which Chris has written include Fortune , Heavy Construction News , Computing Canada magazine, and PMI’s PMNetwork , and he is a regular columnist for Project Times . He teaches Advanced Project Management at McGill University and often speaks at project management association functions across North America and around the world. HMS Software is the publisher of the TimeControl project-oriented timekeeping system and has been a Microsoft Project Solution Partner since 1995. Chris Vandersluis can be contacted by e-mail at: chris.vandersluis@hms.ca . If you would like to read more Enterprise Project Management related articles by Chris Vandersluis, see his blog: EPM Guidance .

Test a Project Server Deployment

We recently published a series of nine articles about how to test a Microsoft Project Server 2010 deployment as an enterprise project management system administrator or solution tester. Use the series as a guide to test the functionality of a newly deployed Project Server 2010 instance. The articles in this series discuss the functionalities that are on the Server Settings page, and some initial tests that you can run to connect and check server communications by using the Project Professional 2010 client application. https://technet.microsoft.com/en-us/library/gg502592.aspx

Microsoft Project Server 2010 and Multi-Tenancy

Following a session I delivered at SharePoint Conference 2011 in October, as well as few emails received recently, and following the very strong momentum Microsoft Project Server 2010 has, a common topic “du jour” customers are asking: does Project Server 2010 supports multi-tenancy? Hence, the goal of this post is to answer this question. What is multi-tenancy? First before I go any further I think it’s important to define multi tenancy since people have different expectations to its meaning and implications. Wikipedia’s definition of Multitenancy is: Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations (tenants). In this SharePoint 2010 document on TechNet: Model: Hosting architectures for SharePoint Server 2010 it says: Multitenancy refers to the ability to partition data of otherwise shared services or software in order to accommodate multiple tenants. This is in contrast to setting up separate hardware or even running multiple instances of a service. Spencer Harbar in this post Rational Guide to Multi Tenancy with SharePoint 2010 does a great job defining multi-tenancy in the SharePoint 2010 world, and in particular mentions: “ Multi-Tenancy in SharePoint 2010 isn’t a “feature” that lights up. It’s a combination of many things which all together enable the scenario we are interested in.” Project Server 2010 and multi-tenancy Can you have multiple customers/business units/departments on the same SharePoint and Project Server farm and infrastructure? YES you can! But please remember these Project Server considerations for multi-tenancy: Project Server 2010 does not support multi-tenant environments (like SharePoint 2010 does) Requires SQL Server Analysis Services for reporting (OLAP cubes) Queue Services: introduced in Project Server 2007 to handle spikes in transactions like users submitting their timesheets on Friday for instance Resource Pool a key capability of PS which enables to model your capacity and demand and hence figure out shortages or surplus Authorization/Permission Model: while authentication is handled by SharePoint, authorization is specific to Project Server and has a lot more granularity that the out of the box SharePoint’s Cross-farm services not supported Must be installed on each application server and front-end Web in the farm On-Demand Hosting Services for Project Server 2010 With the above factors in mind, yes again you can have multiples customers and instances on the same infrastructure and farm, and just because we do not support multi-tenant like SharePoint does in 2010, it does not mean you need multiple farms to serve your customers. Clear examples of multi-tenancy today are on-demand hosting companies like Project Hosts and BeMo (more listed here ) that offers shared online environment for their customers. We also have customers that have been providing Project Server to internal business unit since the 2007 version (internal multi-tenancy). Please note that I wrote this post last year on the topic of should you have a dedicated farm for Project Server or leverage a central SharePoint farm and infrastructure: Project Server 2010 and SharePoint 2010: one farm or multiple? Please find below an example of multi-tenancy following feedback from the hosting companies mentioned above: In summary yes you can have multiple tenant on the same Project Server 2010 farm and infrastructure but it cannot be achieved using the SharePoint 2010 multi-tenancy features. For any additional questions/feedback about this topic feel free to contact me via this blog. Useful resources: Plan for performance and capacity (Project Server 2010) Model: Hosting architectures for SharePoint Server 2010 White paper: SharePoint 2010 for hosters (SharePoint Server 2010) Rational Guide to Multi Tenancy with SharePoint 2010

The EPM Content Pivot Viewer

I just wanted to highlight again the EPM Content Pivot Viewer app on TechNet which can be accessed at: https://technet.microsoft.com/en-us/projectserver/hh240184.aspx (once there I highly suggest clicking on for a better experience) We’ve had some great feedback from customers, but also in recent communications with the Project Server customers noticed that a significant portion of customers have not heard of the pivot or tried it. The idea behind developing the EPM Content Pivot Viewer was to help provide you the customer with an easy to use interface that allows you to view, sort, and search through our extensive content library. We’ve provided logical pivot points to help you find content for your area of the deployment lifecycle from planning through operations and technical reference, as well as pivot content by Project Server solution areas so you can pinpoint TechNet articles, training, and white papers that will be most helpful to what you are looking to do. If you find the EPM Content Pivot Viewer useful and would like to see future versions and new features, please email EPMDocFeedback@microsoft.com with any comments or questions as your feedback is very valuable to us. Thanks, -Rob