What changes date_modified?

I think it's well-known that the date_modified value returned by the Constituent API is not the same as the value you'll find in the Date Last Changed field in Database view.  My question is, is there any documentation that clarifies when date_modified is updated, and when it is not?


We sync constituent changes to a backup server.  Last night, it told us that 10,050 records had been modified yesterday.  This is far more than usual for us, so I investigated.  When I ran a query for constituents that were modified yesterday in Database view, it only returned 24.


Could someone give a quick overview of the difference between date_modified and Date Last Changed? 


Thanks.

Comments

  • Since posting this, we've started seeing 10,000 records "modified" on a regular basis.  Every three days, 10,000 records come up to be synchronized.  One of the times this popped up was at 11pm on a Saturday, when I am reasonably sure no one was working.


    This is wreaking havoc on our on-site backups.  We don't just sync the changes as they are - we collect additional information for certain types of constituents.  10,000 records being modified doesn't just mean 2 API calls of 5,000 records each - it actually means 10,000 API calls, and it kicks off additional processes as well.


    With no information on what causes the date_modified to change, I can't trouble-shoot to see if we are doing something to cause this problem.  Does running queries affect it?  Doing certain administrative tasks?  Does it occasionally update because of something on Blackbaud's end?


    Any information would be helpful.
  • Hello Ben,


    I don't know if you saw this documentation page on the developer site but it does explain some of the things that can trigger updates: https://developer.blackbaud.com/skyapi/docs/in-depth-topics/api-lists#fields-affecting-date-modified
  • No, I hadn't found that page yet - thanks for passing it on.  I'll investigate.
  • Just to update this, it looks like our wealth ratings are being updated in batches of 10,000, with one batch every three days.  So that explains the sudden increase in updated constituents.  Now I just need to figure out how to change my processes so that they can handle events like this.
  • Ben - glad to see you figured this out. I have a somewhat related question. Have been using mostly database view and am trying to use NXT more regularly. Is there a way to run a list in NXT to see what records have been modified by a certain user? I know how to run a query in database view (Article Number: 56080 and Article Number: 46366) but I can't quite seem to figure out how to build a similar list in NXT - and it's not covered in Knowledgebase.


    Any thoughts/suggestions appreciated.


    Kim
  • Hi Kim,


    No, that sort of query is not possible yet within Lists.  Lists is fairly limited compared to Query right now, and that's the #1 reason I end up opening database view these days.  But I know Blackbaud is working on adding functionality there.


    -Ben
  • @Ben Regier
    Has anyone been able to help you? We are experiencing the same issue.

  • @Ben Regier

    Good question.

    I consider database view and web view are two different databases (stored separately). Based on my observations, those two databases sync nightly.

    Datemodified is stored constituent information table of database view. I am in the middle of developing ETL (Extract, transform and Load) process using . Let you know about ListConstituents last_modified data soon.

    cffa36455ccaf2552aa063ceadcf8b98-huge-im
    dcdd0b1c284117c3316a5c515ce247fb-huge-im


  • @Stacy Diffendorf - yes, I found the information I was looking for in the link shared by Stefan.

    The large numbers of updated constituents I was seeing in the API was related to wealth rating updates. We just went through another round of wealth updates a week or two ago.

    I was able to make some changes to our update process to allow us to handle these events without burning through all of our allocated API calls.

Categories