This blog focuses on customizations and programming for Project Web App, Project Server, Project Professional and Project Standard. Includes User Interface (UI) customizations, Project Server Interface (PSI) and Visual Basic for Applications (VBA) Programming. It also covers Business Intelligence.
The Microsoft Office 2007 interactive developer map has been available for several years, which is very handy for finding documentation on all Office 2007 products. Now Office 2010 has its own: See Microsoft Office 2010 Developer Map.
Want to find documentation for OneNote Mobile on Windows Phone 7? Just click Mobile Applications in the Developer Map, click OneNote Mobile, and it takes you to the correct documentation page. Yes, Project and Project Server are there, too.
The interactive map includes relationships of all of the Microsoft Office client applications, server applications, mobile applications, services and Office 365 applications, and related technologies, development tools, and platform components. Just what we have been waiting for.
The Learn Office Development page on MSDN is recently updated. It includes links to both of the Office Developer Maps, and also a link to the Office 2010 Developer Map poster.
MS Press has just published Inside Microsoft SharePoint 2010, which will also be very useful for Project Server 2010 developers – since, as we all know, Project Server is an application service in SharePoint Server, PWA is a SharePoint application (a somewhat restricted one with a few specialized Project Server Web Parts thrown in), and project sites are pure SharePoint (with some custom lists).
Although Chapter 11 on Creating and Developing Workflows primarily discusses SharePoint Designer, which we can’t use for Project Server workflows, it does provide a good overview of workflow concepts.
SharePoint Server 2010 handles user authentication through claims processing, which is a new feature for SharePoint and Project Server. SharePoint handles both Windows authentication and Forms authentication for Project Server users. For authorization, you can use the ReadResourceAuthorization and SetResourceAuthorization methods in the Resource service of the PSI. Because you probably don’t often change security authorization settings for users, you would normally go to the Manage Users page in Project Web App to select a user and set the global and category permissions.
The Security business object in Project Server (with programmatic access through the PSI Security service) manages security groups, categories, templates, and the global Project Web App permissions. The Security service can add existing permissions or remove permissions from the sets available for Project Server users. However, the Security service does not have a method for creating a custom permission. For example, if you created a Project Server extension that updates a Siebel CRM system, you might want a custom permission that enabled users to use that extension.
In Office Project Server 2007, you can create custom global and category permissions by modifying security tables in the Published database. Custom permissions show in the PWA lists of permissions, where Project Server administrators can secure the 3rd-party extension the same way they secure other Project Server features. The Walkthrough: Creating and Using Custom Project Server Permissions article is the only SDK example where an exception is made for changing the Published database.
NOTE: The Project team would like some feedback on the importance of custom permissions. If you need to create custom permissions in Project Server, please respond to this post.
In Project Server 2010, that process for creating custom permissions still works as it did in Project Server 2007. In future versions of Project Server, no modifications to tables in the Published, Draft, or Archive databases will be supported. Custom permissions and secure links that rely on table modifications still work in Project Server 2010, but that process will be deprecated. As an alternative, you may have to create your own user interface to manage custom permissions, or use claims augmentation in a custom application. For more information, see Claims Provider.
For more information about Project Server security, including a discussion of global and category permissions, see the Project Server Security Primer in the Project Server 2007 SDK and Security and protection for Project Server 2010 in TechNet.