We are searching a solution on our production planning system.
We expect that the planner can use MS project to maintenance the planning and then save all the planning information back to SQL server database.
The planner can also open MS Project, click a button then all the planning data stored in database can be retreived and re-build as a .mpp or .xml file which can be edit by MS project.
We find that your tools is the best tools to support us.
But we have some questions on the solution, maybe you can help.
1. What is the best way to save/sync data from MS project to database? If we sync via a .mpp or .xml file, then the data is stored in 2 places with redundant. We are worry about the mismatch between then. Can we direct save all .mpp data to database withou permanent .mpp file?
2. Can we use your tools together with C# to extract data from database and rebuild a temperory .mpp or .xml file for edit, and then save it back to database again?
3. If we have more than one planners need to edit the same project, what is the best way to support concurrent editing?
Looking for your professional suggestion with many thank from China.
I have analyzed your requirements and would like to share that Aspose.Tasks is a rich library that can process MPP and XML files without need of Microsoft Project (MSP). It should be noted that Aspose.Tasks does not contain visual component and can be used independently as library in .NET with support to many languages including C#.
As it does not interact directly with MSP, so it cannot share data in MS Project, and MPP/XML files are to be saved by MSP on disc and then Aspose.Tasks will be able to read that data.
lts:
1. What is the best way to save/sync data from MS project to database? If we sync via a .mpp or .xml file, then the data is stored in 2 places with redundant. We are worry about the mismatch between then. Can we direct save all .mpp data to database without permanent .mpp file?
Data cannot be directly saved from MSP and files will have to be saved on disc by MSP. After saving the file, Aspose.Tasks will read this data and save it in MemoryStream. This stream can be written as BLOB in SQL database along with the meta data of the project file. After this the MPP file can be deleted from the disc. For reading/editing, data can be read from database and saved on disc in MPP/XML format, which can be further used by MSP if required.
lts:
2. Can we use your tools together with C# to extract data from database and rebuild a temporary mpp or .xml file for edit, and then save it back to database again?
Yes, it can be done by saving MPP/XML to MemoryStream, save this memory stream as BLOB in DB and similarly retrieve this data from DB, save it on disc as MPP/XML and use for editing.
lts:
3. If we have more than one planners need to edit the same project, what is the best way to support concurrent editing?
This feature is not available in Aspose.Tasks as its not a visual element and it should be managed by some other means.
Please feel free to write us back of you have any other query in this regard.
I understand that you mean that we can use your library to upload local MPP file into database as blob. Could you please help to check whether we can use your tool to extract the data from MPP and load the data into database? For example, load tasks into a table, load resource into another table, load assignment into 3rd table.
Then whether we can use your tool to extract the data from database and create a MPP file from local machine and use the MSP to edit it?
Thank you for contacting Aspose Support team again.
Aspose.Tasks can read/write tasks, resources and assignments from/to MPP however it does not support reading/writing MPP data directly to database in the form of tables. This functionality can be achieved by making own classes and logic as no direct method is available to convert MPP file into tables like tasks, resources, assignments etc. and saving to database.
MPP files contain lot of data and lists which need lot of effort and care while saving data to individual tables and then creating back the same MPP. You will need many fields and tables to save main project properties and different lists in it containing further properties, as all the properties are to be intact to re-produce the same MPP.
You may please consider saving the MPP as a whole in BLOB and then save related information (as meta data) in different tables like tasks, resources etc. for searching and extracting particular MPP to be used in MSP. After modification, MPP should be saved back as a whole along with new meta data.
Please feel free to share your thoughts and write us back if you have any other query in this regard.