![]() |
|
Spaces home The Project Server GuruPhotosProfileFriends | ![]() |
|
|
August 21 EPM Tools, Utilities & AddonsI've started a list of useful tools that can extend your EPM environment and help integrate with other LOB applications. If you know of any good tools that aren't on the list, please let me know.
Extend SharePoint Farm with the Community Kit for SharepointThanks to Paul Ballard, the Community Kit for SharePoint is freely available for download from codeplex. This solution has a number of editions, each of which provides different features. I personally found the Internet\Extranet edition particularly useful as it provides web parts for managing forms based users. If managing forms based users is causing you unnecessary administrative overhead, then this solution is well worth investigating. August 17 Create your own EPM Media LibraryTraining end users can be a costly investment both financially and timely, so it makes sense to protect this investment. Most companies will document their processes and use of tools and upload them onto a sharepoint library for user to access. If however you are like me and are more visual and kinaesthetic in your approach to learning, instead of relying on oral and written instructions; then you will benefit more from documents accompanied by videos. There are a number of excellent webcasts available from numerous sources; however these are very generic and unlikely to exactly match your companies processes.
You can very easily create your own library of company specific webcasts for display or download from a Sharepoint library.
To create the video content, you will need an encoder. There are a number of encoders available:
I'm sure there are others, but these are the ones I know of. I've not used Captivate, but I have customers who have, and they find it very intuitive to use. Personally I use WME, as I won't pay for something that I can get for free, and it does the job, albeit a little crude. The basic concept is that the encoder captures the screen or application display as a video file. You can then add a narrative or even overlay graphics. Once you have created your video files, you can either upload them into a Sharepoint library for users to download and play on their desktops or make use of Windows Media Services and stream the content in the browser (like youtube). Media Services requires Server 2003/2008 Enterprise Edition and a little bit of setup which is straight forward. For help on setting up Media Services checkout this site http://www.microsoft.com/windows/windowsmedia/knowledgecenter/default.aspx Having such a media library provides the end user with a comprehensive help and support portal, helps retain product IP and reduces demand on support staff. Here are some useful links related to WME and Windows Media Services: August 09 Project Server & SQL2008 InteropWhilst there are some great benefits for using SQL2008 within your EPM solution, the interop with Project Server has not been finalised. I've managed to successfully create a new PWA instance with SQL 2008, however the cube building service will not function. Performing an inplace upgrade of SQL on a stand alone PWA instance, also broke the application. Microsoft are working on providing some updates to enable the interop with SQL2008, so for the time being you should stick with SQL2005. Having said that, you don't need to wait to upgrade the database in order to take advantage of the features in Reporting Services 2008 ! August 08 SQL 2008 Reporting Services - New FeatureThere are many new features in SQL 2008 which will enhance your EPM environment. One that stands out to me is the introduction of the gauge control in Reporting Services. This control provides you with the ability to easily create dynamic, visual reports, something which was a challenge in earlier versions. A welcome addition to any PMO reporting environment, I'm sure you'll agree. August 07 SQL 2008 is ReleasedSQL Server 2008 has been released and is ready to deliver a rich set of integrated services that enable you to do more with your data, such as query, search, synchronize, report, and analyze. Many of you have been evaluating the SQL Server 2008 betas, and may be ready to try out the RTM version. TechNet Plus subscribers can find RTM versions now available for download. Speaking of TechNet Plus, read Keith Combs’ Blahg for his take on the UI improvements for the newly revamped TechNet Plus Subscriber Downloads page.
August 05 Project 2007 Bugs?Project Server 2007 SP1 including infrastructure update (Server & Client):-
1. Hammock tasks cannot be saved in an Enterprise Template. Whilst this is not a show stopper it is frustrating for my customer.
2. Setting the "Publish" flag to "No" only hides the resource assignment from the "My Tasks" view. Any associated resource costs and task information gets published. This is contrary to what the help file describes as the function for this flag (see below). I'll be raising a support call with Microsoft in the morning, but I'd be interested if anyone else has a different experience with these features.
Description The Publish field indicates whether the current task should be published (publish assignments: If you use Project Server as your team collaboration solution, you publish assignments to notify your resources of new and changed assignments to tasks.) to Microsoft Office Project Server 2007 with the rest of the project. By default, this field is set to Yes. Best Uses Add the Publish field to a task view when you want to view or change whether a task is set to be published to Office Project Server 2007. This can be particularly useful if you are still developing the details of new or changed tasks, and are not ready to publish them for the rest of the team and other stakeholders to see. Example You and your team are busy working on an existing enterprise project (enterprise project: A project that is stored in Project Server to ensure information integrity. To make changes to an enterprise project, users with access permissions are required to check it in and out from Project Server.). You have just updated progress for current tasks. In addition, you have recently learned of increased scope changes to a work phase coming up in two months. You have added new tasks and changed resource assignments in the project plan to respond to these changes. However, you're still researching certain task durations. You want to publish the updates you've made for current tasks, but you do not want to publish information about the upcoming work phase until the changes are complete. You insert the Publish column into the Task Sheet and change the setting for the tasks in the upcoming work phase to No. A few days later, you finish the changes. You set the Publish field for these tasks to Yes, and then publish the project plan to Project Server. Remarks Although the Publish field is available for local projects, it is only useful when working with an enterprise project through Project Server. If you have already published a task and then later set the Publish field to No, when you publish the project again, the task will be removed from any assigned resources. August 04 Tech-Ed 2008 - Auckland, New ZealandOnce again EPM is afforded only a single session at this years Tech-Ed in New Zealand, for which we must be thankful given the limited number of slots and competing products. I had been pushing Microsoft to let me do a session on IPM (Innovation Process Management) to showcase the entire EPM/IW stack, however the decision has been made to deliver a single session on Portfolio Server. Whilst I'm sure this will be a useful and informative session, paying customers are simply getting a repeat of what was delivered last year. If you are attending Tech-Ed this year and would like more EPM sessions in the future, please let Microsoft know by completing the feedback sheets, or by contacting your Microsoft account manager. Roll on the next Project Conference in Seattle ! July 28 EPM CertificationsHave you ever wondered how many certified EPM professionals there are in the world?
The numbers below are correct as of 9 July 2008 from https://www.microsoft.com/learning/mcp/certified.mspx
563 - MCTS - Enterprise Project Management with Microsoft Office Project Server 2007
1189 - MCTS - Managing Projects with Microsoft Project 2007
53 - MCTS - Microsoft Office Project Server 2007 - Configuration
211 - MCITP - Enterprise Project Management with Microsoft Office Project Server 2007
It would be interesting, and useful to see the geo-diversity of people with these credentials.
The number of people certified in Project Server configuration is somewhat dissappointing, and is strongly reflected by the volume of config type questions seen in the newsgroups. Courses on install/config are very cheap and offered online at www.msepmu.com July 16 SharePoint/Project Infrastructure Updates ShipsThe following pre-SP2 hotfixes where released today:-
Infrastructure Update for Office Servers http://support.microsoft.com/kb/951297
Infrastructure Update for Project (Client) http://support.microsoft.com/kb/951547
Infrastructure Update for SharePoint Services http://support.microsoft.com/kb/951695
It's not a pre-req, but I'd strongly suggest applying SP1 before installing these hotfixes.
Be sure to read the installation guides thoroughly before attempting the install. The general process is:-
For a full list of new features download this paper http://go.microsoft.com/fwlink/?LinkId=121912. July 14 VBA - Before Save Event - Cont'dA customer asked me to create a macro which prompts the user to save a baseline each time the plan is saved. Pretty straight forward, or so I thought!
It turns out that the "Before-Save" fires not only when a plan is being saved, but also when the application is exited. This had the effect of prompting the user to save a baseline twice (on save and on exit).
Thanks to some help from Rod Gill, we came up with the code below to get around this behaviour:
'check that a project is loaded If Not pj Is Nothing Then 'check whether the plan has been previsouly saved If ActiveProject.LastSaveDate <> "" Then 'was any previous save less than 15 mins ago If DateDiff("n", ActiveProject.LastSaveDate, Now) < 15 Then 'prompt user to save baseline Dim msg As Integer msg = MsgBox("Do you wish to save an interim baseline?", vbYesNo, "Save Baseline") 'if response is yes then save baseline 10 If msg = vbYes Then BaselineSave All:=True, Copy:=0, Into:=20 End If End If End If End If
July 05 Reporting on Custom Fields - UpdatedUpdated:
A question from the Project Server Newsgroup asking about how to report on custom fields got me thinking this morning. How easy would this be to do in Reporting Services ? As it turns out, it's pretty straight forward.
I've knocked together a very simple report which lists some rudimentary CF data. Clicking on the Look Table value opens a sub report containing a list of the lookup table values.
The benefit of these reports over the custom field grid in PWA is that these can easily be exported to another format, which is useful for config documentation.
You can download the report here
This report comes "as is" with no warranties or guarentees. July 02 Medium Farm - Two Tiers or Three ?For implementations servicing between 500-1000 users, you will probably need to configure a medium size farm. If you follow the guide on Technet you may be considering a 3 tier farm.
There are some limitations with this topology, such as
An alternative topology is a 2 tier farm where both servers operate as WFE and Application. With this topology there are 2 servers providing WFE and application services therefore increasing the number of available Queue threads and providing added application availability. As transactions do not need to traverse the network layer between WFE and app server, a small performance gain can be achieved. Assuming the SQL server and associated storage is capable of handling the extra Queue threads, you could expect to see an increase of Queue transactions by 10-20% over that given by a 3 tier topology. Resource OverallocationThere are a number of ways in which a PM can check for resource over allocation, and I have one more to add to the mix. I come across a lot of PMs who build plans blindly without confirming a resources availability before making the assignment. We all know that they should be taught how to manage resources effectively, and this is by no means a replacement for doing so. Having said that, I see the benefit of this method being that those PMs who do not use the in built features to manage resources can have visibility of over allocation with little thought or effort.
I've added a column to the Gantt View which displays whether a task is using over allocated resources. This is not intended to depict whether the task assignment is causing the over allocation.
To achieve this, I renamed the task text1 field to "OverAlloc".
I set the nonsummary rows graphical indicators for this field to
equals Overalloc "Red Ball"
does not equal Overalloc "Green Ball"
I then added the following macro to the Calculate Event
Dim Res As Resource
Dim Tsk As Task For Each Tsk In ActiveProject.Tasks
If Not Tsk Is Nothing Then Tsk.Text1 = "" For Each Res In Tsk.Resources If Res.Overallocated = True Then Tsk.Text1 = "Overalloc" End If Next End If Next Yes, it's a little crude and will have an impact on the calculation of large projects, but for customers with a low maturity model, it's a starting point.
June 24 Hotfix UpdateThere are two new rollup (contains all post SP1 hotfixes) hotfixes for Project Server 2007 (KB 953478) and Project 2007 (KB 953476). These hotfixes are not currently available for public download and can only be obtained by contacting Microsoft directly.
Given some dependancies in earlier hotfixes of the client being updated in line with the server, I'd strongly recommend pushing the client hotfix before the server hotfix. The server hotfix also contains updated ActiveX controls, so for those of you operating on secure client environments you'll have to deploy these prior to installing the server hotfix.
There's an "uber" hotfix in the pipeline, which is currently in beta testing. Keep an eye out for this shipping over the next couple of months. June 23 WSS or MOSSWhat are the advantages and disadvantages of Project Server with MOSS ?
Christophe has blogged about some of the great advantages of using MOSS with Project Server 2007.
As with most things in life, anything worth having has a cost. Additional licencing costs is the only disadvantage I can think of when installing Project Server with MOSS.
To leverage Project Server in a MOSS farm, Project Server must be installed and licenced on each of the servers in the farm, regardless of the server role. For large farms this can add considerable costs. I've previously addressed this by installing Project Server in a separate WSS\MOSS farm from the main MOSS farm. Whilst this constrains some of the MOSS features available to you, such as not being able to use workflows across farms, other features like enterprise search can still be used.
There is also the added cost of a MOSS CAL to be taken into consideration, which again can add significant cost.
Given the additional licencing costs required for MOSS, it doesn't make sense to only use it as a platform to support the implementation of Project Server. This however may change in the next version which is rumoured to have a dependancy on MOSS and not WSS. I personally hope this rumour is not true as I believe it will have a huge impact on the uptake of Project Server, especially for SME's (unless the licencing model is somehow restructured to make it more affordable). June 19 Custom Fields in "My Task View" - UpdatedThe macro below adds the parent summary task to a task/text custom field called "Parent Summary" {I suggest you add it to the beforesave event in the Ent.Global}
When creating the custom field, ensure you check the option to allow the value to roll down to the assignment.
You can add the custom field to the My Assignment view to display the summary field for each task.
Apologies to all VBA experts for being such a hack, please feel free to optimise this code.
Dim t As Task
Dim t1 As Task Dim pos As Integer Dim myflag As Integer Dim counter As Integer Dim parentwbs As String Dim parenttaskname As String For Each t In ActiveProject.Tasks
'check that task is not nothing If Not t Is Nothing Then 'find the last period in the wbs code counter = 1 Do While counter < Len(t.WBS) If InStr(counter, t.WBS, "1", 1) <> 0 Then myflag = InStr(counter, t.WBS, ".", 1) End If counter = counter + 1 Loop If myflag > 1 Then myflag = myflag - 1 'search for parent wbs value parentwbs = Left(t.WBS, myflag) For Each t1 In ActiveProject.Tasks If Not t1 Is Nothing Then If t1.WBS = parentwbs Then parenttaskname = t.Name End If Next 'set custom field to parent summary task name If parenttaskname = "" Then parenttaskname = ActiveProject.Name Call t.SetField(FieldNameToFieldConstant("Parent Summary"), parenttaskname) End If Next Rod Gill has kindly re-written the macro above:- Dim Tsk As Task
For Each Tsk In ActiveProject.Tasks If Not Tsk Is Nothing Then If Tsk.OutlineLevel = 1 Then Call tsk.SetField(FieldNameToFieldConstant("Parent Summary"), ActiveProject.ProjectSummaryTask.Name) Else Call tsk.SetField(FieldNameToFieldConstant("Parent Summary"), Tsk.OutlineParent.Name) End If End If Next Tsk That's why he writes books on VBA and I don't. Thanks Rod :) June 18 Referencing Custom Fields through VBAFinding references for managing custom fields through VBA is like trying to find a needle in a hay stack.
Below are two lines of code for reading/writing project custom fields in VBA. Hopefully these will get you on your way.
'Read Enterprise Custom Field call ActiveProject.ProjectSummaryTask.GetField(FieldNameToFieldConstant("customfieldname"),"Value")
'Write Enterprise Custom Field call ActiveProject.ProjectSummaryTask.SetField(FieldNameToFieldConstant("customfieldname"),"Value") June 17 The DNS\SQL Alias is your FriendHave you ever needed to move Project Server, SharePoint or SQL to a different physical machine? Whilst aliases don't take all the work out of moving services between servers, it can be made a lot easier by using DNS\SQL aliases during the initial install. Aliases mask the server name with a friendly alternative name registered in DNS. As server names change, the alias is updated to point to the new servername, leaving the application configuration as is. See the links below for more info:
June 12 Rebuilding the Reporting DatabaseA rebuild of the Reporting Database can be initiated by restoring the custom fields from and administrative backup (PWA/Server Settings).
Below is an explanation (thanks Sharry Herberer MSFT) of how this process is managed in the tool.
1. RDB Refresh job is "chosen" by the Queue to process.
2. RDB Refresh selects some number of entities (resources, custom fields, whatever was restored) to restore/sync. 3. RDB Refresh places one job in the Queue for each entity it chose in step 2. 4. RDB Refresh job goes to sleep (this is only an indicator to the Queue that it should not be a candidate for processing at this time) and sets its wakeup time for 5 minutes later. <five minutes pass, and the entities are synced as the jobs from step 3 are picked up for processing by the Queue> 5. RDB Refresh wakes up (this only means that its wakeup time has passed, and the Queue will now consider it as a "processable" job). 6. RDB Refresh gets chosen for processing by the Queue System. 7. RDB Refresh assesses whether all of the jobs from step 3 have been processed by the Queue yet. If yes, then if there are more entities to be restored/synced, go back to step 2. If yes, then if there are no more entities to be restored/synced, then go to step 8. If no, then go to step 4. 8. RDB Refresh determines whether it should succeed or fail. If ALL entities processed with no errors, then succeed. Else fail. The RDB Refresh job itself is merely a "monitor" of the admin restore individual reporting sync jobs. It is a bottleneck of sorts, so that the Reporting System doesn't completely flood your Queue with requests to sync data from an admin restore all at once. Think of the organizations who have thousands and thousands of Resources, Custom Fields, etc. So what the RDB Refresh job does is get a certain number of entities (custom fields, in your case) to sync, place jobs in the Queue for those entities, and go to sleep waiting for those new jobs to get processed. Again, in order for the Reporting System to not flood your Queue, the RDB Refresh job will sleep for a minimum of 5 minutes in one "interval" (but could sleep longer if the entities it is waiting for are taking longer than 5 minutes), no matter what. If any ONE of the entities it is trying to sync fails to do so, then the RDB Refresh job itself will fail. If ALL entities synced just fine, then the RDB Refresh job will succeed. This is just a way to tell you if any one of the entities failed, so you can investigate. |
|
|