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

Rails 3.1 compatible upgrades. #4

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

Conversation

plusjade
Copy link

Savon gem is grossly out of date and doesn't play well with more up to date gems (curb).

  • Upgrade to highest working Savon gem 1.2 (as of writing gem is at 2.0.2)
  • Upgrade to the latest 2_0 marketo endpoint (hardcoded endpoint kept producing "request not recognized" errors).
  • Change config inputs to hash style so you can custom-define the entire endpoint.

I don't expect you to merge this because changing the config to hash style will break the API. However, it's generally good practice so we don't have to keep remembering the order of the params.

Please feel free to cherry pick my work, and commit them yourself if you want. This pull is so other people searching for this gem and running into the same problems have some answers.

Also please let us know if and when you plan to update compatibility with your own API (marketo). I know it's likely not your fault personally but from one professional company (Gild) using your services to another profesional company (marketo) we would really appreciate some updates.

@@ -19,5 +19,5 @@ Gem::Specification.new do |gem|
gem.rdoc_options << '--title' << 'Marketo Client Gem' << '--main' << 'Rapleaf::Marketo::Client'

gem.add_development_dependency('rspec', '>= 2.3.0')
gem.add_dependency('savon', '>= 0.8.3')
Copy link
Author

Choose a reason for hiding this comment

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

P.S. This is a bad idea because it will download the latest version now and forever. It is very unlikely this gem will be compatible with every version until forever. Using the ~> syntax to constrain to major versions is much more developer friendly.

Thanks!

@plusjade
Copy link
Author

Sorry to bomb this thread! I just realized your current API would have probably supported the latest endpoint given to me in the marketo admin. My issue is/was it was not intuitive to me that I had to know to take the api_subdomain and api_version manually from the given endpoint and pass them individually to the config.

Here's what they give in marketo admin:

SOAP endpoint: https://na-sj02.marketo.com/soap/mktows/2_0
Daily Request Limit: 10000
Access Status: Active
Status Reason:
User ID: xxxx
Encryption Key: xxx

If I run your gem without specifying my updated endpoint, it uses the defaults of na-i and 1_5. The gem runs but my requests never go through with a kind of "request not recognized" message. It would be nice if the error codes say "you are using an outdated version of the API or something of the sort.

Also, why not just have soap_endpoint as a config and tell me to copy and paste the full string in just like user_id and encryption_key?

Thanks!

(edited for more clear context)

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.

1 participant