Christophe Fiessinger's Blog The latest news you need to know about Microsoft Project
Excel 2007 Add-in: Synchronizing Tables with SharePoint Lists:
http://www.microsoft.com/downloads/details.aspx?familyid=25836E52-1892-4E17-AC08-5DF13CFC5295&displaylang=en
This add-in accompanies the MSDN article "Publishing and Synchronizing Excel 2007 Tables to SharePoint Lists", available in the Related Links section. The add-in allows you to publish a read-write list to Windows SharePoint Services.
Two parameters help you manage the size and location of Project Professional 2007’s Active Cache (HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\MS Project\Settings):
1. CacheLocation
2. CacheSizePerProfile
These two parameters are also accessible via Project Pro’s menu: Tools -> Local Project Cache -> Cache Settings
It is thus recommended to control via a Group Policy Object (GPO) these two parameters specially when Proj Pro. is deployed in a Terminal Server/Citrix environment.
For more information on how to use GPO with Office 2007 please refer to the following documents:
¾ Enforce settings by using Group Policy in the 2007 Office system
http://technet2.microsoft.com/Office/en-us/library/9df1c7d2-30a9-47bb-a3b2-5166b394fbf51033.mspx?mfr=true
¾ 2007 Office System Administrative Templates (ADM)
http://www.microsoft.com/downloads/details.aspx?FamilyID=92d8519a-e143-4aee-8f7a-e4bbaeba13e7&displaylang=en
Please note 200MB is the minimum recommendation for the Cache Size Limit.
Yes EPM (Enterprise Project Management) is an Enterprise application and it needs to be treated as such with Enterprise Resources J Oxford English Dictionary’s definition of Enterprise is a project or undertaking, especially a bold one.
I often compare an EPM deployment to other enterprise application such as SAP in the ERP space or Siebel in the CRM space. Companies typically never roll out these applications in a Production environment overnight. Companies get experts involved to help them define the best Architecture based on their functional and technical requirements. Companies also put in place multiple environments (typically three: development, Integration, Production); process are put in place to define the usage of each and how changes are applied from one to the other. Server and desktop deployment procedures are documented and reviewed. An Operation Guide specific to the company’s environment and architecture is written. A Disaster Recovery Guide is written to address any platform un-planned downtime. Last but not least company resources are trained on the new solutions & technologies deployed so that they are autonomous and can do basic troubleshooting.
Quite often I visit customers that deploy EPM like a desktop product and treat it as such. Yes it is very easy to install EPM with couple clicks on server in a Pilot or Production environment (my record is 30min for EPM 2007 with the all pre-requisites pre-installed), however the project does not end after PWA pages gets displayed and the OLAP cubes gets refreshed.
From experience all Enterprise EPM deployment requires the following Enterprise Resources:
¾ Architecture study: don’t just read our prescriptive guidance on TechNet to define the physical architecture that fits your functional and technical requirements. It’s a good start but not enough from experience. Get a skilled external EPM Architect to assist you in this study. He will bring experience from other architecture recommendation and deep product knowledge to make the best architecture recommendation for today’s volumes and usage but also taking into consideration future changes in usage/volume/product.
¾ Deployment Guide: the deployment procedures for both the servers and the desktop needs to be documented in detail with you company’s specific architecture and constraints.
¾ Operation Guide: there is no reason why every EPM deployment should not have one. Areas it should contain for instance: maintenance plans for IIS, SQL, performance counters to track... Again getting an EPM expert to help you write one is the safest route in the long term.
¾ Disaster Recovery Plan: even if you have a single server deployment you should have one. In case of a hardware/software failure or both an administrator should know what to do anytime of the day, any day of the week without calling Microsoft/a Partner … For large deployment with high availability including Network Load Balancing, and Clustering technologies it’s a must!
¾ Multiple Environments: very often customer plan for one environment (their Production environment) during a deployment. They then start customizations and start applying them directly in Production without any prior validation on a separate environment (Integration for instance). If customizations are perfect and bug free then everyone is happy but if it’s not the case the production environment goes down and the EPM users might not be happy! Similarly changes in architecture for instance SAN disk changes should be validated prior on a separate environment and should not be rolled out in production unless it has been validated (+ it should not be rolled out during working hours!).
¾ Optimum SAN configuration: too often SQL data is either not stored on a SAN or worst stored on a SAN but not optimized. Get a specialist to review your setup and ensure you have the best configuration.
¾ Skilled Employee: for instance since EPM and SharePoint data are all stored in a MS SQL database it’s key to understand well SQL 2000/2005. Database administrators should be able to put together a maintenance plan, optimize disk configuration, understand SQL performance counters and do basic troubleshooting using the SQL Server Profiler or SQLIO. Also administrators of the solutions should be knowledgeable of Windows 2003, Internet Information Services (IIS), .NET 2.0/3.0, Terminal Server/Citrix if used, and last but not least they should all have a basic understanding of the EPM solution, it is architecture and each component (services, databases …). If a company does not have these skills or want to refresh them, get an expert to train your employees or send them to training events.
Please find below a study I did for a customer to demonstrate the advantage of the new EPM 2007 architecture and specifically how Project Professional 2007 communicates to the application server.
DISCLAIMER: the times presented below highly depend on the EPM Architecture, the project plan data, as the network between the test machine and the servers, as well as the testing methodology. There is thus no guarantee on the response time in your environment!
EXECUTIVE SUMMARY
Contoso is a worldwide company with many branch offices and is considering a migration from Project Server 2003 to Project Server 2007 but requires reassurance that the newer version of EPM would handle high latency environment when using Project Professional 2007. Contoso uses a Citrix farm today to address the latency issues of Project Professional 2003.
The results showed that Project Professional 2007 runs fine under a high latency environment thus Contoso can migrate from EPM 2003 to EPM 2007 and not use a Citrix farm anymore to run Project Professional.
TEST ENVIRONMENT
EPM 2007 Architecture
Project Server 2007 was installed on a single server (including SQL 2005) with the following specifications:
¾ Computer modem: Dell Power Edge 2850
¾ Processor: Dual proc Xeon 3.6 Ghz
¾ System memory: 4 Go, FSB 800 Mhz
¾ Hard drive: 36 Go Ultra Scsi 320 15000 rpm
¾ Windows 2003 R2, Enterprise Edition US + SP1
¾ SQL Server 2005, Enterprise Edition US + SP1
¾ Project Server 2007, x86 EN
Test Framework
The EPM Test Framework (EPMTF) was used to automate the testing process of the Project Professional 2007.
The EPMTF ran on a Dell Latitude D600 laptop with 2 Go RAM; Pentium 1,7GHZ & 7200 rpm hard drive running Windows Server 2003 + SP1.
No latency simulation tool were used and instead a true 120 ms latency was generated by accessing an EPM 2007 server located at the MS France lab and accessing it from home via a VPN connection.
Test Data
¾ Contoso gave us a generic project plan used to track “business as usual” activities.
¾ This initial plan contained the following:
¾ 440 tasks
¾ 10 projects Enterprise Custom Fields
¾ 10 resource Enterprise Custom Fields
¾ 5 task Enterprise Custom Fields
¾ 5 resources
¾ 1 to 5 resource assignment per task
¾ No baseline
To simulate the impact of project size we multiplied the total number of tasks for each run as shown below, total number of tasks per run:
1. 444
2. 877
3. 1304
4. 1733
5. 2160
Use Case
Only one use case was tested, it included the following actions:
1. Start Project Professional 2007 and open project plan
2. Add one task at the end of the project plan
3. Save project plan
4. Publish project plan
5. Close project plan
TEST RESULTS
Response Time
Average response time in milliseconds for five runs for each action and each project size with 120ms latency:
Total Number of Project Tasks (results in ms)
444
877
1304
1733
2160
Open
7 415
7 283
7 645
7 782
8 533
AddTask
78
188
313
570
464
Save
1 883
2 438
3 003
3 426
5 486
Publish
5 672
5 993
5 628
5 534
3 057
Close
1 781
1 289
1 086
1 138
1 157
The following observations can be made from the results above:
¾ The time to Open a plan “stays” under 10 seconds which is acceptable.
¾ Close & Publish actions are not impacted by the project size (number of tasks).
Active Cache
The following table shows the percentage gain (compared to the table above) obtained by using the Active Cache when performing each action:
Total Number of Project Tasks
33%
79%
127%
188%
255%
-35%
-58%
7%
-64%
-15%
6%
-2%
0%
-30%
-5%
-13%
-9%
-11%
68%
-54%
111%
293%
¾ As expected the AC has mostly an impact when opening the project plan.
¾ AC does generate significant time improvement as the project plan increases in size.
Raw results (in milliseconds):
7,415
7,283
7,645
7,782
8,533
No Active Cache
9,852
13,052
17,372
22,425
30,293
51
79
336
207
394
1,883
2,438
3,003
3,426
5,486
2,003
2,377
2,952
3,440
3,827
5,672
5,993
5,628
5,534
3,057
5,407
5,200
5,132
4,915
5,120
1,781
1,289
1,086
1,138
1,157
818
1,380
2,465
2,398
4,541
CONCLUSION
Opening/Publishing/Saving actions in Project Professional 2007 are well under 10 seconds with 120ms latency; the responses time are thus acceptable.
The new Project Server 2007 architecture introduces significant improvement in performance when using Project Professional in a high latency environment. The performance improvement is mainly due to the fact the data access layer was rewritten to use web services to access the database instead of ODBC connections (EPM 2003).
Active Cache does provide further performance improvement when opening a large project plan after it has been open once before (cached copy of project plan is created the very first time a plan is open).
In theory Contoso does not need to setup a Citrix farm to use Project Professional 2007 from a performance point a view but might still require it if the client desktop does not meet the Office 2007 minimum requirements of XP SP2 for the OS.
Must read if you are an administrator and enjoy running scripts instead of navigating a User Interface:
http://technet2.microsoft.com/Office/en-us/library/b9b03034-d8be-4a3a-8b38-a3d25609d18c1033.mspx?mfr=true
For instance to retrieve a list of projects you can issue the following command:
stsadm -o projenumprojects –url <URL name>
All EPM 2007 options available are:
Projcatgroupbackup
Projenumsecuritytemplates
Projmodifyusergroupcategorypermissionsbytemplate
Projcatgrouprestore
Projenumusers
Projmodifyusergroupglobalpermissions
Projcreatecategory
Projerpbackup
Projmodifyusergroupincategory
Projcreateentity
Projerprestore
Projmodifyuseringroup
Projcreategroup
Projguidfromcategoryname
Projmodifyviewsincategory
Projcreatepwainstance
Projguidfromentitydisplayname
Projonlinebackup
Projcustfieldsbackup
Projguidfromentityemail
Projonlinerestore
Projcustfieldsrestore
Projguidfromentitylogonname
Projreadbackupschedule
Projdeactivateentity
Projguidfromgroupname
Projsyssettingsbackup
Projdeletecategory
Projguidfrompermissionname
Projsyssettingsrestore
Projdeletegroup
Projguidfromprojectname
Projupdatebackupschedule
Projdeletepwainstance
Projguidfromsecuritytemplatename
Projupdateentity
Projeglobalbackup
Projguidfromviewname
Projupdatepwainstance
Projeglobalrestore
Projmodifyentitysettings
Projviewcategorydetails
Projenumcategories
Projmodifyprojectsettingsincategory
Projviewentitydetails
Projenumgroups
Projmodifyprojectsincategory
Projviewgroupdetails
Projenumpermissions
Projmodifyresourcesettingsincategory
Projviewpwainstance
Projenumprojects
Projmodifyresourcesincategory
Projviewsbackup
Projenumpwainstances
Projmodifyusergroupcategorypermissions
Projviewsrestore
If you are planning to do SharePoint/EPM development/customisations, this document is a good review of best practices: http://msdn2.microsoft.com/en-us/library/bb428899.aspx
Summary: Learn to properly conduct team-environment development of Microsoft Office SharePoint Server 2007 sites and assemblies (Web Parts, site templates, custom list templates), as well as develop Microsoft Office SharePoint Designer artifacts (master pages, workflows, CSS sheets). (13 printed pages)
Must read for anyone that will do SharePoint customizations!
Microsoft SharePoint Products and Technologies such as Microsoft Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007 are highly customizable. This makes these products and technologies extremely flexible and adaptable to the needs of the enterprise. However, hosting customizations can be challenging to the IT organization.
This white paper:
¾ Describes processes for managing customization within an enterprise's SharePoint Products and Technologies hosting environment.
¾ Describes the types of customization available in a SharePoint Products and Technologies environment.
¾ Recommends IT policy toward each type of customization at each of three levels of service.
¾ Details service policies that might affect customization planning or implementation.
Read this paper online at:
¾ SharePoint Products and Technologies customization policy (http://go.microsoft.com/fwlink/?linkid=92311&clcid=0x409)
We are pleased to announce the release of Visual Studio Team Foundation Server – Project Server 2007 Connector which is available at http://www.codeplex.com/pstfsconnector.
Overview
The Visual Studio Team Foundation Server - Project Server 2007 Connector is designed to integrate the project management capabilities of TFS with Project Server 2007. It's been developed by the Visual Studio Team System Rangers in response to significant customer demand for a connector solution. Future versions of Team System will have native integration with Project Server, in the meantime this Connector solution is the best way to integrate the two Microsoft products. This solution builds on the previous PS2003 VSTS Connector, published on GotDotNet. This solution is intended to provide guidance, provided as source code that can be used "as is," extended, or modified.
Background
Microsoft® Office Project Server 2007 and Microsoft Visual Studio® 2005 Team Foundation Server (TFS) are two powerful applications that are each used in different ways for management of software development projects. Up-to-date project information requires a seamless integration between the development environment and the project management tool.
Managing projects, resources, and related information for an entire enterprise requires a holistic view and integration of project management data with the software development lifecycle. The Enterprise Project Management (EPM) solution with Microsoft Office Project Server 2007 can help organizations effectively manage and coordinate people, projects, and processes. The Microsoft EPM solution provides tools for strong coordination and standardization between projects and project managers, centralized resource management, and high-level reporting on projects and resources. Through familiar tools and ease of integration with a broad range of programs in the Microsoft Office System, the EPM solution promotes broad participation for greater accuracy, accountability, and acceptance.
Visual Studio Team Foundation Server (TFS) provides a solution for software development teams that integrates designing, developing, testing, and managing a project. TFS integrates with Microsoft Office Project Standard 2007 and Microsoft Office Project Professional 2007 for desktop use and allows project managers to plan and manage projects on a local computer. However, because there is no integration with Project Server, the project data for each team is available only in a stand-alone plan. There is no simple way to aggregate project data across multiple projects.
The Connector synchronizes Project, Resource and Task data between the two systems. Project Managers and Resource Managers continue to work in the EPM environment while the development team works in the development environment, i.e. TFS, and data seamlessly flows between the two systems. Updates to work items in TFS are automatically applied to the corresponding assignments and tasks in Project Server and vice versa. Project Managers have complete control over the inflow of the actuals into the project plan. In addition, resource management functions for all development projects, like managing time and utilization for resources working across multiple projects, team staffing etc. can be performed in Project Server. Lastly, portfolio and program level reports can easily be generated for projects being executed in TFS and managed in Project Server.
Do you want to hear about the following subjects?
¾ get a glimpse of the next version of EPM: P14
¾ customizing EPM to fit your specific business needs
¾ administering a SharePoint/EPM farm
¾ EPM best practices
¾ Portfolio Server (ex UMT) and Project Server integration
And many more….: http://www.msprojectconference.com/sessions.htm
Then register today!
Useful links if you need to configure reverse proxy for instance:
¾ http://blogs.msdn.com/sharepoint/archive/2007/03/06/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-1.aspx
¾ http://blogs.msdn.com/sharepoint/archive/2007/03/19/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-2-of-3.aspx
¾ http://blogs.msdn.com/sharepoint/archive/2007/04/18/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-3-of-3.aspx