Get Custom objects: Missing error validation for filterValues field

Get Custom objects: Missing error validation for filterValues field

Hi,

Please find below concern raised during the testing cycle. We are reporting this as an idea since it's a good to have feature in future.

If we enter an invalid filterValue in the filterValues field say, 123 instead of a valid email id in case the filter is on email, or abc instead of a valid value for filter on marketoGUID, it returns an empty result set.

It should say "Invalid filter value entered" or similar.

Request:

GET https://uat-partnerapi.rest.com.au/marketo/1.0.0/rest/v1/customobjects/oN24Attended_c.json?filterTyp... HTTP/1.1
Accept-Encoding: gzip,deflate
Authorization: Bearer 5cb196b3-4a2c-37d0-8a95-9144aa6cb991
marketoenv: SANDBOX
Host: uat-partnerapi.rest.com.au
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

Response:
HTTP/1.1 200 OK
Access-Control-Allow-Headers: authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction
Access-Control-Allow-Methods: POST,GET
Access-Control-Allow-Origin: *
Content-Type: application/json;charset=UTF-8
Date: Mon, 21 May 2018 06:43:36 GMT
Content-Length: 59
Connection: keep-alive

{"requestId":"92f9#16381706252","result":[],"success":true}

Regards,

Evanthika

11 Comments
SanfordWhiteman
Level 10 - Community Moderator

"123" is a valid Email value. Nothing wrong there.

"abc" may not be a valid hyphen-grouped GUID format but I've never seen a single system that does format validation on this datatype. That's overengineering, like validating if a SHA-1 hash is 40 characters and throwing a different error -- why bother when matching it is all that matters?

Anonymous
Not applicable

Hi Sanford,

Usually, in all other scenarios we have worked before, usually, if we enter an invalid email is passed, it usually does a validation and hence the reason why we raised this to be fixed for a future release. Thanks for your feedback anyways.

Regards,

Evanthika

SanfordWhiteman
Level 10 - Community Moderator

That makes no sense whatsoever.

"123" is a valid email value in Marketo. It can't be a blocked filter value.

This is not a bug.

SanfordWhiteman
Level 10 - Community Moderator
in all other scenarios we have worked before

Really? In all other databases with an email column, a query against that column is validated?  Against what regex?

Don't think so.  Anyone designing such a thing would have no idea how to validate email addresses.

Anonymous
Not applicable

Hi Sanford

Firstly, we didn't report it as a bug. We are not arguing if it's a bug or not that needs a fix. But we reported it as an idea as we feel it is a "good to have" feature. Validations against all the fields should be done both at front end and back end. You are validating the customObjectName, filterType and we get an appropriate error if we enter invalid values against those fields. Thus, we are expecting the same to be with this one. We are talking about the validation at the service level here and not the database level.

Appreciate the kind and cordial responses and the fact that you are promptly replying to our queries. Have a good day.

Regards,

Evanthika

SanfordWhiteman
Level 10 - Community Moderator

It's neither a bug, nor is it "good to have" — because you're not understanding how the Marketo database works.

It's a terrible to have feature that would break the system.  It would, in fact, become the bug.

Let me repeat: the string "123" is a valid value for the email field.

Here's an actual lead in one of my instances:

pastedImage_1.png

So you can't reject value "123" with an "invalid filter value" exception as it is completely possible to have people with this value.  To reject it would be some of the worst systems design imaginable, far worse than lacking this feature that supposedly other systems have (they don't, if they're written correctly.)

SanfordWhiteman
Level 10 - Community Moderator

customObjectName, filterType and we get an appropriate error if we enter invalid values against those fields.

These are enumerations of property names, not data values in the database. There's no comparison.

Mike_Reynolds2
Level 10

Sanford Whiteman,

Thank you for your input. Ideas posted here in the Community are reviewed by the Product team. They will be the authority to answer definitively whether there are work arounds available or if a new feature should be developed.

We value the input of our Community users because it provides insight into pain points customers experience. That in turn guides how changes are made. Sometimes the change is an enhancement to the product. Other times it's a revision to documentation to add clarity and remove confusion. In either case, the Ideas section here is where people can come and submit recommendations on how to remove that pain point. The Discussions section of the Community is where marketers help fellow marketers to answer questions about how to build solutions. I'm sure that if Evanthika Amarasiri​ had wanted an argument over the validity of her idea of a solution to this pain point, she would have posted this there and asked for feedback there instead.

Again, thank you for your input!

Mike

SanfordWhiteman
Level 10 - Community Moderator

Mike, this suggestion would break critical functionality and make querying the entire database impossible. Vetting the technical validity of an Idea is something that in-depth users of the platform do all the time. This one would not merely be an annoyance or a feature we could ignore and leave to those who want it. It would break everything we do, in fact even breaking proper operation for the person requesting it (unbeknownst to them).

Were I convinced that no mistakes were ever made in implementing features without power users' input, I would have felt no need to object, but experience shows otherwise and there's no place to provide that feedback to the product team privately w/r/t an idea.

Mike_Reynolds2
Level 10

Fair points. Our Product team who designs the product is still the authority on the matter.

Perhaps the miscommunication came in the tone used when discussing it? That would explain the 3 Community Moderator reports of abusive behavior we received from someone who happened to come across the thread. The Community is a place where marketers can come together and work cooperatively together. Nobody is right 100% of the time, not your average Marketo user, power users, or even our Product team members.

You are one of the most helpful power users we have. You've become a well known resource for Community members and have a reputation that many in Marketo know quite well! I've already checked on this one earlier this morning and yeah, you're right. Most times, you are. But dude.... really.... just take it down a notch, 'eh? The goal is to help people, not to make them feel bad for being wrong. You're helping people out and I know your intention is to share the knowledge you have. Just know that the impression received by a random person who happened to find the thread wasn't that you were helpful - it motivated them to report it as abusive. Send me a direct message if you have any questions or concerns. I'm always open to discussions!

-Mike