none
Why would I extend the PSI? RRS feed

  • Question

  • I'm developing a few custom web parts that read project and task info.  In a few cases the data I need isn't available from the PSI - but is readily available in the reporting database. 

    In other cases the data is cumbersome to get at using the PSI...For example, if had a custom project field named "foo", I would need to know the GUID or PropID of that field in order to call the web service and return the value that foo holds.   I think this equates to hard coding the GUID somewhere in the code or in a config file. 

    I'm having trouble understanding why I would ever want to extend the PSI with additional methods that query the Reporting Database... seems like an extra unnecessary step.   To authorize the user I could simply use the ReadProjectStatus(<parameters>).  Then I could build a datatable using ADO.net that gets data directly from the reporting db.

    Am I missing something?  I guess I dont get it.

     

     

    Friday, May 14, 2010 2:47 AM

Answers

  • High-level, only Published data tends to be in the Reporting DB. If that suits you - and you don't need data for projects that are not published yet, you should be fine.
    • Marked as answer by BayouB Saturday, May 15, 2010 9:10 PM
    Friday, May 14, 2010 4:33 AM

All replies

  • High-level, only Published data tends to be in the Reporting DB. If that suits you - and you don't need data for projects that are not published yet, you should be fine.
    • Marked as answer by BayouB Saturday, May 15, 2010 9:10 PM
    Friday, May 14, 2010 4:33 AM
  • JohnBGood:

    I'm sorry that I can't really answer your question, but it has touched on a question of mine. I am trying to create a web part to host on Project Server that talks to the PSI, and have had little luck making the connection. (See http://social.microsoft.com/Forums/en-US/project2010custprog/thread/4880a98c-4b66-4375-ac3d-25fa910f506e) It sounds from what you have said that you have already passed that hurdle. Is there any chance you can share with me what you have so far? I'd greatly appreciate it.

    Thanks in advance.

    Doug

    Friday, May 14, 2010 12:04 PM
  • Here are some situations where you might want a PSI extension:

    • Filter a list of projects based on a custom field value, from a set of 10,000 projects. The filtering occurs on the server.
    • Query the RDB by using a custom PSI method, which is accessible by using WCF from outside the firewall.
    • Save bandwidth by consolidating information from several PSI calls.
    • Integrate the PSI more efficiently with LOB apps.
    • Proposed as answer by Jim Corbin Friday, May 14, 2010 6:34 PM
    Friday, May 14, 2010 3:19 PM
  • Thanks to all for your advice.  I very much appreciate it!!
    Saturday, May 15, 2010 9:10 PM
  • Incidentally, I have had this blog post on my computer for a while explaining how this is done. I also give an example of how that can be useful. Please take a look here.

    Thanks,

    Wednesday, May 19, 2010 12:32 AM
    Moderator
  • Been struggling with it.. let me know if you would like to know what I've learned so far.
    Sunday, May 23, 2010 8:43 PM