OttoFMS Webhook Customisation

Is it possible to control the name of the layout, table, field and script that are called when processing an OttoFMS Webhook? It seems like the layout name, the table name, field name and script name all need to be kept to the default names. This currently doesn’t allow me to update these to match my systems naming conventions.

I can’t see anything in the documentation about this. Are these settings accessible somewhere they can be modified?

Hi Gabe

Currently, there is no way to change them. Internally we have thought about it. We could probably do it. But it hasn’t risen anywhere near the top of the list yet. There are lots of other things we want to ship first.

Sorry. I know it can be a little frustrating to have a few things not match your conventions.

Todd

Thanks @toddgeist. I understand why it’s not a top priority item as it’s deffo in the nice to have column. I presume the need to have a specific named layout and fields is a requirement of the DataAPI.

Yes that is right.

Todd

@GabeWoodger it’s also a bit like asking Mailchimp to change their API because you don’t like MessageId but prefer MessageID…

One of the things about ModularFilemaker was’ here is some code that works’, use it with what ever the developer documented. In those cases of course we can change anything on our side that does not break the code (like changing ~ to _ in calculations) but when it comes to external services this kind of modification would be a breaking change for all installed users…

Hi @john_r . I’m not sure it’s the same thing. When writing an integration with an API I need to configure my post to match the formatting of their API. When I process results I need to have a custom script to take the result and update whatever fields locally I need to.

That doesn’t require me to have a table and fields in my system that has to be named “MailChimp” and have field names called “MailChimp::__SOMETHING__WIERD”.

I think it’s reasonable to have default names for these things, and if you leave everything as default it just works. But there its always the possibility of namespace collision or naming standards. For many systems having standards for the names of tables, fields, layouts and scripts is key to maintaining consistency and understandability between developers.

I know everybody has different methods for naming things. For example I like to name my layout that are referenced by the DataAPI “@TableName DataAPI”. This reminds the developer that the specific fields on this layout shouldn’t be changed, renamed or removed without consideration.

If you want to abstract this away, maybe use SimpleQ. Let it handle the webhooks, and then it can ferry the calls off to your File and Script using what ever naming conventions you want.

Or treat the OttoInbox table as a separate system, Where you can say

“I don’t manage this. This is an integration point, between stuff I manage and stuff I don’t”

It’s a trade off. I gave up a long time ago on the idea, that everything in my system has to be written to the way I think it should be written. It’s a huge relief. You can say these are the areas I care about. They have custom business logic that actually ads value to what I am doing. The rest isn’t. I can just copy and paste it in or drop it in, and just use it.

Todd

2 Likes