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

DOCS: M365_BUILDER() (Microsoft 365 builder) #3008

Open
cafferata opened this issue Jun 13, 2024 · 7 comments
Open

DOCS: M365_BUILDER() (Microsoft 365 builder) #3008

cafferata opened this issue Jun 13, 2024 · 7 comments

Comments

@cafferata
Copy link
Collaborator

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 #2457 (comment)

@cafferata
Copy link
Collaborator Author

@juliusrickert could you please tell us how you envisioned the M365_BUILDER() 08cdba4 and update the documentation?

@juliusrickert
Copy link
Contributor

@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.

@juliusrickert
Copy link
Contributor

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).

@tlimoncelli
Copy link
Contributor

@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.

@cafferata
Copy link
Collaborator Author

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 #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:

  • SMTP providers set-up for Mandrill (MailChimp), SendGrid, Mailgun, etc.
  • site-verification TXT records for Google, Facebook/Instagram, etc.
  • CAA_BUILDER for Let's Encrypt.
  • DMARC providers set-up.
  • Best practices when a domain does not send emails (SPF, DKIM, DMARC setup)

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.

@juliusrickert
Copy link
Contributor

@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.

No worries. In hindsight, I realised that my public communication about it wasn't making my intentions clear.

@juliusrickert
Copy link
Contributor

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'm still using DNSControl. :)

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.

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:

  • SMTP providers set-up for Mandrill (MailChimp), SendGrid, Mailgun, etc.
  • site-verification TXT records for Google, Facebook/Instagram, etc.
  • CAA_BUILDER for Let's Encrypt.
  • DMARC providers set-up.
  • Best practices when a domain does not send emails (SPF, DKIM, DMARC setup)

I think this comes down to knowledge of DNS in general. And that is a crazily elaborate realm. :D

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.

Appreciate it!

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

No branches or pull requests

3 participants