Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Functionality and Optimization updates #2

Open
wants to merge 51 commits into
base: master
Choose a base branch
from

Conversation

jherig
Copy link

@jherig jherig commented Jul 19, 2016

Change system to use fewer API calls, fix a few bugs, and switch the model to use .Net native types so that client code doesn't need to know internal formats of QuickBase. Also add beginnings of unit testing with Visual Studio's own test harness.

Jareth Hein added 13 commits October 4, 2014 11:26
…rting by returning the errorDetail to give greater clarity into why things fail.
…XIR and IR query types, simplify and speed up some logic using LINQ.
…imply iterate over every changed record and upload to the server one at a time: combine deletes into a single API call (potentially split apart if it's too large), and combine uploads via a CSV upload. Also handle support of tables that have a different primary key other than 'Record ID#'

API additions: adding in missing query operations (mostly so that you can add the 'options'), create a QRecord.GetAsCSV so that one can get the contents of the DB as a list of  CSV strings, also improve error reporting in the case of setting non-existant columns.
…: make it so users don't have to know how QB represents time, etc.
…ype, add value checking on set, hide all QB conversions from end user, support additional QB types, start handling multiple choice fields properly.
… from the server, remove stubs for unit testing from Intuit that was not included in their source package, start to write my own unit tests.
…one. Also handle unset fields properly for records not yet sent to the server.
…conversion must be asymetrical. More research needed as to why, but tested and working.
…st of most value types), correct a few comments in the code, and using new unit tests, correct interpretation of some of the date/time types.
@jherig jherig force-pushed the master branch 2 times, most recently from bf39f38 to e8c1119 Compare August 16, 2016 00:45
@@ -62,11 +64,19 @@ private int Hours

internal override string GetXmlPayload()
{
#if FALSE
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this block be deleted?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes indeed. Fixed, thanks.

Jareth Hein and others added 8 commits August 30, 2016 09:01
… to avoid problems with invalid entities, etc. Should refactor soon to remove a lot of the ToString calls.

Also shut off genCSV uploads for tables with file columns.
…at could cause issues with record uploads involving fields with lookup values.
… by spliting the query in half and trying agian, etc.
Handle cases of no query string properly, and support column lists.
Also remove a VS2015ism for backwords compatibility
…way sensitive data is loaded for running tests
Jareth Hein added 3 commits April 18, 2017 16:40
…bles better. Remove a VS2015ism that prevents compiling on older versions of VS
…o-referenced on its fieldIDs), complete deletion optimization, add test for deletion.
Jareth Hein added 7 commits April 20, 2017 21:14
… LF characters by implementing an 'uncleantext' bool and filtering those records out to be handled via the individual record submission that does not suffer this problem.
…error. Need to find out the exact delay required
…for using new tables, beginning support for automatically handling TooManyCriteria errors, fix problem with updating record states on table.AcceptChange
…dling of all date and timestamp values as UTC internally to work around issues.

Finally have all tested values passing roundtrip and modify tests... we have a (minimal coverage) test suite that now works!  Duration, File and Address fields do not work entirely right, and are next on my plate, followed by more comprehensive tests. ical and vcard are probably not supportable, as they aren't really exposed via the API as far as I can tell.
@jherig
Copy link
Author

jherig commented Jun 1, 2018

Still waiting on any action or comment from @QuickbaseAdmirer, I think these changes are pretty important and massively speed up and improve the experience of working with QB.

Jareth Hein and others added 18 commits July 19, 2018 11:53
…ke sure special characters are always handled properly.


# Conflicts:
#	Intuit.QuickBase.Client/QTable.cs
#	Intuit.QuickBase.Core/Exceptions/APIRequestLimitExceededException.cs
#	Intuit.QuickBase.Core/HttpPostXml.cs
#	Intuit.QuickBase.Core/Payload/AddRecordPayload.cs
#	Intuit.QuickBase.Core/Payload/EditRecordPayload.cs
#	Intuit.QuickBase.Core/Payload/ImportFromCSVPayload.cs
…I calls for tables that aren't used via API
…elds marked 'summary', support for queries to add on to previous results
…splitting a query with too many arguments into multiple queries.
… this has been removed from recent Visual Studio versions, implementation and rudimentary testing of multitext fields (adding new options works, deleting is a hard problem not implemented yet)..
…Sharp-SDK

*  updated code to enable connections with usertoken, in addition to username/password

Fix duration fields to properly round trip, allow columns to be referenced by name, add in tests for multitext and AddOptions
…mission issue with adding choices, start working on 'richtext' vs plain text (pass along setting from QB, don't do any filtering yet)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants