April, 2008

Christophe Fiessinger's Blog
Updates on Microsoft's Enterprise Social Networking (ESN) and Project Portfolio Management (PPM) offerings

  • Christophe Fiessinger's Blog

    Microsoft Launches WorldWide Simulated Robotics Competition

    Un-related to EPM :) but very cool: http://www.robochamps.com

    Today Microsoft unveils RoboChamps (www.robochamps.com), a simulated robotics league that is open to academics, hobbyists and developers from around the world, that demonstrates the power of the Microsoft platform to enable a broad range of developers to explore new ways to use .NET for robotics programming.

    RoboChamps is built on top of the Microsoft Robotics Developer Studio(MSRDS) 2008 CTP, and uses that product’s robust, physics enabled simulation environment to remove the barriers of entry that exist for many today. This simulated league provides individuals with immersive 3-d environments, simulated versions of robots, and compelling scenario-specific challenges where they can win real robots.  Environments range from a maze to the surface of the planet Mars to downtown driving to robot rescue to soccer.  The top four finalists will be flown to PDC, where the competition moves to the real world and participants apply their code to real robots.

    More information:

    236 2008-04-24, 23_45_25

  • Christophe Fiessinger's Blog

    Project Server Load Balancing Using F5

     Ryan Korock from F5 has shared the following suggestions when discussing load balancing for Project Server:

    • Load Balancing Method - Because of the nature of HTTP, any of the load balancing methods will work fairly well (this is not always true for other protocols). I suggest using least connections or predictive, as they start to take into account system performance when determining where to send the next connection.
    • Persistence – Although most Project Server deployments do not require persistence (aka stickyness), there is a small benefit of enabling it. A SharePoint server does build a small cache, and so getting sent to the same server as before may generate a small performance gain. I recommend using ‘cookie’ persistence, which will persist a user based upon http cookies. BIG-IP allows you to create a ‘backup’ method of source IP based persistence, which is also recommended.
    • Health Monitoring – I always recommend monitoring the servers at an ‘application layer’. This means building an http based monitor for the Project Server, which can give us more insight into the server health, beyond just a ping or tcp port check.

    If you are using F5 hardware for load balancing the following are  recommended by Ryan:

    • Cookie persistence is a great way to make sure http users are resuming their sessions on the same front end they were originally sent to
    • Least Connection load balancing is also great option for sending new users to the currently least utilized servers

    Last but not least F5 and HP have also published a recent study that could be of interest depending on your deployment topology: Deploying F5 Networks BIG-IP Local Traffic Manager with WebAccelerator for Microsoft Office SharePoint Server 2007

  • Christophe Fiessinger's Blog

    Active Directory/AD Resource Synch Utility on CodePlex

    Another great tool from Mike Shughrue has been published on CodePlex: http://www.codeplex.com/PS2007ADResSync

    From the documentation contained in the utility (zip file):

    The out of the box active directory sync for Project Server 2007 only moves a fixed set of fields from AD to Project Server.  In some cases, additional AD fields need to be mapped to resource custom fields.  The ResourceSync service can be run after the out of the box AD sync to move the additional AD fields.

    Source Code
    The source code is contained in a solution called ResourceSync in these 5 projects:

    1. ADReader – class library that abstracts reading values from active directory.
    2. PSReader – class library that abstracts reading and writing values to and from resource custom fields in Project Server2007.
    3. ResourceSync – An NT service that performs the syncing once a day.
    4. TestApp – A WinForms application that implements the same functionality as ResourceSync but is intended to help debug problems.
    5. Setup – Builds an .msi installer package that installs the ResourceSync service with the desired user account.
  • Christophe Fiessinger's Blog

    Tools available to test Project and Project Server 2007

    Please find below an inventory of tools that can be used to perform the following tests:

    • Capacity Planning & Scalability Tests & Performance Tests
    • Testing & stress testing customizations (event handlers, COM add-in …)

    Do not use these tools in a Production environment.

    Tool Description Comments

    Test Framework

    Controller/client test framework can be used to test any assembly or .exe with and object model (Project Professional 2007 and/or any MS Office app) Great tool recently published on CodePlex to automate winproj (Project desktop) testing, I’ve used in the past to Impact of Latency on Project Professional 2007
    EPM 2007 Test Data Population Tool The EPM (Project Server) 2007 Test Data Population Tool enables you to load large amounts of EPM data: resources, projects, tasks, assignments into a Project Server 2007 database. Key tool to populate the Project Server database before running any scalability tests.
    Project Server 2007 Timesheet data population tool The Project Server 2007 Timesheet Data Population Tool enables you to simulate timesheet entries in your farm. This tool can help you perform scalability studies of your PS architecture and validate the sizing of an existing architecture (by measuring timesheet queue throughput for instance).  
    Project Server 2007 Queue Watch Tool The Project Server 2007 Queue Watch Tool will help you monitor all queue activities for a specific Project Web Access (PWA) instance. This tool leverages the standard Project Server Interface publicly documented web services to query and retrieve jobs in the Project Server queues, further you can configure the tool to filter the information retrieved by Message Types and Job types. Useful to monitor queue activity during a stress test.
    Visual Studio 2008 - Team System Provides a comprehensive suite of testing tools for Web applications and services that are integrated into the Visual Studio environment. These testing tools enable testers to author, execute, and manage tests and related work items—all from within Visual Studio. Visual Studio offers great out of the box functionally to perform PWA scenarios but more importantly it’s an extremely powerful tool to collect and analyze performance counters on multiple servers.
  • Christophe Fiessinger's Blog

    Must-read Newly published SharePoint White Papers

    On a weekly basis I always check this two great source of information on TechNet (ideally I’d love to be able to have an RSS subscription to these pages):

    The April 14, 2008 release contains a lot of very useful white papers as listed below, (it’s the end of week so plenty of time to read during the week-end!):

  • Christophe Fiessinger's Blog

    Deploying a Custom Event Handler Has Never Been Easier!

    Last week I announced the release of a new solution starter on CodePlex: Persist SQL Server Analysis Services Roles settings Solution Starter on CodePlex, one of the great hidden treasure of that code sample is an automatic installer that deploys the custom event handler created. Mike Shughrue and Steven Haden have written this piece of code. I encourage to reuse it in all your custom Project Server Events to ease the deployment (there is also this great tool to manage events once they are deployed).

     221 2008-04-15, 18_39_14

    The installation performs the following steps (configuration screen below):

    1. The event handler DLL is installed into the Global Assembly Cache.
    2. It registers the event handlers in the Project Server server-side events for the PWA URL specified
    3. It updates the events service configuration file with parameters required by the event handler

    219 2008-04-14, 10_17_46

  • Christophe Fiessinger's Blog

    New Excel Services Sample Reports for Project Server

    Following this post (New SQL Reporting Services Sample Reports for Project Server), please find below the list of Excel Services (samples attached) reports included in the newly released demo VPC.

    If you want to learn more about Excel Services (requires SharePoint Server) two new great books have been published on the subject:

    Business Alignment Analysis 211 2008-04-13, 08_38_51 Governance Phase Analysis 212 2008-04-13, 08_41_50
    Investment Analysis 214 2008-04-13, 08_43_18 Resource Capacity 215 2008-04-13, 08_45_27
    Resource Capacity By Role  216 2008-04-13, 08_46_50 Project Work Heat Map By Role  217 2008-04-13, 08_51_18
  • Christophe Fiessinger's Blog

    Don’t forget to dispose your SharePoint Objects!

    A week ago I pointed to a sample piece of code to retrieve Project Server Settings, today I came across this excellent post from Roger Lamb: SharePoint 2007 and WSS 3.0 Dispose Patterns by Example. If you are using SharePoint objects don’t forget to dispose them!

    In the code sample mentioned earlier that is why the “using” directive is used since in C# objects are disposed when it leaves the scope:

    using (SPSite sspSite = new SPSite(sspGuid))
        if (sspSSL)
            _sspURL = string.Format("https://{0}:56738/{1}", sspSite.HostName, sspName);
            _sspURL = string.Format("http://{0}:56737/{1}", sspSite.HostName, sspName);

    Two must read MSDN articles on the same subject:

  • Christophe Fiessinger's Blog

    Description of the Project Server 2007 hotfix package: April 3, 2008


    As mentioned before the best way to stay up to date with hotfix/KB articles and be proactive, is to subscribe to the following RSS feeds:

  • Christophe Fiessinger's Blog

    Persist SQL Server Analysis Services Roles settings Solution Starter on CodePlex

    A new solution starter that demonstrates how to persist SQL Server Analysis Services (SSAS) Roles settings in the Project Server OLAP database was released today on CodePlex.

    For instance you might require to create specific Roles in your OLAP database if you have non Project Server users that need to access the database, for instance PerformancePoint users.

    During the standard Cube Building process in Project Server 2007, any manually added OLAP Roles in an OLAP database are deleted. The Cube building process creates a default Role ProjectServerViewOlapDataRole that automatically adds all the Project Server users to this Role. This customization saves the configuration of the existing OLAP Roles (except for ProjectServerViewOlapDataRole) in a text file, before they are deleted but the standard cube building process, using the OnCubeBuilding event. The saved configuration (for the OLAP Roles) is then restored using the following event OnCubeProcessed.
    The following configuration is saved, for each Role:

    • The list of Members
    • The database permissions of the Role
    • The dimensions permissions of the Role
    • The cubes permissions of the Role

    206 2008-04-10, 14_18_59

    This solution starter requires Project Server 2007, SQL Analysis Services 2005, and Visual Studio 2005.

    Thank you to Steven Haden (WW EPM COE, MCS France)for building/testing and sharing this solution starter.

    About CodePlex

    CodePlex is Microsoft's open source project hosting web site. You can use CodePlex to create new projects to share with the world, join others who have already started their own projects, or use the applications on this site and provide feedback. A word about Microsoft’s role: Microsoft does not control, review, revise, endorse or distribute the third party projects on this site. Microsoft is hosting the CodePlex site solely as a web storage site as a service to the developer community.


    Q: Is the tool supported?
    A: There is no support in terms of CSS/PSS. We expect the support being a CodePlex community effort. Please note that the customization code uses standard supported web service calls available out of the box in EPM2007.
    Q: Is the Project free?
    A: Yes.
    Q: Can I distribute the tool and the source code to customers and partners?
    A: Customers and Partners can use both. Please point them to CodePlex as they have to agree on the license terms
    Q: Can a partner distribute the tool and code as is?
    A: No, but he can point his customer to the website to download it, so he makes sure that the customer agrees with the license terms.
    Q: Can a customer install the customization and use it?
    A: Yes the customer can, but he/she is responsible for testing it and running it.
    Q: Will this tool be distributed in other ways (i.e. DVDs)?
    A: No.
    Q: What skills do I need to modify or change the tool?
    A: C#, Project Server Interface, and a good understanding of the EPM 2007 data schema.
    Q: I’m trying to modify the code and do have questions. Who do I ask?
    A: Go to the Discussions forums on CodePlex.
    Q: What are all the EPM projects released on CodePlex?
    A. Check this: http://www.codeplex.com/Project/ProjectDirectory.aspx?ProjectSearchText=epm

Page 1 of 2 (15 items) 12