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

Implementation of new IBulkForceClient #248

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

Conversation

rdev5
Copy link

@rdev5 rdev5 commented Apr 14, 2017

Derives from ForceClient (IForceClient) and implements new IBulkForceClient interface for supporting creation of bulk upsert jobs with externalIdFieldName.

rdev5 added 4 commits April 14, 2017 11:38
…to protected

Enables derived classes to be created and implement their own job creation routines (i.e. bulk upserts).
Derives from ForceClient (IForceClient) and implements new IBulkForceClient interface for supporting creation of bulk upsert jobs with `externalIdFieldName`.
@salesforce-cla
Copy link

Thanks for the contribution! Before we can merge this, we need @rdev5 to sign the Salesforce Contributor License Agreement.

@rdev5
Copy link
Author

rdev5 commented Apr 14, 2017

FYI, CLA has just been signed.

rdev5 added 3 commits April 14, 2017 12:06
Derive from IForceClient
Include UpsertJobInfo.cs in project
Include IBulkForceClient.cs and BulkForceClient.cs in project
@rdev5
Copy link
Author

rdev5 commented Apr 17, 2017

Just wanted to update this PR with some test results.

A recent test (4/17/2017) showed 4k records successfully imported* into Salesforce using the new batch upsert functionality introduced in this PR.

*Original batch size was 10k, of which 6k failed due to STORAGE_LIMIT_EXCEEDED on the account (free)

@naicigam
Copy link

Thanks for the great work! I am really looking forward to this PR!

@mjames15
Copy link

Any idea when this will get merged? We need to use the bulk client to upsert records.

@jorgeAChacon
Copy link

Is there a plan for this code to be merged in the near future?

@rdev5
Copy link
Author

rdev5 commented Dec 13, 2017

Attempted to reach out to Wade Wegner just now to also call attention to a commit that appears to be affecting Travis CI builds. We'll see if he responds.

@FrontLineMedia
Copy link

Stupid question, but are you doing this with the 1.3.2 version of the nuget package or the current master of the github ?

@rdev5
Copy link
Author

rdev5 commented Apr 4, 2018

@FrontLineMedia Sorry for the delayed response.

This was done from a fork of the master branch of this repository which can be found here: https://github.com/rdev5/Force.com-Toolkit-for-NET/commits/master

At this time, it appears this repository has been left unmaintained. My recommendation would be to do as we did: fork the repo to obtain a snapshot, audit/review the code as you deem necessary, and import it as a project into your solution. This way you can trace, debug, and do whatever else you need to do for your application.

Just to update everyone, we're coming up to a year now from the time this pull request was first submitted and it is still used in production to this day.

@wadewegner
Copy link
Owner

I feel so bad for not making progress on this. I'll definitely work this into the priority queue for incorporating.

@rdev5
Copy link
Author

rdev5 commented Aug 18, 2018

@wadewegner Completely understand; we all get busy :)

@wadewegner
Copy link
Owner

@rdev5 Do we still need this PR? I haven't dug into it too much, but we do have bulk methods in ForceClient now.

@rdev5
Copy link
Author

rdev5 commented Aug 22, 2018

@wadewegner Do you have commit IDs I could look at? Still looking for where bulk methods were recently introduced into ForceClient...

For reference, see also #246 (BulkForceClient missing from NuGet) for history leading to the submission of this PR.

@wharri220
Copy link
Contributor

I'm not seeing the necessary Bulk operations on the ForceClient. This PR is still needed

@Zhaph
Copy link

Zhaph commented Jan 11, 2019

@wharri220 There doesn't appear to be an explicit Bulk Client - the methods to support bulk operations are on the main Client - RunJob and RunJobAndPoll and the Async versions (Lines 241ff in ForceClient.cs).

However you can currently only submit a list of objects, it doesn't currently support CSV upload, etc.

await client.RunJobAndPollAsync("Contact", BulkConstants.OperationType.Insert,
                    new List<SObjectList<Contact>> {batch})

Also has an issue with the Upsert operation as you can't specify an ExternalIdField ( #331 ).

@mattborja
Copy link

@wadewegner Sounds like this is still needed. Thoughts?

Also, let me know if you need me to resolve the current conflicts in this branch.

@Zhaph
Copy link

Zhaph commented Jul 28, 2019

@mattborja I've got another pull request that supercedes this one and fixes the missing elements on the ForceClient to support bulk operations - #334

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants