Open XML New- Append- Merge

Hi,

I've been giving some thought to the workflow for using the XML files. Everytime I open the XML file I'm presented with a choice to make a new file, append to an existing file or merge with an existing project.

I'm now finding that this is also an important area ... the XML files do not appear to carry the full set of information that an MPP file might carry. The idea of extracting the XML, updating the XML and then merging the XML back into an MPP might actually solve the performance problem over automation (I decided not to make an addin this time around). I may be looking at this as an alternative to full automation (I'll check into this..) where I keep the XML hidden and end up saving an updated MPP.

The idea of merging also re-inforces the need for the UIDs to be stable and unique across a number of interactions with MSP. (This is now fully addressed and appears to work fine!!).

This may also mean that the MPP format is still an important format for reading and writing.. as this should have everything from source.

I'm still exploring the full capabilities of the XML files ... any other thoughts appreciated!!

Regards, Bruce

Hi Bruce,


A connected issue was discussed in this thread. But full issue is too deep for quick response of course.

Let us have some time to analyze the problem.

Hi Sergey,

Just to be clear. I see this now as an opportunity rather than a problem.

To be able to use automation to MS Project:

  1. Open the MPP (using automation)
  2. get the xml from the MPP (save as file or string)
  3. update the xml using Aspose.Tasks and the current application
  4. merge the xml back into the MPP - (open xml file or string)
  5. Save the MPP

everything I need to update the MPP is in the XML

Do not let this distract you from getting the XML working / updated!!!!

I'm happy to make a third interface in my app to prototype this approach and then provide results. (it may not be possible?)

Maybe others have tried this approach?

Regards, Bruce

Hi,

I've just done a quick check of the FileOpen and FileSaveAs functions in MS Project.

These appear to allow a XMLDOM to be used in Open or SaveAs (XMLDOM 2002 and XMLName 2007). I think these are XMLDocument objects ... still to be confirmed.

I'll check a bit further ... however, it might be useful if there were a 3rd overload on the project reader or writer to allow input or output directly from / to an XMLDocument.

Just a thought..

Regards, Bruce