Incrementally track changes to folders, sessions, and users in SOAP API?
We want to track what subfolders and sessions are in a folder. To track this we would either need to do a full system pull of all folders which is not performant as it takes over 40 minutes for each object type. Or we do an incremental pull of the folders/sessions/users. To do an incremental pull, we would need to know when an object changed (created, moved, or renamed.) Our question is - is there a way to incrementally update that day’s changes to the folder structure, or sessions, or users?
We are not concerned here about when a session was viewed or folder content was viewed since we will pull the system views and caliper events separately (GetSessionExtendedDetailedUsage). The event data will be incremental as we will only look at that day’s events.
Sessions: created, modified, moved (w/destination folder)
Users: created, modified
Folders: created, modified, moved (w/destination folder)
System Views: [straightforwardly incremental]
Caliper Events: [straightforwardly incremental]
In addition to System Views, there are a few other System Usage reports that might get you some of the way in the direction you want:
Nothing in the API currently exposes a general last update time field on the objects you call out. Session and folder movements are logged internally and can be queried on an ad hoc basis through support ticket; we plan to eventually make those logs generally available in the product. I've also made a note to expand the existing user sign-in time report mentioned above to track changes to user profile information such as display name or email address (currently that won't flag a user for inclusion in the report).
You mentioned that you're not concerned with viewing events for sessions, folders, or users since you're getting that data separately, but it could be one way to limit the incremental objects of interest to query. You can use the System Views report (or the Folder Usage and Session Usage reports) to identify which folders and sessions recently had viewing activity by which users. Those would be the likeliest candidates to have also undergone some other configuration change which you could then separately confirm either through a separate API call or through the source report itself. (For example, the Session usage report provides the full folder path to each session in the report.)
Do you expect that your session and folder paths will frequently change in isolation of any other activity to those objects (like viewing or editing activity)? Are there specific types of modifications you're looking for on any of the system objects you called out? If you can speak in more detail of the tracking scenarios you want to enable, I might be better able to suggest approaches with existing APIs or else update our feature request log to ensure that our development efforts will fully enable your scenarios in the future.