Open cafferata opened 3 weeks ago
@juliusrickert could you please tell us how you envisioned the M365_BUILDER() https://github.com/StackExchange/dnscontrol/commit/08cdba4a799d43b12425f2196cba9432474a76d3 and update the documentation?
@juliusrickert could you please tell us how you envisioned the M365_BUILDER() 08cdba4 and update the documentation?
tl;dr I can't tell anymore and won't update the documentation, sorry.
Honestly, I didn't envision anything for M365_BUILDER as far as I can remember. Here's what I think to remember about the timeline:
I opened #1023 because I created a helper for my personal use and thought others might be in the same situation. I believed that a community-managed version of this helper would better suit everyone.
After publishing said helper, I was encouraged to submit it to the project, which I did in #2365. For my use cases, it was working well.
It was never my intention to support others in using the helper; I just wanted to help others by providing what works for me. Today, I don't use M365 anymore, and I forgot about most of its quirks. Likewise, I don't remember the hows and whys of my implementation.
In retrospect, I should have been more clear about my intentions.
From the code, I deduce that the label
must be provided as the first argument, named name
, while the documentation states that it must be passed with the object in the first argument (which is, in fact, the second argument).
@juliusrickert Thank you for the timeline.
I appreciate your contribution and apologize that it turned into a support issue. I pushed you to include it in the project.
In hindsight, we (the project) should have a better process around such things. For example, we should probably just have a directory of sample macros/functions that people can view and learn from, and only adopt them into helpers.js on a case-by-case basis.
For M365_BUILDER(), we should update the docs to clarify that this macro isn't fully supported, encourage people to copy it into their own dnsconfig.js if the use it, and set a sun-set date.
tl;dr I can't tell anymore and won't update the documentation, sorry.
@juliusrickert thank you for your quick and, above all, clear explanation. This benefits everyone! Out of interest, are you still using DNSControl (without Microsoft 365)? ☺️
I opened https://github.com/StackExchange/dnscontrol/issues/1023 because I created a helper for my personal use and thought others might be in the same situation. I believed that a community-managed version of this helper would better suit everyone.
For what it's worth; I've struggled with this idea a lot too. And every time I came to the conclusion that this was too personal. Or it became too global with 101 configuration options, which missed out on personal use.
My examples:
site-verification
TXT records for Google, Facebook/Instagram, etc.For example, we should probably just have a directory of sample macros/functions that people can view and learn from
I think this makes a lot of sense! This way, knowledge can still be shared without the need for long-term maintenance and/or breaking changes on a third-party helper like Microsoft 365.
The example in the docs is wrong. apparently you need to pass the domain as first argument and the other options as second argument https://github.com/StackExchange/dnscontrol/blob/v4.11.0/pkg/js/helpers.js#L1709
Originally posted by @Koopzington in https://github.com/StackExchange/dnscontrol/issues/2457#issuecomment-2165769432