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

AIP-38 Create new designs for Airflow 3 #42371

Open
4 of 5 tasks
pierrejeambrun opened this issue Sep 20, 2024 · 26 comments
Open
4 of 5 tasks

AIP-38 Create new designs for Airflow 3 #42371

pierrejeambrun opened this issue Sep 20, 2024 · 26 comments
Assignees
Labels
AIP-38 Modern Web Application area:UI Related to UI/UX. For Frontend Developers. kind:meta High-level information important to the community

Comments

@pierrejeambrun
Copy link
Member

pierrejeambrun commented Sep 20, 2024

Pages to design:

  • New Homepage Dashboard
  • DAGs list
  • Assets page
  • DAG Details

Many table/card view pages should follow the same designs (dag runs list, task instances list, user management, connections)

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.
@pierrejeambrun pierrejeambrun added kind:meta High-level information important to the community AIP-38 Modern Web Application labels Sep 20, 2024
@dosubot dosubot bot added the area:UI Related to UI/UX. For Frontend Developers. label Sep 20, 2024
@pierrejeambrun pierrejeambrun moved this from To Scope to In progress in AIP-38: Modern Web Application Sep 20, 2024
@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 3, 2024

Upgrading Cluster Activity to be the main dashboard for a new home page.

Stories:

  • What has happened across my entire Airflow deployment recently?
  • Can I quickly see any issues and drill down into them?

Image

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 3, 2024

Card-style view of the DAGs list page.

Users can still toggle to a more condensed table view. A few pieces here are still subject to change.

Stories:

  • Show me a list of my dags with a summary of their activity
  • We have a big org. I want to filter the list to just the specific dags I care about.
    Image

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 3, 2024

Advanced queries for list views:
Image

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 3, 2024

New vertical navigation with subnav and menu options

Image

@potiuk
Copy link
Member

potiuk commented Oct 4, 2024

Slick!

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 21, 2024

DAG Details

Stories:

  • Show me an overview of this DAG's activity
  • Highlight failed task instances and let me quickly get to their logs
Screenshot 2024-10-21 at 9 35 33 AM We're going to make that top stats bar smaller and remove "Slow Tasks"

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 21, 2024

DAG Details, view list of runs with a bar chart to help as a date range selector:

Screenshot 2024-10-21 at 9 35 45 AM

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 21, 2024

DAG Details, list of tasks with their own graph of recent task instances:

Stories:

  • Show me a list of my tasks with quick history of their recent instances.
Screenshot 2024-10-21 at 9 36 25 AM

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 21, 2024

DAG Run Details, with the ability to see task logs for the entire run at once (we need to see if this is actually feasible to load so many logs at once)

Screenshot 2024-10-21 at 9 36 14 AM

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 21, 2024

Task details to see how a task has performed across instances, same as a DAG overview.

Screenshot 2024-10-21 at 9 36 43 AM

@bbovenzi
Copy link
Contributor

Task Instance details with logs:

Screenshot 2024-10-21 at 9 36 52 AM

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 21, 2024

Graph, Grid and Gantt open up in a full-page modal that can be accessed from any Dag/Run/Task page. The modal also has a right hand drawer for information on the selected dag/run/task.

Motivation:

  • Grid/Gantt/graph can all be complicated views. Give them the space of a full-page modal but still include a drawer for some details
Screenshot 2024-10-21 at 9 37 17 AM Screenshot 2024-10-21 at 9 37 44 AM Screenshot 2024-10-21 at 9 37 51 AM

@bbovenzi
Copy link
Contributor

Logs and graph side-by-side:

Screenshot 2024-10-21 at 10 41 39 AM

@potiuk
Copy link
Member

potiuk commented Oct 21, 2024

Nice :)

@jscheffl
Copy link
Contributor

New vertical navigation with subnav and menu options

Image

I don't know if this issue is the right way to discuss. let me know if there are other means...

I'd propose to move the XComs to "Browse..." as actually it is a legacy that you browse XComs in the Admin menu... but usually this is not an admin-specific thing.

@jscheffl
Copy link
Contributor

Card-style view of the DAGs list page.

Users can still toggle to a more condensed table view. A few pieces here are still subject to change. Image

As we might not have a "Multie Team" setup in most environments... and as usually you have more than a hand-full of DAGs - can we foresee an option that a user can mark DAGs (on his profile) like "Favorite DAGs" which are displayed first before a long long list? (to focus on). At least we have many users who are mainly interested in 3-5 of 100 DAGs.

@jscheffl
Copy link
Contributor

DAG Run Details, with the ability to see task logs for the entire run at once:
Screenshot 2024-10-21 at 9 36 14 AM

One thing that botheres me since a long time and is contained in the Lorem-Ipsum as well - there are always 3 lines where the Log is sourced from. Nice for troubleshooting bust most users are confused by this and wonder why link is most cases noch loading when clicking (because internal protected S3 backend, not public exposed...) - logs should focus on valueable content, in the summary maybe the last N lines and not the first lines.

@jscheffl
Copy link
Contributor

Graph, Grid and Gantt open up in a full-page modal that can be accessed from any Dag/Run/Task page. The modal also has a left hand drawer for information on the selected dag/run/task.
Screenshot 2024-10-21 at 9 37 17 AM Screenshot 2024-10-21 at 9 37 44 AM Screenshot 2024-10-21 at 9 37 51 AM

I very much like the new views. What many users fail but is a common modelling pattern is to use mapped tasks. This usually needs a few more clicks to find and navigate down. Is there a way to have a direct drill-down also on mapped tasks on the new detail views? (As if it is vitually a task group with a set of tasks from UI perspective, just the volume is flexible per run).

@bbovenzi
Copy link
Contributor

bbovenzi commented Oct 21, 2024

@jscheffl

  • Good ideas on logs and xcoms. Both make sense to me
  • We don't actually have any user settings saved except in localstorage which is why, for now, we have the "Recently viewed Dags" section in the homepage dashboard. Happy to figure out a proper user favorites though.
  • Yes, any failed mapped task instance should have quick links to just like any other TI. So far I think we'll keep the existing UX of adding a Mapped Tasks tab to the Task Instance details page/drawer. In the case of the drawer, you can see the graph and the list of mapped tasks within the same view. If we manage to show logs across a whole dag run, perhaps we can show logs across a Task Group or all mapped tasks.

@kaxil
Copy link
Member

kaxil commented Oct 21, 2024

Loving the new views

@ldacey
Copy link
Contributor

ldacey commented Oct 21, 2024

Looks great. Are there any new views for Datasets/Assets in the works as well?

I have been splitting my DAGs up, one (or more) for extracting raw data and the other for processing/transformation. Right now, the dataset view shows a lot of dags instead of just the inlets/outlets for the DAG I am looking at (sometimes for other clients so it is not a view i can use while sharing my screen).

(extract DAG):
list_files (source dataset) -> extract_files (raw dataset) -> trigger_dag (outlet = raw dataset)

(transform DAG):
scheduled on raw dataset

transform_files (bronze dataset) -> deduplicate (silver dataset) -> finalize (gold dataset)

It would be nice to be able to see the lineage from the DAG if possible. So if I am within the transform DAG then I would see something like source > raw > bronze > silver > gold and be able to click on a link to the raw DAG.

@cmarteepants
Copy link
Collaborator

@ldacey they are in the works! we are slotted to work on them once we wrap up the dag view designs. agreed! this is something we want to show in the new asset views

@pierrejeambrun
Copy link
Member Author

Really nice! 🎉

@bbovenzi
Copy link
Contributor

bbovenzi commented Nov 13, 2024

Backfills:

See more button lists all possible Dag actions:
Image

"Run Backfill" opens a modal:
(Need to add "dry_run" response here of how many runs will be rerun or created based on backfill options)
Image

Add a banner to the Dag page when there is an active backfill
Image
Image

Tab to list all backfills:
Image

Clicking on a singler backfill shows details about it like all dag runs its affected.
Image

@ausiddiqui
Copy link

Task details to see how a task has performed across instances, same as a DAG overview.

Screenshot 2024-10-21 at 9 36 43 AM

Task run duration would be a great bar graph, and having the average over the x number of runs displayed would be awesome.

@cmarteepants
Copy link
Collaborator

@ausiddiqui not sure if it's just me, but I can't see your screenshot. Agree conceptually that task run duration would make a great bar graph!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AIP-38 Modern Web Application area:UI Related to UI/UX. For Frontend Developers. kind:meta High-level information important to the community
Projects
Development

No branches or pull requests

8 participants