alexkruc commented on issue #24728: URL: https://github.com/apache/airflow/issues/24728#issuecomment-1174002070
Hey guys! :) With your permission please, I might have some suggestions for relatively small and maybe "easy" implementations of this feature, that does not involve config sprawl, let me know what you think :) First, I want to say that I think it sounds like a really good enhancement to Airflow. From the organizations that I worked in, and talking with people in several other companies, Airflow is often a multidisciplinary tool, that a lot of various team uses. Communication can be a hassle, and it can be very benifieical to the eco-system making a step forward in helping with the matter :) Currently I work in an organization that we have a web based system that defines ownership, then for us, having the link to be natively as `https://www.something.com/ownership/{OWNER}` can be enough :) BUT - I think that if the Owner column will become a hyperlink, in most cases, people will use the link to use a specific Slack channel/person, or a `mailto` link to identify an email of the owner, and it can be really beneficial IMO :) I think that having something like the following options can really help, and doesn't sound as a bad thing to maintain in Airflow: - Having the `owner=` field to accept dict instead of string, and for example `{"name": "data-team", "link":"<LINK_TO_DATA_TEAM_SLACK>"}`. We could write the `owner['name']` to the DB as Airflow currently does, but add the `owner['link']` to the `href=`. I understand that this is not solving the "issue" that a single DAG has multiple owners inside it, and to know this, you need to go to each task and first understand who is the proper owner, but at least it gives the notion that people can add their own "communication channels" (whether it's a ownership-url as in our organization, Slack channel, ldap link, mailto....) to each owner, so the owner won't be just an abstract string :) - Another option, is adding something like `owner_channel_link=` param inside the `DAG()` object, that will allow to use this link somewhere (whether it's the owner in the DAGs page, or some other UI link), that again, will be the value of the `href=` tag. The best thing about these 2 methods, is that Airflow admins could enforce/create this as part of Cluster Policies, and it gives a more "real" feeling to the owner, rather than just a string without any context.. Regarding the comment: > Wild idea. Well. Owner can be anything. Including URL. Why don't we simply detect in the UI if a field (any sutiable field/property coming from Airflow DB) is a URL, and make it clickable then? As I see it, a common usage of this "feature" will be setting a slack channel.. Slack channel URL's basically looks like this: `https://yourteam.slack.com/archives/XXXXXXXXX`. If we will detect the owner from the URL, it will leave us with the owner of `XXXXXXXXX`, a strange hash for each dag as the owner is kinda beats the purpose of owner :( And also, it's limiting the use, for example, by customizing the value that we pass to `href` tag, we can also use ` "mailto:[email protected]"`, for an email-based companies :) I would love to have your opinion of this, and as mentioned before, I think that it's solves a real issue in Airflow, and gives a proper and actual weight on the "owner" notion :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
