iSheet Audit History REST APIs

27312

I'm trying to understand what is possible with the iSheet REST APIs related to audit history.

The use case is that every month we need to show all of the records and indicate what has changed in an iSheet.  There are 3 types of changes: 1 - new records, 2 - deleted records and 3 - modified records.  I assume this REST call can get us that information:  collaborate.highq.com/.../viewWikiPage.action There is no way to limit the results to a given time frame?  Instead, we simply need to request all of the results and iterate through them for the actions made during the time period in question?   I guess we could try to track the nextauditid for the last activity in each month and start the query from there for the next month?

Once we have identified the records that have changed, we would want to show which values had been updated (at the row and column level), likely limited to showing the new values.  The iSheet audit comparison feature on the site is very nice for this.  Can that be replicated with the collaborate.highq.com/.../viewWikiPage.action call?  

The goal would likely be preparing an Excel or CSV file showing all of the records with an initial column indicating "New", "Deleted" or "Updated" and for the "Updated" records showing the changed values set off some way, perhaps in a different font color.  

Has anyone undertaken an effort like this?

Parents
  • David Corrin (Btw, I believe I might have slightly misstated how the REST calls above work.) That's very useful.

    If I am not concerned with who made what change but simply find all of the changes, is that possible. I was most intrigued by what you said: "You could export the data and do your own comparison". Do you mean I could export specific versions of individual records using the REST API?

    Here is the algorithm I envision if I wanted to do this in a brute force way:

    1 - Use the sheet level audit history API call to get a list of every audit record for that sheet for a given time period, essentially a list of itemIDs and the type of activity (delete, add or update)

    2 - For every item (itemid) that was updated, determine the version before the start of that time period and the version at the end.

    3 - IF THIS IS POSSIBLE: Pull the full record for the start and end versions of each of those items that was updated.

    4 - Compare the two versions of each item and display the changes in an appropriate matter.

    My main question is whether it's possible to pull the full record of an item based on a specific version, instead of simply the current version. The GET record api call does not include a version parameter, which makes me think this is not possible: GET /api/3/isheet/{isheetid}/items/{itemid}

    When I view the audit history of an item in the UI and choose to view a specific version, this non-REST call is made to get that data: POST sheetVersionViewPage.action

    Is there a corresponding REST call for this? Is there any other way to do this but manually for each item from the UI?

    Similarly, there is a page that is called to run the comparison: POST showIsheetVersionsCompare.action

Reply
  • David Corrin (Btw, I believe I might have slightly misstated how the REST calls above work.) That's very useful.

    If I am not concerned with who made what change but simply find all of the changes, is that possible. I was most intrigued by what you said: "You could export the data and do your own comparison". Do you mean I could export specific versions of individual records using the REST API?

    Here is the algorithm I envision if I wanted to do this in a brute force way:

    1 - Use the sheet level audit history API call to get a list of every audit record for that sheet for a given time period, essentially a list of itemIDs and the type of activity (delete, add or update)

    2 - For every item (itemid) that was updated, determine the version before the start of that time period and the version at the end.

    3 - IF THIS IS POSSIBLE: Pull the full record for the start and end versions of each of those items that was updated.

    4 - Compare the two versions of each item and display the changes in an appropriate matter.

    My main question is whether it's possible to pull the full record of an item based on a specific version, instead of simply the current version. The GET record api call does not include a version parameter, which makes me think this is not possible: GET /api/3/isheet/{isheetid}/items/{itemid}

    When I view the audit history of an item in the UI and choose to view a specific version, this non-REST call is made to get that data: POST sheetVersionViewPage.action

    Is there a corresponding REST call for this? Is there any other way to do this but manually for each item from the UI?

    Similarly, there is a page that is called to run the comparison: POST showIsheetVersionsCompare.action

Children
No Data