Just a quick blog post to highlight a feature in the OData reporting API so that you are aware of how it works. A few months back it was announced that all entities in the OData API would have modified dates. I thought this would be a great addition as those that pulled the data into a SQL database could then just pull down the deltas to minimise the data from Project Online into the database. I for one hadn’t really looking into the new modified date properties as I just assumed they would be true modified dates when those entities where updated. So for example, I thought if I just opened and published a project without changing any task data only the Project Modified Date would change and the Task Modified Dates would remain as the previous dates when those tasks were actually modified. This assumption was incorrect, in that scenario where you only open then publish the project without making changes to any tasks, all task modified dates are also updated to match the project modified date. See the example below:
The Office 2016 rollout plan on my test Project Online system was created over a month ago as were all of the example tasks. Today I just opened the project and published it without making any changes to any tasks but notice the ProjectModifiedDate and TaskModifiedDates all match:
Checking the Task Time phased task modified dates shows the same thing:
If I just add a new task then publish the project the same happens, the project modified date is updated as expected but also all tasks are updated to have the same task modified date as the project modified date:
I have also seen examples where adding one new task doesn’t impact the modified dates of other tasks.
If I now left that project open for a couple of minutes without making any changes then hit publish again, this time I do see only the Project Modified Date change as expected, in that scenario the task modified dates remain the same.
Here are examples for task data and task time phased data but the same occurs in all feeds such as assignment time phased, assignment baseline time phased etc.
Just something to be aware of if you were wondering why the dates were always being updated – may be you had the same assumption as I did! If you are using the entity modified dates, make sure you test all scenarios to ensure you know when dates do and don’t get updated.
I have put an idea on the user voice forum – if you agree it would be good to change these dates to true modified dates – get voting https://microsoftproject.uservoice.com/forums/218133-microsoft-project/suggestions/19821661-have-true-entity-modified-dates-in-the-odata-api-f