We get this question quite a bit so we've posted a 'Best Practices' page explaining how both IntelliGantt and the IntelliGantt Add In for Microsoft Project work with SharePoint members. They also work with Outlook contacts and resources you add manually, but the SharePoint case is the most interesting.
The two use cases this page covers:
1) Building a simple resource pool from a SharePoint site
2) Turning resources that are really roles into actual SharePoint members (and yet they're still project members-- it's magic!)
Well, not quite magic. Basically, it all comes down to the email address. In MS Project, resources support an Email Address field. This is not in the default view so you have to insert the field into the 'Resource Sheet' view. If the Email Address field for an MS Project resource matches the Work Email field of a SharePoint member, they're connected! That's the manual approach.
Because connecting resources to SharePoint members requires this bit of housekeeping, there's really a third reason for the 'Best Practices' page-- how to add 'SharePoint Approved' members as resources to your project. With the IntelliGantt People pool, once they've been retrieved from SharePoint its as simple as clicking a checkbox.
Hopefully the 'Best Practice' page is more than a good read-- we want it to be helpful too!
Wednesday, March 25, 2009
Tuesday, March 24, 2009
IntelliGantt API Update
Just posted a simple 'Getting Started' document that explains the general concepts behind the IntelliGantt API and supports the accompanying sample application. Our goal is to make it very easy for system integrators to connect MS Project and WSS 3.0/MOSS 2007. For example, a hosting provider can easily add a feature that takes an MPP file and fleshes out a task list.
With this API, you will want to install IntelliGantt V4 on the same machine as the sample application. The sample application's reference paths assume you install IntelliGantt V4 into the default C:\Program Files directory.
Since you can now install IntelliGantt V4 on 64-bit machines as well, you may find the sample app doesn't find the references. This is because Windows 64-bit will append Program Files with a (x86). So you will want to update references in this case from:
C:\Program Files\TeamDirection\...
to
C:\Program Files (x86)\TeamDirection\...
You can get the API and documentation from our forum here.
With this API, you will want to install IntelliGantt V4 on the same machine as the sample application. The sample application's reference paths assume you install IntelliGantt V4 into the default C:\Program Files directory.
Since you can now install IntelliGantt V4 on 64-bit machines as well, you may find the sample app doesn't find the references. This is because Windows 64-bit will append Program Files with a (x86). So you will want to update references in this case from:
C:\Program Files\TeamDirection\...
to
C:\Program Files (x86)\TeamDirection\...
You can get the API and documentation from our forum here.
Friday, March 20, 2009
Supporting Actual Work and Remaining Work on SharePoint
We enhanced both the IntelliGantt rich internet application and the IntelliGantt Add In for Microsoft Project recently to better support updating Actual Work and Remaining Work via WSS 3.0 and MOSS 2007. With IntelliGantt RIA it was a snap as our model has proven to be very accurate, especially how we handle Estimates and Actuals.
So we thought it would naturally fall out for the IntelliGantt Add In for Microsoft Project since they both share the same code base. But what we discovered was this:

Notice that each task has a duration of 2 days and a work of 24 hours. We started with with three tasks of 2 days duration and 2 days work. With Task I we set Actual Work to 8 hours and Remaining Work to 16 hours. This increased the Work field to 24 hours and gave us new % Work Complete, % Complete and Actual Duration values. With Task II we set Actual Work to 8 hours and Remaining Work to 16 hours. This increased the Work field to 24 hours and gave us a similar % Work Complete value. However, you'll notice quite a few differences between Task I and Task II: the same action gave us different % Complete and Actual Duration values.
This makes it really difficult to build a model for.
Finally, for Task III we did the exact same steps as above, but then typed in the same % Complete value (56%). MS Project took that value and slightly changed Actual Work, % Work Complete, Remaining Work and Actual Duration.
After studying the issue for a while, and working with our customers, we determined that the % Complete field is the key. Because this field can be arbitrary when updating Actual Work and Work Remaining fields, the solution is to NOT update the % Complete field and just let MS Project do its thing. IntelliGantt can then update and maintain the Actual Work and Work Remaining fields correctly-- and MS Project will maintain them correctly as well.
Everybody wins!
This investigation had an additional benefit in that it spurred us to create a form that a) let's you configure for this option and b) change the default behavior for automatically updating estimates and actuals.
Before, because we've been worried about automatically updating actuals and thereby automatically updating your project schedule, we had people 'Apply Actuals' so there wouldn't be any surprises. With the new usage model, project managers can tell IntelliGantt it's OK to update actuals immediately. Again, this makes it easier to use the Actual Work/Remaining Work update method. IntelliGantt is smart enough so that only the 'Actual Fields' you enable via IntelliGantt->Project->Settings will be applied.
Finally, you'll notice that you can set which Baseline you'd like to use for the current Estimates values. This makes it easy to create multiple baselines but still have an 'active' one that SharePoint members can view.
With build 4.0.0.139 the menu addition under IntelliGantt->Project, as shown below:

We have a help page explaining estimates and actuals options in greater detail. Better yet, you can try either our Rich Desktop or Wicked Smart Add In and see what you think.
So we thought it would naturally fall out for the IntelliGantt Add In for Microsoft Project since they both share the same code base. But what we discovered was this:

Notice that each task has a duration of 2 days and a work of 24 hours. We started with with three tasks of 2 days duration and 2 days work. With Task I we set Actual Work to 8 hours and Remaining Work to 16 hours. This increased the Work field to 24 hours and gave us new % Work Complete, % Complete and Actual Duration values. With Task II we set Actual Work to 8 hours and Remaining Work to 16 hours. This increased the Work field to 24 hours and gave us a similar % Work Complete value. However, you'll notice quite a few differences between Task I and Task II: the same action gave us different % Complete and Actual Duration values.
This makes it really difficult to build a model for.
Finally, for Task III we did the exact same steps as above, but then typed in the same % Complete value (56%). MS Project took that value and slightly changed Actual Work, % Work Complete, Remaining Work and Actual Duration.
After studying the issue for a while, and working with our customers, we determined that the % Complete field is the key. Because this field can be arbitrary when updating Actual Work and Work Remaining fields, the solution is to NOT update the % Complete field and just let MS Project do its thing. IntelliGantt can then update and maintain the Actual Work and Work Remaining fields correctly-- and MS Project will maintain them correctly as well.
Everybody wins!
This investigation had an additional benefit in that it spurred us to create a form that a) let's you configure for this option and b) change the default behavior for automatically updating estimates and actuals.
Before, because we've been worried about automatically updating actuals and thereby automatically updating your project schedule, we had people 'Apply Actuals' so there wouldn't be any surprises. With the new usage model, project managers can tell IntelliGantt it's OK to update actuals immediately. Again, this makes it easier to use the Actual Work/Remaining Work update method. IntelliGantt is smart enough so that only the 'Actual Fields' you enable via IntelliGantt->Project->Settings will be applied.
Finally, you'll notice that you can set which Baseline you'd like to use for the current Estimates values. This makes it easy to create multiple baselines but still have an 'active' one that SharePoint members can view.
With build 4.0.0.139 the menu addition under IntelliGantt->Project, as shown below:

We have a help page explaining estimates and actuals options in greater detail. Better yet, you can try either our Rich Desktop or Wicked Smart Add In and see what you think.
Friday, March 06, 2009
Tasks go Here, Milestones go There
A customer asked me about an interesting scenario recently that I thought I'd share. As you know we've been focusing on the more project-centric templates from the 'Fabulous Forty' produced by Microsoft, but we haven't shown how you can roll up tasks and milestones and send subsets of information to specific lists in these templates. In this particular case, IntelliGantt shared tasks and milestones with full 2-way synchronization to the Project Tasks, but they also wanted to send milestones to the Project Milestones list that was also present in the site. The Project Milestones list was an easy way for stakeholders to quickly see a 'big picture' based on milestones being completed or not.
We thought this might happen, so we engineered IntelliGantt such that in addition to sharing individual projects, it could also 'export' groups of projects to lists of your choosing. For example, say we have two projects that have been shared to a Project Tasks list like so:

The Project Tasks list contain tasks and milestones and are handily grouped by their projects. While this example is trivial, imagine 500 tasks and 5 milestones. In this case it because more difficult to spot the major events designated by milestones-- they may be below the viewing fold or on another page altogether.
What would be nice is if we could roll up the two projects, filter out milestones and send them to the Project Milestones list.

Happily we can do just that by using IntelliGantt's dashboard and filters. The Dashboard option is right under the IntelliGant menu in MS Project (the IntelliGantt rich client has multiple ways to export rollups; this example is mainly for MS Project).

The dashboard is populated by clicking the checkboxes next to the projects on the left hand side. Every project you have shared will be listed there. You may want to check everything, or just a set of projects you want to work with. Because we only have two projects shared, we will select them both.

Once we have the projects we want, its time to send the items on their way. Click on the 'Export' button to start this process.

This brings up the 'Export Wizard', which is based on the 'Share Wizard'. Just as you would share a project, first you supply the SharePoint site URL and click 'Go'. The list of available web parts supporting tasks and milestones appears. This time we will select the Project Milestones list.

Finally, we just want to export the milestones from our two projects. To do so we will invoke the 'Workspace Settings', drop down the 'Filters' and select 'Milestones Only'.

Click 'OK' and then 'Next' back in the Export Wizard and IntelliGantt will send your milestones the the Project Milestones list you selected.

Now it is important to note this is different than sharing. You won't be able to synchronize these milestones. For this particular example, subsequent exports will use the 'Clear Task List' option so that only the most recent milestones populate the list.
However, as a means to quickly send important data to one spot where people know to look is very useful. IntelliGantt makes it easy to roll up projects, apply filters and send the result to the spots you need.
We thought this might happen, so we engineered IntelliGantt such that in addition to sharing individual projects, it could also 'export' groups of projects to lists of your choosing. For example, say we have two projects that have been shared to a Project Tasks list like so:

The Project Tasks list contain tasks and milestones and are handily grouped by their projects. While this example is trivial, imagine 500 tasks and 5 milestones. In this case it because more difficult to spot the major events designated by milestones-- they may be below the viewing fold or on another page altogether.
What would be nice is if we could roll up the two projects, filter out milestones and send them to the Project Milestones list.

Happily we can do just that by using IntelliGantt's dashboard and filters. The Dashboard option is right under the IntelliGant menu in MS Project (the IntelliGantt rich client has multiple ways to export rollups; this example is mainly for MS Project).

The dashboard is populated by clicking the checkboxes next to the projects on the left hand side. Every project you have shared will be listed there. You may want to check everything, or just a set of projects you want to work with. Because we only have two projects shared, we will select them both.

Once we have the projects we want, its time to send the items on their way. Click on the 'Export' button to start this process.

This brings up the 'Export Wizard', which is based on the 'Share Wizard'. Just as you would share a project, first you supply the SharePoint site URL and click 'Go'. The list of available web parts supporting tasks and milestones appears. This time we will select the Project Milestones list.

Finally, we just want to export the milestones from our two projects. To do so we will invoke the 'Workspace Settings', drop down the 'Filters' and select 'Milestones Only'.

Click 'OK' and then 'Next' back in the Export Wizard and IntelliGantt will send your milestones the the Project Milestones list you selected.

Now it is important to note this is different than sharing. You won't be able to synchronize these milestones. For this particular example, subsequent exports will use the 'Clear Task List' option so that only the most recent milestones populate the list.
However, as a means to quickly send important data to one spot where people know to look is very useful. IntelliGantt makes it easy to roll up projects, apply filters and send the result to the spots you need.
Tuesday, March 03, 2009
IT Team Workspace Integration
Continuing our philosophy of being the data conduit from your desktop to all those rich internet solutions, we've verified that IntelliGantt works well with the IT Team Workspace template for WSS 3.0. Again, its one of the 'Fabulous Forty' that Microsoft produced and follows the same design pattern of a Projects List to contain project summary and a Project Tasks to contain tasks. The Project Tasks has a Lookup ID that binds a task to a project, which IntelliGantt is happy to do for you so you don't have to for each task in your 1000 line project.
I suspect we will be verifying a few more rich SharePoint templates that follow the Projects List and Project Tasks pattern. Another template we've been thinking about is Timecard Management, which makes a lot of sense as a means to show off the new Timesheet feature in IntelliGantt.
In truth, though, we are 100% customer driven with which SharePoint templates we integrate with. In fact, if you're using a template from another vendor or one developed in house, we'd be happy to hook it up to MS Project or to our IntelliGantt desktop and leverage your investment.
We have a 'Best Practices' page up for the IT Team Workspace. On to the next template!
I suspect we will be verifying a few more rich SharePoint templates that follow the Projects List and Project Tasks pattern. Another template we've been thinking about is Timecard Management, which makes a lot of sense as a means to show off the new Timesheet feature in IntelliGantt.
In truth, though, we are 100% customer driven with which SharePoint templates we integrate with. In fact, if you're using a template from another vendor or one developed in house, we'd be happy to hook it up to MS Project or to our IntelliGantt desktop and leverage your investment.
We have a 'Best Practices' page up for the IT Team Workspace. On to the next template!
Tuesday, February 10, 2009
Sometimes the Solution is too Simple
Being a client application that communicates via web services with SharePoint, there's always been one sticking point-- the transition from the client app to SharePoint. That is to say, you have IntelliGantt or Microsoft Project with your project data in one window and SharePoint with your team view in another window. Mouse clicks, Alt+Tab or tiling-- sure there are band-aids. But context swtching is usually the bane of good software and its irked me for a while now.
So a brief context switch... My wife was out of town recently, so I had the two bambinas for a few days all to myself. Obviously, this meant no time in front of the computer. We had great time going to the children's museum, the zoo, the park... lots of kids stuff. After a few days of running around the house, it was time to clean it (especially before the wife returned). After I had cooked breakfast and did the dishes, wiped the counters and changed a diaper, I started vacuuming.
And then it hit me.
You know, IntelliGantt has a Grid/Gantt view and a Dashboard view, why not embed a web browser as another view so you can see your SharePoint tasks in context. Kind of like this:

This is great for a few reasons:
1) It houses IntelliGantt and SharePoint tasks in the same context.
2) It seeds the site URL values when I want to share, export or import.
3) The SharePoint view changes as I select shared projects in IntelliGantt.
4 It captures the powerful 'Dual View' of what the project manager can see and what SharePoint team members see.
5) IntelliGantt changes as I select shared tasks within IntelliGantt!
We've captured the basics in a screencast, but I wanted to expound a bit more on it because, practically, I'm quite pleased with the results. Typically, when I demonstrate IntelliGantt, there's an awkward 'and now I'm changing hats and viewing the project through a web browser' segue. And when I return to IntelliGantt, the reverse seque. And back. And forth.
Now, we can all stay in the same application. Because it embeds the IE web browser, it handles SharePoint the exact same as IE-- adroitly navigating authentication challenges and single sign on issues. Better yet, because the browser is running in the IntelliGantt process space, you don't have to login twice.
What is most powerful, however, is point #4 above-- exploiting a huge advantage that Software + Services provides. The advantage is a rich application with appropriate tools designed for project manipulation combined with a robust collaboration platform with authentication and data views designed for project communication.
A team member doesn't need a powerful scheduling engine in order to see when one of her tasks is due. Similarly, a project manager needs more than a web interface when updating thousands of task start and due dates. Or, more bluntly, would you rather update 1000 tasks in SharePoint by clicking 1000 task edit links, updating at least a start and end date for each, clicking 'OK' and hoping the changes are correct? Or, would you rather open IntelliGantt, click and hold the mouse on the project bar and drag it forward a couple days? One might take 2 hours and is prone to error and the other would take about 5 seconds.
The right tool for the right job... and now all in one context.
I should play with the kids more often!
So a brief context switch... My wife was out of town recently, so I had the two bambinas for a few days all to myself. Obviously, this meant no time in front of the computer. We had great time going to the children's museum, the zoo, the park... lots of kids stuff. After a few days of running around the house, it was time to clean it (especially before the wife returned). After I had cooked breakfast and did the dishes, wiped the counters and changed a diaper, I started vacuuming.
And then it hit me.
You know, IntelliGantt has a Grid/Gantt view and a Dashboard view, why not embed a web browser as another view so you can see your SharePoint tasks in context. Kind of like this:

This is great for a few reasons:
1) It houses IntelliGantt and SharePoint tasks in the same context.
2) It seeds the site URL values when I want to share, export or import.
3) The SharePoint view changes as I select shared projects in IntelliGantt.
4 It captures the powerful 'Dual View' of what the project manager can see and what SharePoint team members see.
5) IntelliGantt changes as I select shared tasks within IntelliGantt!
We've captured the basics in a screencast, but I wanted to expound a bit more on it because, practically, I'm quite pleased with the results. Typically, when I demonstrate IntelliGantt, there's an awkward 'and now I'm changing hats and viewing the project through a web browser' segue. And when I return to IntelliGantt, the reverse seque. And back. And forth.
Now, we can all stay in the same application. Because it embeds the IE web browser, it handles SharePoint the exact same as IE-- adroitly navigating authentication challenges and single sign on issues. Better yet, because the browser is running in the IntelliGantt process space, you don't have to login twice.
What is most powerful, however, is point #4 above-- exploiting a huge advantage that Software + Services provides. The advantage is a rich application with appropriate tools designed for project manipulation combined with a robust collaboration platform with authentication and data views designed for project communication.
A team member doesn't need a powerful scheduling engine in order to see when one of her tasks is due. Similarly, a project manager needs more than a web interface when updating thousands of task start and due dates. Or, more bluntly, would you rather update 1000 tasks in SharePoint by clicking 1000 task edit links, updating at least a start and end date for each, clicking 'OK' and hoping the changes are correct? Or, would you rather open IntelliGantt, click and hold the mouse on the project bar and drag it forward a couple days? One might take 2 hours and is prone to error and the other would take about 5 seconds.
The right tool for the right job... and now all in one context.
I should play with the kids more often!
Tuesday, February 03, 2009
Working with the Budgeting and Tracking Multiple Projects template
Last week at SPTechCon I did a session on SharePoint project management using WSS and out-of-the-box lists, webparts and templates. The session received a good response because many people are unaware just how much is available with WSS, especially with the 'Fabulous Forty' templates Microsoft produced. And because its WSS, its all free.
Aside from the 'kid in the candy store' aspect of so much functionality a mere download and install away, its worth taking a look of several of the templates and seeing how useful they are for managing projects-- even multiple projects. For example, the template we spent the most time on is called Budgeting and Tracking Multiple Projects. Not only does it have a task list, but also a project list and even a dashboard to aid in monitoring project health!
As a result of the feedback, we created the first of several web pages on the TeamDirection site highlighting both the functionality and how IntelliGantt integrates with it. This particular template is greatly enhanced when paired with IntelliGantt.
For example, to really exploit the value of the Budgeting and Tracking Multiple Projects template you need to create multiple projects each with multiple tasks and link projects to tasks by updating each tasks lookup ids. Not only is that a run-on sentence, but it takes roughly thirty seconds to do per task. If you have a project of 1000 tasks, that time adds up very quickly.
However, with IntelliGantt you can make all the associations in under 30 seconds total! You project manager (or intern changed with updating all those tasks) will thank you.
The rich integration is provided by both IntelliGantt and the IntelliGantt Add In for Microsoft Project. If you already have MS Project 2007 in-house, we encourage you to check out our Add In. If you don't have MS Project or are looking for 'Project Lite', check out our rich client. Either way, we're happy to help you get the most from SharePoint.
Aside from the 'kid in the candy store' aspect of so much functionality a mere download and install away, its worth taking a look of several of the templates and seeing how useful they are for managing projects-- even multiple projects. For example, the template we spent the most time on is called Budgeting and Tracking Multiple Projects. Not only does it have a task list, but also a project list and even a dashboard to aid in monitoring project health!
As a result of the feedback, we created the first of several web pages on the TeamDirection site highlighting both the functionality and how IntelliGantt integrates with it. This particular template is greatly enhanced when paired with IntelliGantt.
For example, to really exploit the value of the Budgeting and Tracking Multiple Projects template you need to create multiple projects each with multiple tasks and link projects to tasks by updating each tasks lookup ids. Not only is that a run-on sentence, but it takes roughly thirty seconds to do per task. If you have a project of 1000 tasks, that time adds up very quickly.
However, with IntelliGantt you can make all the associations in under 30 seconds total! You project manager (or intern changed with updating all those tasks) will thank you.
The rich integration is provided by both IntelliGantt and the IntelliGantt Add In for Microsoft Project. If you already have MS Project 2007 in-house, we encourage you to check out our Add In. If you don't have MS Project or are looking for 'Project Lite', check out our rich client. Either way, we're happy to help you get the most from SharePoint.
Tuesday, January 27, 2009
If Anyone is at SharePoint Technology Conference Wednesday or Thursday
SPTechCon is running from January 27 - January 29th. Somehow it still snuck up on me.
I am speaking at two sessions. The first session (407, January 28 at 2:45) is a deep dive in to SharePoint web services and how desktop applications, rich internet applications or even Silverlight and Flex can connect and update data. I'm pinging our hosted WSS server right now and retrieving lots of fun XML to go over!
The other session (805, January 29 at 1:30) covers out of the box project management. I'll be highlighting the project management goodness that comes with SharePoint: task list, project task list and dashboards. I'll also be using the latest 64-bit build of the IntelliGantt BETA. Gave me a good excuse to get a new laptop-- needed a test machine!
I am speaking at two sessions. The first session (407, January 28 at 2:45) is a deep dive in to SharePoint web services and how desktop applications, rich internet applications or even Silverlight and Flex can connect and update data. I'm pinging our hosted WSS server right now and retrieving lots of fun XML to go over!
The other session (805, January 29 at 1:30) covers out of the box project management. I'll be highlighting the project management goodness that comes with SharePoint: task list, project task list and dashboards. I'll also be using the latest 64-bit build of the IntelliGantt BETA. Gave me a good excuse to get a new laptop-- needed a test machine!
Tuesday, January 20, 2009
Publishing Multiple Projects to One SharePoint Task List
We just got a question from an IntelliGantt evaluator that calls to our attention a really great feature that we didn't expose very well. That is, the ability to publish multiple projects (and their tasks, of course) to a single SharePoint list. Customers had asked for this with the previous version of IntelliGantt (the Plus version) and therefore we added Multiple Project Export to version 4.
First, check all the projects you would like to be active by clicking the checkboxes in the 'Projects' view on the left. Then on the right, in our Grid/Gantt control, click the 'Export' button (highlighted in red). This will bring up the export wizard and will allow you to send this group of tasks as a whole to a single task list.

You also might want to use Workspace Settings and apply additional filters to what will probably be a large group of tasks. For example, you can apply the 'Milestones Only' filter so that only milestones from all the projects are sent to SharePoint. Other interesting filters are 'This weeks tasks', 'Next weeks tasks' and 'Summary tasks only.'
Even more filters are available, but you get the idea. IntelliGantt helps you round up groups of projects and send the important information to SharePoint.
First, check all the projects you would like to be active by clicking the checkboxes in the 'Projects' view on the left. Then on the right, in our Grid/Gantt control, click the 'Export' button (highlighted in red). This will bring up the export wizard and will allow you to send this group of tasks as a whole to a single task list.

You also might want to use Workspace Settings and apply additional filters to what will probably be a large group of tasks. For example, you can apply the 'Milestones Only' filter so that only milestones from all the projects are sent to SharePoint. Other interesting filters are 'This weeks tasks', 'Next weeks tasks' and 'Summary tasks only.'
Even more filters are available, but you get the idea. IntelliGantt helps you round up groups of projects and send the important information to SharePoint.
IntelliGantt API Example
Several of our clients have been very interested in using IntelliGantt APIs to customize the integration between Microsoft Project and SharePoint. We're happy to oblige and have just posted a Visual Studio 2008 C# solution that shows how you can:
1) Share projects to SharePoint, Local and Cloud workgroups
2) Update projects on SharePoint, Local and Cloud workgroups
3) Unshare projects from SharePoint, Local and Cloud workgroups
4) Create SharePoint task lists based on template IDs
5) Modify Workspace Settings, which in turn modifies the SharePoint task list when updating
6) Import project plans from MS Project
7) Read (ie. update) changes from MS Project to IntelliGantt
8) Export projects to MS Project
9) Write (ie. update) changes from IntelliGantt to MS Project
We opened up a new forum section to introduce and support the API as we start getting feedback-- and ideas!
The other part of this effort was creating a traditional MSI package to install IntelliGantt. This makes it easier for the example to reference IntelliGantt dlls since the ClickOnce installation generates human unfriendly paths and names, whereas the MSI puts assemblies in Program Files\TeamDirection\IntelliGantt.
(As a bonus, this also addresses deployment to Citrix environments, like Xen. Now the IntelliGantt executable can be explicitly identified and shared as a published resource.)
For the purposes of this API example, you'll want to install the MSI package first, and then unzip the C# solution.
The example doesn't show much in the way of actually working with a Project schedule. What it does show is just how amazing the SharePoint web services API is. Keep in mind that this is a client only install-- nothing is needed for the SharePoint server. (You can run this example against a hosted SharePoint server if you'd like). And yet you can do just about anything needed to move data back and forth. This means the door is wide open for integrating your project data with SharePoint services. We've tried to make the API as accessible as possible-- as easy and intuitive as the UI is-- but look forward to your feedback to see how well we've succeeded.
If you're curious about IntelliGantt's scheduling engine, you can do an Object Browse on the TDINETProjectModel assembly and see all it exposes. Most of the public names will make some sense. For our next API example, we will create a solution that highlights IntelliGantt's robust and feature rich scheduling engine, as well as templates, resources, assignments, filters, hyperlinks and task dependencies.
Finally, check out some of those enumerations to get an idea of what just might be coming down the road!
1) Share projects to SharePoint, Local and Cloud workgroups
2) Update projects on SharePoint, Local and Cloud workgroups
3) Unshare projects from SharePoint, Local and Cloud workgroups
4) Create SharePoint task lists based on template IDs
5) Modify Workspace Settings, which in turn modifies the SharePoint task list when updating
6) Import project plans from MS Project
7) Read (ie. update) changes from MS Project to IntelliGantt
8) Export projects to MS Project
9) Write (ie. update) changes from IntelliGantt to MS Project
We opened up a new forum section to introduce and support the API as we start getting feedback-- and ideas!
The other part of this effort was creating a traditional MSI package to install IntelliGantt. This makes it easier for the example to reference IntelliGantt dlls since the ClickOnce installation generates human unfriendly paths and names, whereas the MSI puts assemblies in Program Files\TeamDirection\IntelliGantt.
(As a bonus, this also addresses deployment to Citrix environments, like Xen. Now the IntelliGantt executable can be explicitly identified and shared as a published resource.)
For the purposes of this API example, you'll want to install the MSI package first, and then unzip the C# solution.
The example doesn't show much in the way of actually working with a Project schedule. What it does show is just how amazing the SharePoint web services API is. Keep in mind that this is a client only install-- nothing is needed for the SharePoint server. (You can run this example against a hosted SharePoint server if you'd like). And yet you can do just about anything needed to move data back and forth. This means the door is wide open for integrating your project data with SharePoint services. We've tried to make the API as accessible as possible-- as easy and intuitive as the UI is-- but look forward to your feedback to see how well we've succeeded.
If you're curious about IntelliGantt's scheduling engine, you can do an Object Browse on the TDINETProjectModel assembly and see all it exposes. Most of the public names will make some sense. For our next API example, we will create a solution that highlights IntelliGantt's robust and feature rich scheduling engine, as well as templates, resources, assignments, filters, hyperlinks and task dependencies.
Finally, check out some of those enumerations to get an idea of what just might be coming down the road!
Thursday, January 15, 2009
Viewing SharePoint Tasks in a Calendar
[April 2011 Update - Integrating SharePoint Task and Calendar Lists]
In the last week or two I've started fielding more and more questions about viewing tasks in a calendar. It's usually along the lines of 'Do you guys have a calendar web part for tasks?'. To which I answer, 'you already have one in SharePoint'.
I don't see many quizzical response, most likely because these conversations are taking place over phone, but the quizzy vibes come through loud and clear. So I thought a little step-by-step primar illustrating how you can enable a calendar view in a standard, ordinary, run-of-the-mill task list would be helpful.
First of all, a SharePoint Task List is made up of three things: 1) a list, 2) task-specific fields (like Start Date and Due Date) and 3) multiple views. By default, you always have a 'raw data' view of all the fields, which, while utilitarian, isn't visually compelling.
The most popular view for a Task List is the Gantt View. But, as these past weeks have made abundantly clear, not far behind is a Calendar View. Thankfully, SharePoint task lists support multiple views, and a calendar is one of them. It is a bit different than the calendar web part, but still very effective for viewing your tasks across months, weeks and days.
On to the steps. Here is a task list being shown in a pretty Gantt view.

To see the Calendar view, we must drop down the 'View' button on the top right of the web part and create it. The menu pick is even called 'Create View'. (These images are kind of small on the page, but you can click on them to see more detail)

Clicking on 'Create View' takes us to this page, where we can choose the view we'd like. With every service pack, and especially with every major release, its a good idea to check out this page and see if any new goodies.... er... views are available.

Clicking on the 'Calendar View' takes us to the next page which lets us name and configure it. First we'll think long and hard and give it an original name like 'Calendar View'. You see a few options as well. Whether you you want to make this public and even the default view is influenced by how you want to configure it, as we will see shortly. For now, we'll move to the next batch of options.

Most commonly you'll simply choose the start and due date fields of your tasks for your Time Interval options. But, if you use a product like IntelliGantt, which allows you to modify the SharePoint task list to contain Actual Start and Actual Finish, then this is how you could create an 'Actuals' calendar. That will be an excercise left to the reader as I'll choose the standard start and due dates.

Calendar Columns is the next useful group. If you're asking 'why so many options?' for this group, its because you're defining a view within a view. That is, a calendar view can toggle among a month layout, a week layout or a day layout. First I'll define the titles for these three 'mini-views'.

To be honest, I'm not sure how the sub headings are displayed. But I chose 'Status' anyway.

Finally, we can click OK and see the calendar. But before we do, take note of the Filter options. There are two powerful settings you can use to make the calendar view a bit more dynamic: [Me] and [Today]. Me resolves to the current user logged in to SharePoint and Today resolves to the days date. The following two screenshots show how they can be used.


This will be another exercise left to the reader as our Filter options will look like this:

So where's this magical calendar view we've been working on? Click 'OK' and...
The Month view

The Week view

The Day view

We're done. We've created a Calendar view of our Task List for everyone to use. However, one problem remains: how do I get all my tasks in to this Calendar? Do I have to add them one by one by hand?
That's where we come in. My company makes IntelliGantt and the IntelliGantt Add In for Microsoft Project. We make it so easy that its actually fewer steps to add all your tasks than it is to create this calendar view.
If you'd like to see them in action, we have IntelliGantt screencasts and Add In screencasts. Better yet, though, if you'd like to exercise IntelliGantt software yourself, we have 15-day fully functional free trial.
In the last week or two I've started fielding more and more questions about viewing tasks in a calendar. It's usually along the lines of 'Do you guys have a calendar web part for tasks?'. To which I answer, 'you already have one in SharePoint'.
I don't see many quizzical response, most likely because these conversations are taking place over phone, but the quizzy vibes come through loud and clear. So I thought a little step-by-step primar illustrating how you can enable a calendar view in a standard, ordinary, run-of-the-mill task list would be helpful.
First of all, a SharePoint Task List is made up of three things: 1) a list, 2) task-specific fields (like Start Date and Due Date) and 3) multiple views. By default, you always have a 'raw data' view of all the fields, which, while utilitarian, isn't visually compelling.
The most popular view for a Task List is the Gantt View. But, as these past weeks have made abundantly clear, not far behind is a Calendar View. Thankfully, SharePoint task lists support multiple views, and a calendar is one of them. It is a bit different than the calendar web part, but still very effective for viewing your tasks across months, weeks and days.
On to the steps. Here is a task list being shown in a pretty Gantt view.

To see the Calendar view, we must drop down the 'View' button on the top right of the web part and create it. The menu pick is even called 'Create View'. (These images are kind of small on the page, but you can click on them to see more detail)

Clicking on 'Create View' takes us to this page, where we can choose the view we'd like. With every service pack, and especially with every major release, its a good idea to check out this page and see if any new goodies.... er... views are available.

Clicking on the 'Calendar View' takes us to the next page which lets us name and configure it. First we'll think long and hard and give it an original name like 'Calendar View'. You see a few options as well. Whether you you want to make this public and even the default view is influenced by how you want to configure it, as we will see shortly. For now, we'll move to the next batch of options.

Most commonly you'll simply choose the start and due date fields of your tasks for your Time Interval options. But, if you use a product like IntelliGantt, which allows you to modify the SharePoint task list to contain Actual Start and Actual Finish, then this is how you could create an 'Actuals' calendar. That will be an excercise left to the reader as I'll choose the standard start and due dates.

Calendar Columns is the next useful group. If you're asking 'why so many options?' for this group, its because you're defining a view within a view. That is, a calendar view can toggle among a month layout, a week layout or a day layout. First I'll define the titles for these three 'mini-views'.

To be honest, I'm not sure how the sub headings are displayed. But I chose 'Status' anyway.

Finally, we can click OK and see the calendar. But before we do, take note of the Filter options. There are two powerful settings you can use to make the calendar view a bit more dynamic: [Me] and [Today]. Me resolves to the current user logged in to SharePoint and Today resolves to the days date. The following two screenshots show how they can be used.


This will be another exercise left to the reader as our Filter options will look like this:

So where's this magical calendar view we've been working on? Click 'OK' and...
The Month view

The Week view

The Day view

We're done. We've created a Calendar view of our Task List for everyone to use. However, one problem remains: how do I get all my tasks in to this Calendar? Do I have to add them one by one by hand?
That's where we come in. My company makes IntelliGantt and the IntelliGantt Add In for Microsoft Project. We make it so easy that its actually fewer steps to add all your tasks than it is to create this calendar view.
If you'd like to see them in action, we have IntelliGantt screencasts and Add In screencasts. Better yet, though, if you'd like to exercise IntelliGantt software yourself, we have 15-day fully functional free trial.
Tuesday, January 13, 2009
Summary Execution with Microsoft Project
After having explored the benefits of Master Projects / Sub Projects in Microsoft Project I thought I'd introduce a way to tackle a similar problem from a different angle. In the immortal words of Monty Python:
While there are many master projects with embedded, self-contained sub-projects, there are just as many, if not more, really large projects that span the deliverable in its entirety but baffle the team members with its complexity. We designed the next version of IntelliGantt to not only manage large projects in its user interface, but to also help manage large projects using Microsoft Project as well.
Why?
Because-- and I'm happy to admit this-- you shouldn't use IntelliGantt to build a nuclear power plant. Or an advanced airplane with all carbon-composite parts. For these types of projects you need the power of Microsoft Project and its million features to aid in the billion permutations that will happen along the way.
However, with IntelliGantt you can apply one of the simplest, most effective strategies-- Divide and Conquer.
V3 IntelliGantt Plus introduced the concept of identifying a summary task in Microsoft Project and working the project in IntelliGantt Plus. This worked fairly well, but customers told us we needed even more integration so that results could be written back to Microsoft Project when needed. Furthermore, reading new input from Microsoft Project was required to support big change events in the over-arching project plan.
The result is probably the richest integration of Microsoft Project of any application on the planet. With version four of IntelliGantt you can ask MS Project to open a project plan, select a summary task as your scope of operations, work with just the pieces that you need for and, finally, update the orginal plan with your results.
This gives you and your team several benefits
1) You work with a limited set of information thereby reducing complexity
2) Your team works with only the information they need
3) Nobody sees information they don't, or shouldn't, need
4) You can increase througput by having multiple project managers execute their pieces and letting IntelliGantt coordinate the updates
5) IntelliGantt let's you share project data with people that wouldn't normally have access-- like consultants outside a firewall.
We most definitely like Microsoft Project to be responsible for the heavy lifting when working with large projects. But IntelliGantt's rich collaborative abilities along with its nonpareil MS Project integration let's you open up the pieces to your project plans in ways not possible before.
Instead of working with one giant project en masse, IntelliGantt lets you work with and complete task groups defined by summaries. The best part is the bigger the project, the more effective dividing and conquering can be.
And yes, we have an excellent screencast showing this cleverness in action.
And now for something completely different.
While there are many master projects with embedded, self-contained sub-projects, there are just as many, if not more, really large projects that span the deliverable in its entirety but baffle the team members with its complexity. We designed the next version of IntelliGantt to not only manage large projects in its user interface, but to also help manage large projects using Microsoft Project as well.
Why?
Because-- and I'm happy to admit this-- you shouldn't use IntelliGantt to build a nuclear power plant. Or an advanced airplane with all carbon-composite parts. For these types of projects you need the power of Microsoft Project and its million features to aid in the billion permutations that will happen along the way.
However, with IntelliGantt you can apply one of the simplest, most effective strategies-- Divide and Conquer.
V3 IntelliGantt Plus introduced the concept of identifying a summary task in Microsoft Project and working the project in IntelliGantt Plus. This worked fairly well, but customers told us we needed even more integration so that results could be written back to Microsoft Project when needed. Furthermore, reading new input from Microsoft Project was required to support big change events in the over-arching project plan.
The result is probably the richest integration of Microsoft Project of any application on the planet. With version four of IntelliGantt you can ask MS Project to open a project plan, select a summary task as your scope of operations, work with just the pieces that you need for and, finally, update the orginal plan with your results.
This gives you and your team several benefits
1) You work with a limited set of information thereby reducing complexity
2) Your team works with only the information they need
3) Nobody sees information they don't, or shouldn't, need
4) You can increase througput by having multiple project managers execute their pieces and letting IntelliGantt coordinate the updates
5) IntelliGantt let's you share project data with people that wouldn't normally have access-- like consultants outside a firewall.
We most definitely like Microsoft Project to be responsible for the heavy lifting when working with large projects. But IntelliGantt's rich collaborative abilities along with its nonpareil MS Project integration let's you open up the pieces to your project plans in ways not possible before.
Instead of working with one giant project en masse, IntelliGantt lets you work with and complete task groups defined by summaries. The best part is the bigger the project, the more effective dividing and conquering can be.
And yes, we have an excellent screencast showing this cleverness in action.
Monday, January 05, 2009
Working with Master & Sub Projects

More than a few customers have let us know the importance of supporting Microsoft Project's Master Project / Sub Project configuration. It certainly makes sense because it gives you a nice rollup view and, more importantly, a convenient way to create and manage shared resource pools.
We're happy to introduce support for a Master Project / Sub Project scenario and, because the suggestions came from customers, we think folks will be pleased by the results.
As a brief overview, what we did was focus more on the sub projects and less on the master projects. By this I mean master projects really aren't 'updatable'. Rather, they are deriving their value from the collection of sub projects grouped in to the master view.
So what we did was make the behavior similar to if you were working on the sub project in its own window. That is, IntelliGantt recognizes when you have selected a sub project, or a task within a sub project, and adjusts its menus accordingly.
This lends itself to a very flexible way to share the pieces. That is, you could share all your sub projects in one SharePoint site. Or, if you really want to take advantage of IntelliGantt architecture, you could share every project to distinct SharePoint sites-- or even distinct SharePoint servers.
For example, one of the common use cases was a project manager with a master plan with two sub projects of completely different constituents. The first sub project might be for an in-house group whereas the second sub project might be with contractors who really don't need to know about everything (the life of a contractor :).
With IntelliGantt, you can share the first sub project to an internal server AND the second sub project to a distinct external host-- maybe even on the contractors own SharePoint server. Updates are scoped to the sub projects so the team members only see what they need. The project manager, on the other hand, can see everything together.
We think this matches the evolving needs of project managers to parcel out work for diverse teams.
But enough reading, check out the screencast and see IntelliGantt master the sub project landscape.
Tuesday, December 30, 2008
Overbooked Tasks and Overallocated Resources

My hats off to the engineering folks at TeamDirection for rethinking and reimplementing the 'Show Overbooked' filter in IntelliGantt. Very slick!
With my remaining hats, I doff them to our customers that took the time to give their feedback and help improve the product for everyone. Let's just say folks had a few ideas on how to better this feature.
The result plays very well with IntelliGantt's improved multi-project viewing architecture. In fact, touching on a the 'Sum is greater than the Parts' theme, it's really two different systems playing very well together-- Multi-Project View and Task Filtering. Each can be used by itself, but together these two systems solve two rather severe limitations the old product had in identifying overbooked tasks and overallocated resources:
1) In V3 only projects within a single folder could have the filter applied
2) In V3 the filter only went to 'day' granularity. That is, if a task was less than 1 day or a resource was less than 100% utilized... well... version 4 is here!
With IntelliGantt V4 you can select any combination of projects you want, which should be very helpful when verifying that all the places you put your 'best woman for the job' are still in the same space-time continuim.
And of course, since IntelliGantt 4 supports 'level of effort' per assignment, the filter also does a bit a match and recognizes that less than a day is ok.
Click on the image for the screencast and, if you really want to see IntelliGantt 4 in action, use this link to try it out yourself.
Tuesday, December 23, 2008
Warmer and More Efficient
We had to replace our natural gas furnace recently-- funny how that happens when a foot of snow falls-- and given that our old furnace was just a couple days under 20 we opted to go with a high efficiency replacement. I admit to being a tad skeptical by nature and all the claims of '95% Efficiency' seemed very much like EPA mileage estimates. But we did it anyway, deciding on a Trane 95XV which also has a variable two-speed fan.
I just happened to pay my gas bill today and happened to see last weeks gas usage on my online statement. It looks like this:

Guess which day last week we replaced the furnace? :)
And this is during our deep freeze when the temperature reached a cool (for the Pacific Northwest) 15 degrees Farenheit.
I just happened to pay my gas bill today and happened to see last weeks gas usage on my online statement. It looks like this:

Guess which day last week we replaced the furnace? :)
And this is during our deep freeze when the temperature reached a cool (for the Pacific Northwest) 15 degrees Farenheit.
Monday, December 15, 2008
Export Microsoft Project Tasks to SharePoint

We covered importing tasks from SharePoint in to Microsoft Project. Now it's time to go the other way, as any flexible solution should-- exporting your tasks from Microsoft Project to SharePoint.
There are many benefits to this of course, from a high level benefit like keeping everyone on the same project page to a low level benefit like creating schedules in MS Project because it can simply be done faster than creating tasks in SharePoint. TeamDirection, and most likely Microsoft, thinks those desktop apps are still good for something!
In truth, sharing, importing and exporting are variations on a theme-- how best to 1) create and manage a schedule and 2) inform the team and solicit feedback. IntelliGantt's goal is to make it as easy as possible to move tasks to and from desktop products and collaborative products. In this case, with our IntelliGantt Add In, between Microsoft Project and SharePoint.
MS Project does at least one million great things-- but its not so good at being collaborative. SharePoint is an excellent collaborative environment-- but its not so good at creating project schedules.
One of our customers is a hospital that uses SharePoint extensively for exactly the right reasons. They want a common, known area for groups to view their important items of the day. They want individuals to be able to update those items and everyone to see the results.
The issue they were running in to was they needed a full time administrative assistant to merge the changes from MS Project and SharePoint together and keep the mpp file and the task list in sync. To do this would sometimes take up to one week!
With IntelliGantt, we brought it down to one click that the project manager could do on their own. The result was the administrative assistant's time was freed up, the project manager was empowered and the staff was confident that what they were seeing was up-to-date and that their changes were being captured.
We'd be happy to help your team too with our IntelliGantt Add In for Microsoft Project.
Thursday, December 11, 2008
Importing SharePoint Tasks with MS Project

Which came first, the task in Microsoft Project or the task in SharePoint? We don't know either, so we made IntelliGantt just as smart importing tasks from SharePoint to MS Project as it is exporting and synchronzing them.
You can judge for yourself with the simple, informative screencast we made. The first question to ask is whether you want to just import tasks and be done with it, or if you want to import tasks AND remember where they came from. Thankfully, we don't know the answer once again, so IntelliGantt does both.
There's a compelling scenario for just importing tasks. For example, say you have 5 different task lists in SharePoint that have magically sprouted (these things happen!) and you'd like to consolidate them in to one SharePoint task list-- the fancy one with the Gantt chart. IntelliGantt can start from a single MS Project sheet and import many SharePoint task lists-- appending as they go. The result is those five SharePoint task lists of 10 items can turn in to a single MS Project plan of fifty tasks. Then you can then share it to a new task list with the permissions and features you need to manage the project.
The scenario for importing tasks in to MS Project and mainting the link to the SharePoint task list is straightforward-- that once simple SharePoint task list kept growing until it needed scheduling attention (your professional help). As you'll see in the demo, maintaining the link to SharePoint is as simple as clicking on a checkbox.
Given these two scenarios, there's really not a right answer or wrong answer-- just a both answer.
Wednesday, December 10, 2008
Project Managablement

I think we've all been on the project that takes 100% of our time and effort. How do you cope with the 10 others that require a mere 99%?
One of IntelliGantt's most popular features was multi-project view support. We've listened to your suggestions over the past year and have greatly improved the user experience. The end result is working with multiple projects is much more managable.
Before you had a free floating organizer with free floating windows for every project. This made it more difficult to keep track of everything. IntelliGantt has a new self-contained paradigm where all your projects are listed in a tree control on the left and your 'active projects' are on the right.
What's an active project? In the tree view, every project has a simple checkbox by it. If there's a check, its active and visible in the active view. If there's no check, its not active (ie. visible). Click a project to see it, click it again to make it disappear-- click the folder to bring all its children in to view.

In addition to making it very easy to flip in and out of projects, it also increases the power of our built-in filters. You can apply filters based on task properties and resources to many projects at once, make edits and turn the whole mishigosh in to a single, managable view.
IntelliGantt makes it easy. Check out the screencast for more.
Tuesday, December 09, 2008
Collaborating on Projects in a Cloud

Are projects in a cloud a good thing?
Most definitely.
Chances are very good you have a File Server handy to work on projects with colleagues. Your organization might even be lucky enough to have SharePoint available for rich collaboration and reporting. However, there are an awful lot of folks who need to communicate outside the corporate firewall (so no Local Workgroup) and don't have SharePoint available (either as an extranet or via a hosted provider).
In this case IntelliGantt helps a project manager work with a team across the internet by using Cloud Services (in our case, Amazon Simple Storage Solutions). Perhaps the coolest thing about this option is all you need is a client computer, an email address and an Internet connection. IntelliGantt (and Amazon) takes care of the rest.
After you create a project, schedule it and assign tasks, IntelliGantt let's you invite other people by a simple email. An IntelliGantt invitation invites them to the project. If they're a member, they can join and see the exact same view as other members in the project.
It's not done by smoke and mirrors-- it's a Cloud :)
This solution represents a realized vision of Software + Services. It's really no different than pointing a browser to a web site except for one important fact: The project data you are working with is on your machine.
This means you have a copy of it local, so you don't need to be connected to the internet in order to work. But more importantly, its really easy to integrate with your other Office applications.
If you're interested in seeing how IntelliGantt can connect team members with a cloud, you can try it out with a fully functional 15 day evaluation today.
Friday, December 05, 2008
What I Would Do With One Trillion Dollars

It seems to be the question of the day. Well, the very first question seems to be 'How much money do we need to solve the economic problem?' US$1,000,000,000,000 seems as good a starting place as any other amount.
So, should we:
a) Give a few large chunks to a few large companies that have failed because they are too big to fail?
b) Give many small chunks to many small companies, improve the odds that a number of small businesses can do a better job than a couple gigantic businesses and restart competition?
Its instructive to look at the last time a similar situation demanded evolutionary thinking. No, I'm not talking the 1930s.
I'm talking 63,000,000 BC, right before that meteor struck and nature had a choice: save the dinosaurs or give mammals a chance.
We've seen the financial meteor hit. Rather then pour US$1,000,000,000,000 into that impact crater, how about the Small Business Administration? Want US$10,000,000 to start a new bank? Great. And there would be money left over for 100,000 more. Think Tesla could use a few more dollars to bring its car to market? How about James Fallow's Day Jet ideal? Even my brother once looked in to starting his own credit card company.
Wasn't it a good thing that mammals got an opportunity?
Subscribe to:
Posts (Atom)