C
Charles Chen
So the general requirements of this project I'm working on are:
1. Check out some projects.
2. Modify some data.
3. Save and publish the project.
As a developer, I'm very uncomfortable with the idea of automating UIs to do
this stuff (why don't we have a *real* API for Project like we do with
Reporting Services?).
I feel just as uncomfortable bypassing all of the business logic contained
in the UI, but I was able to track down the single column that needed to be
modified in the ProjectServer database. I tested this by changing the value
and, sure enough, the value is correctly updated in the project the next time
I open it.
I present this solution and now what I'm hearing is that this is not
acceptable since the value ("Status date") affects some calculations and if
you change the value in the database without the calculations, the project
data shows up incorrectly in Project Web Access. Having only used project
for these last two days, I have to ask some newbie questions before I accept
UI automation as the only option:
1. For a given project, if there is calculated data that is driven by a
value, if that driver value is changed, are the calculations being done at
the UI level (yuck)? Are they being done in some SP? Are they being done in
such a way that I could do it without automating the UI (yuck)? (Bear with
me, I'm a total Project newbie).
2. Is there a way to simulate a "Publish" action without automating the UI?
By this I mean whether there is an SP or a set of SPs that can used to
simulate the publish action on a project via SQL Server directly instead of
the flaming gayness that is UI automation.
2.1. What exactly is "Publish"? What does it do? Is Project keeping all
changes in some local data store and then sending it back on a publish
action?
If anyone has ideas/suggestions/info, it would be much appreciated. Thanks.
1. Check out some projects.
2. Modify some data.
3. Save and publish the project.
As a developer, I'm very uncomfortable with the idea of automating UIs to do
this stuff (why don't we have a *real* API for Project like we do with
Reporting Services?).
I feel just as uncomfortable bypassing all of the business logic contained
in the UI, but I was able to track down the single column that needed to be
modified in the ProjectServer database. I tested this by changing the value
and, sure enough, the value is correctly updated in the project the next time
I open it.
I present this solution and now what I'm hearing is that this is not
acceptable since the value ("Status date") affects some calculations and if
you change the value in the database without the calculations, the project
data shows up incorrectly in Project Web Access. Having only used project
for these last two days, I have to ask some newbie questions before I accept
UI automation as the only option:
1. For a given project, if there is calculated data that is driven by a
value, if that driver value is changed, are the calculations being done at
the UI level (yuck)? Are they being done in some SP? Are they being done in
such a way that I could do it without automating the UI (yuck)? (Bear with
me, I'm a total Project newbie).
2. Is there a way to simulate a "Publish" action without automating the UI?
By this I mean whether there is an SP or a set of SPs that can used to
simulate the publish action on a project via SQL Server directly instead of
the flaming gayness that is UI automation.
2.1. What exactly is "Publish"? What does it do? Is Project keeping all
changes in some local data store and then sending it back on a publish
action?
If anyone has ideas/suggestions/info, it would be much appreciated. Thanks.