Developing Microsoft Project Integration

This document gives instructions that is needed for the Microsoft Project Integration developments.

When to use this information:

Use this page when you do bug fixes in the integration or future enhancements.

Contents

 

Prerequisites

Following prerequisites needs to be installed in development machine according to work with the MSP add- in.

Source File

Check out the PRJMSP component and place it inside the tool disk's workspace folder.

Code Corrections

Open Ifs.Prjmsp.2010.sln solution inside prjmsp\source\prjmsp\client\Ifs.Prjmsp.2010 You can find the common form controls and logic inside Ifs.Application.Prjmsp project. Modify any code according to the requirement and build the solution.

Provide Support For Translations

If the code correction needs a change in the language files do the following steps.

  1. Open Ifs.Prjmsp.2010.sln solution right click on the Ifs.Application.Prjmsp project and click on Extract Localizable Strings to generate Ifs.Application.Prjmsp.resources.xml.
  2. Create the Prjmsp.lng file using the normal procedure.

Testing Microsoft Project Integration Add-In

After you have done the code corrections you can test the add-in by running the Ifs.Prjmsp.2010.sln solution. If you need to check any translation issues you need to follow below steps.

  1. Commit the modified code and language file.
  2. Wait for a build in team server.
  3. Run the external\prjmsp\CopySateliteAssemblies.exe to copy Satellite Assemblies from the team server. (screen shot of the CopySateliteAssemblies.exe is shown below.)
    1. Verify path to the Team Server Client Runtime Folder and the Project folder are correct.
    2. Click on the Download button to copy required dll's from the Team-Server to prjmsp\source\prjmsp\client\Ifs.Prjmsp.2010\ Ifs.Prjmsp.2010 folder to work translations properly.
       

  4. Run the Ifs.Prjmsp.2010.sln and test the add-in.

Building Click-Once setup

  1. Open solution Ifs.Prjmsp.2010.sln (prjmsp\source\prjmsp\client\Ifs.Prjmsp.2010).
  2. Change The Version number in following places

           Properties of Ifs.Prjmsp.2010 Project-->Application-->Assembly information

           Properties of Ifs.Prjmsp.2010 Project-->publish-->Publish Version

           Properties of Ifs.Application.Prjmsp Project-->Application-->Assembly information

  1. If a signed Click-Once setup is needed, then the technical representative needs to load the PFX file before publishing the setup.

  2. Publish Solution to prjmsp\client\officeaddins\prjmspofficeaddin

Building MSI package

  1. Open solution Ifs.Prjmsp.2010.sln (prjmsp\source\prjmsp\client\Ifs.Prjmsp.2010).
  2. You will see 2 projects (Ifs.Prjmsp.2010.Setup32 and Ifs.Prjmsp.2010.Setup64)
  3. Build both Ifs.Prjmsp.2010.Setup32  and Ifs.Prjmsp.2010.Setup64 projects.

  4. MSI file will generated in to the relevant folder as below (Ex; For the 32bit project the MSI will be generated in prjmsp\source\prjmsp\client\Ifs.Prjmsp.2010\Ifs.Prjmsp.2010.Setup32\Debug folder).
  5. The Generated MSI files will be copied automatically with a post build event to a relevant folder inside win32client as below (Ex; For the 32bit project the MSI will be copied to prjmsp\win32client\IFS Project Management Microsoft Project Add-In (32-bit)\Install folder).

Folder Hierarchy

Since translation of earlier version Microsoft Project Integration Add-In did not work properly for IFS Application 8, PRJMSP component was restructured.
Solution was uplifted to the .NET 4.5.2 from .NET 3.5 framework. The folder structure shown above is used inside the client folder in order to overcome the translation issues.

Two separate solutions were used:

Translation Support

As mentioned above all the forms and business logic which needs translations support is placed inside Ifs.Application.Prjmsp. Since its using namespace Ifs.Application it is possible to extract localizable strings by RMB on the solution using Visual Studio and you can create the LNG file in normal way.
But currently there is no way to copy build satellite assemblies via tool disk. So we have to copy required DLLs to the satellite assemblies folder manually after a build taken place.
A small application called CopySateliteAssemblies.exe is provided to make the copying process easier. It will copy required DLLs to the satellite assemblies folder and to the bin folder if required by the developer.

Working with Fictive Language

To enable fictive language support

 

Click-Once Setup versioning

The version of any given Office Add-In will be its Click-Once deployment version where each of the version numbers will have a clear meaning:
ClickOnce deployment version:  M.m.b.r (Major.Minor.Build.Revision)
 

For example: 009.001.001.000

        The third (Build) and fourth (Revision) digits require further information:

Handling versioning in support

Security

In the IFS Solution Manager, ensure activity handle "MspOperationManager" is granted to the permission-set "MSP_INTEGRATION" to run the MSP Integration. By default activity handle is granted to the permission-set "MSP_INTEGRATION". If the permission-set does not exist after installation it should be created manually (Run prjmsp\database\prjmsp\ POST_Prjmsp_MSPPermissionSet.sql).

To grant this permission set, only add the new permission-set toward the users that should be allowed access.

FAQ

  1. How to roll back to an earlier version: