Expected Operation or Bug?
I have an application that uses createOrUpdate and I was wondering if any of you have noticed this or have any insite. If you pass the API a blank field it will overwrite info in the database with a null value. This would seem to me like a bug. Any thoughts?
Comments
-
Jeff's out this week, so I'll ping him when he gets back. I'm pretty sure that this is by design on the update method, but I can see your point on the createOrUpdate.
0 -
It is by design because sometimes setting a field blank might be desired.
0 -
JeffMills :
It is by design because sometimes setting a field blank might be desired.
Soo Jeff,
Your suggestion would be then, if a field is blank to not process that field? I can see where it would be desired, and where it would not.
It would be nice if you could designate in the API though -- much like surveys work -- where you can say whether an record should be
-
update no matter what,
-
updated only if an improvement,
-
accept but do not update,
-
or send back an error to require user to login
0 -
-
Adrian Cotter:
Soo Jeff,
Your suggestion would be then, if a field is blank to not process that field? I can see where it would be desired, and where it would not.
It would be nice if you could designate in the API though -- much like surveys work -- where you can say whether an record should be
-
update no matter what,
-
updated only if an improvement,
-
accept but do not update,
-
or send back an error to require user to login
Yes. We considered the options that you suggest, but when we simply ran out of time we thought that by allowing null values to be set the caller can decide whether to include the field, or not, depending on the situation. If we had taken the opposite approach, of never overwriting a value with null, then the caller would not have any flexibility.
0 -
-
JeffMills :
Yes. We considered the options that you suggest, but when we simply ran out of time we thought that by allowing null values to be set the caller can decide whether to include the field, or not, depending on the situation. If we had taken the opposite approach, of never overwriting a value with null, then the caller would not have any flexibility.
Thanks for letting me know. I'd have to second Adrian's suggestion of adding a param that indicates whether or not you want null values to overwrite.
0 -
Colin McClure:
Thanks for letting me know. I'd have to second Adrian's suggestion of adding a param that indicates whether or not you want null values to overwrite.
It seems to me that, if you're already writting code to use the update API, including a clause in the field collection routine that excludes a blank field you don't want to overwrite a potentially populated field in Convio would be a fairly simple matter. You probably have a better idea what you do and don't want to make blank. Besides, what happens when you want SOME fields to be blanked and other's not? For example, what if you're writting an internal-use webapp for your donor relations folks or something? There might be valid reasons why they want to erase invalid data in some cases, but have no updated data for other fields. You could use a checkbox or something to designate the behavior Adrian suggested on a field by field basis based on the data rather than create an API requirement that becomes a blanket for all aspects of a given data app.
That said, there isn't any reason why building into the API is a bad idea, provided BOTH things are possible, having both flexibility and convenience is a good thing!
0 -
Michael :
It seems to me that, if you're already writting code to use the update API, including a clause in the field collection routine that excludes a blank field you don't want to overwrite a potentially populated field in Convio would be a fairly simple matter. You probably have a better idea what you do and don't want to make blank. Besides, what happens when you want SOME fields to be blanked and other's not? For example, what if you're writting an internal-use webapp for your donor relations folks or something? There might be valid reasons why they want to erase invalid data in some cases, but have no updated data for other fields. You could use a checkbox or something to designate the behavior Adrian suggested on a field by field basis based on the data rather than create an API requirement that becomes a blanket for all aspects of a given data app.
That said, there isn't any reason why building into the API is a bad idea, provided BOTH things are possible, having both flexibility and convenience is a good thing!
While it is true that it is fairly straightforward (to check for the existence of a field's value or not), it does however increase the complexity of the code you have to write -- especially if you still would like your code to remain flexible.
That being said, there are probably other good reasons to do field by field collection anyway depending on the form (validating the values in other ways, for instance).
But in any case, having the a API call with the behavior I suggested (a switch for how an update is processed) would still allow for that kind of checking and processing.
0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 1 YourCause® from Blackbaud®
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 124 Ninja Secret Society
- 32 Blackbaud Raiser's Edge NXT® Receipting EAP
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 1.1K ARCHIVED FORUMS | Inactive and/or Completed EAPs
- 3 Blackbaud Staff Discussions
- 7.7K ARCHIVED FORUM CATEGORY [ID 304]
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board