From 3001e694395a11940a1b1eed5fa21cdd44cc2d7b Mon Sep 17 00:00:00 2001 From: Jared Lockhart <119884+jaredlockhart@users.noreply.github.com> Date: Tue, 10 Dec 2024 11:58:59 -0500 Subject: [PATCH] feat(nimbus): add documentation links to new nimbus ui Because * We need to show the documentation links in the left sidebar * We want to show the new header with the title and timeline on every page This commit * Adds documentation links to the sidebar * Improves the styling of the sidebar * Moves the t new header to the base template so it appears on all pages fixes #11924 --- .../nimbus_ui_new/static/css/style.scss | 4 + .../templates/common/sidebar_link.html | 13 +- .../templates/common/with_sidebar.html | 2 + .../templates/nimbus_experiments/detail.html | 674 +++++++++--------- .../nimbus_experiments/edit_metrics.html | 158 ++-- .../nimbus_experiments/experiment_base.html | 32 +- .../sidebar.html} | 23 +- 7 files changed, 462 insertions(+), 444 deletions(-) rename experimenter/experimenter/nimbus_ui_new/templates/{common/experiment_sidebar.html => nimbus_experiments/sidebar.html} (59%) diff --git a/experimenter/experimenter/nimbus_ui_new/static/css/style.scss b/experimenter/experimenter/nimbus_ui_new/static/css/style.scss index f3b12c4776..a63a2e0656 100644 --- a/experimenter/experimenter/nimbus_ui_new/static/css/style.scss +++ b/experimenter/experimenter/nimbus_ui_new/static/css/style.scss @@ -118,3 +118,7 @@ } } } + +.nav-link-hover:hover { + background-color: var(--bs-secondary-bg); +} diff --git a/experimenter/experimenter/nimbus_ui_new/templates/common/sidebar_link.html b/experimenter/experimenter/nimbus_ui_new/templates/common/sidebar_link.html index eb5036d1f5..cd23b96bad 100644 --- a/experimenter/experimenter/nimbus_ui_new/templates/common/sidebar_link.html +++ b/experimenter/experimenter/nimbus_ui_new/templates/common/sidebar_link.html @@ -1,7 +1,6 @@ - + + + {{ title }} + diff --git a/experimenter/experimenter/nimbus_ui_new/templates/common/with_sidebar.html b/experimenter/experimenter/nimbus_ui_new/templates/common/with_sidebar.html index 931bb28424..f9342298d3 100644 --- a/experimenter/experimenter/nimbus_ui_new/templates/common/with_sidebar.html +++ b/experimenter/experimenter/nimbus_ui_new/templates/common/with_sidebar.html @@ -26,6 +26,8 @@
Filter
+ {% block main_content_header %}{% endblock %} + {% block main_content %} {% endblock main_content %} diff --git a/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/detail.html b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/detail.html index 0132d3f0d2..3322518ca1 100644 --- a/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/detail.html +++ b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/detail.html @@ -6,380 +6,358 @@ {% block title %}{{ experiment.name }}{% endblock %} {% block main_content %} -
- -
-
-

{{ experiment.name }}

- - QA Status: {{ experiment.qa_status|default:"Not Set"|title }} - -

{{ experiment.slug }}

- {% if experiment.parent %} -

- Cloned from - {{ experiment.parent.name }} -

- {% endif %} + + {% if experiment.audience_overlap_warnings %} + {% for warning in experiment.audience_overlap_warnings %} + - {% include "nimbus_experiments/timeline.html" %} + {% endfor %} + {% endif %} + + {% include "nimbus_experiments/takeaways_card.html" %} + +
+
+

Overview

- - {% if experiment.audience_overlap_warnings %} - {% for warning in experiment.audience_overlap_warnings %} - +
+ +
+
+

Risk Mitigation Questions

+
+
+ + + + + + + + + + + + + + + + + + + +
{{ RISK_QUESTIONS.BRAND }} + {% if experiment.risk_brand != None %} + {{ experiment.risk_brand|yesno:"Yes,No" }} + {% else %} + Not Set + {% endif %} +
+ {{ RISK_QUESTIONS.MESSAGE }} + Message Consult + + {% if experiment.risk_message != None %} + {{ experiment.risk_message|yesno:"Yes,No" }} + {% else %} + Not Set + {% endif %} +
{{ RISK_QUESTIONS.REVENUE }} + {% if experiment.risk_revenue != None %} + {{ experiment.risk_revenue|yesno:"Yes,No" }} + {% else %} + Not Set + {% endif %} +
{{ RISK_QUESTIONS.PARTNER }}
+
+
+ +
+
+
+
+

Audience

+
+
+ Learn more + class="text-decoration-none">Explore matching audiences
- {% endfor %} - {% endif %} - - {% include "nimbus_experiments/takeaways_card.html" %} - - -
-
-

Overview

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {% include 'nimbus_experiments/subscribers_list.html' %} - - -
Slug{{ experiment.slug }}Experiment owner{{ experiment.owner }}
Application{{ experiment.get_application_display }}Public description{{ experiment.public_description|format_not_set }}
Feature config - {% for feature in experiment.feature_configs.all %} - {{ feature.name }} - {{ feature.description }} - {% empty %} - Not set - {% endfor %} - Advanced targeting{{ experiment.targeting_config.name }} - {{ experiment.targeting_config.description }}
Hypothesis{{ experiment.hypothesis }}
Primary Outcomes - {% for outcome, url in primary_outcome_links %} - {{ outcome.title|remove_underscores }} - {% if not forloop.last %},{% endif %} - {% empty %} - Not set - {% endfor %} -
Secondary Outcomes - {% for outcome, url in secondary_outcome_links %} - {{ outcome.title|remove_underscores }} - {% if not forloop.last %},{% endif %} - {% empty %} - Not set - {% endfor %} -
Segments - {% for segment, url in segment_links %} - {{ segment.title|remove_underscores }} - {% if not forloop.last %},{% endif %} - {% empty %} - Not set - {% endfor %} -
Team projects - {% for project in experiment.projects.all %} -

{{ project }}

- {% empty %} - Not set - {% endfor %} -
- -
-
-

Risk Mitigation Questions

-
-
- - - - - + + + + + + + + + + +
{{ RISK_QUESTIONS.BRAND }} - {% if experiment.risk_brand != None %} - {{ experiment.risk_brand|yesno:"Yes,No" }} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + - - -
Channel{{ experiment.channel.title|default:"No Channel" }}Advanced Targeting{{ experiment.targeting_config.name }}
Minimum version{{ experiment.firefox_min_version|parse_version }}Maximum version{{ experiment.firefox_max_version|parse_version }}
Locales + {{ experiment.locales.all|join:"
"|default:"All Locales" }} +
Countries + {{ experiment.countries.all|join:"
"| default:"All Countries" }} +
Expected enrolled clients{{ experiment.total_enrolled_clients }}Population %{{ experiment.population_percent|floatformat:"-1" }}%
Sticky enrollment{{ experiment.is_sticky }}
Required experiments + {% with experiment.required_experiments_branches.all as required_branches %} + {% if required_branches %} + {% for branch in required_branches %} + + {{ branch.child_experiment.name }} + ({{ branch.branch_slug|add:" branch"|default:"All branches" }}) + +
+ {% endfor %} {% else %} - Not Set + None {% endif %} -
- {{ RISK_QUESTIONS.MESSAGE }} - Message Consult - - {% if experiment.risk_message != None %} - {{ experiment.risk_message|yesno:"Yes,No" }} - {% else %} - Not Set - {% endif %} -
{{ RISK_QUESTIONS.REVENUE }} - {% if experiment.risk_revenue != None %} - {{ experiment.risk_revenue|yesno:"Yes,No" }} - {% else %} - Not Set - {% endif %} -
{{ RISK_QUESTIONS.PARTNER }}Excluded experiments + {% with experiment.excluded_experiments_branches.all as excluded_branches %} + {% if excluded_branches %} + {% for branch in excluded_branches %} + + {{ branch.child_experiment.name }} + ({{ branch.branch_slug|add:" branch"|default:"All branches" }}) + +
+ {% endfor %} {% else %} - Not Set + None {% endif %} -
-
+ {% endwith %} +
Full targeting expression{{ experiment.targeting }}
Recipe JSON +
+ +
+                      {{ experiment.recipe_json|linebreaks|linebreaksbr }}
+                    
+
+
+ +
- -
-
-
-
-

Audience

-
- + + {% include "nimbus_experiments/signoff_card.html" with edit=False experiment=experiment %} + + +
+
+

Branches ({{ experiment.branches.all.count }})

+
+ {% for branch in experiment.branches.all %} +
+
+
+
+ # {{ branch.name|title }} +
+ {% if not experiment.is_rollout %} +
+ +
+ {% endif %}
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + - -
Channel{{ experiment.channel.title|default:"No Channel" }}Advanced Targeting{{ experiment.targeting_config.name }}
Minimum version{{ experiment.firefox_min_version|parse_version }}Maximum version{{ experiment.firefox_max_version|parse_version }}
Locales - {{ experiment.locales.all|join:"
"|default:"All Locales" }} -
Countries - {{ experiment.countries.all|join:"
"| default:"All Countries" }} -
Expected enrolled clients{{ experiment.total_enrolled_clients }}Population %{{ experiment.population_percent|floatformat:"-1" }}%
Sticky enrollment{{ experiment.is_sticky }}
Required experiments - {% with experiment.required_experiments_branches.all as required_branches %} - {% if required_branches %} - {% for branch in required_branches %} - - {{ branch.child_experiment.name }} - ({{ branch.branch_slug|add:" branch"|default:"All branches" }}) - -
- {% endfor %} - {% else %} - None - {% endif %} - {% endwith %} -
Excluded experiments - {% with experiment.excluded_experiments_branches.all as excluded_branches %} - {% if excluded_branches %} - {% for branch in excluded_branches %} - - {{ branch.child_experiment.name }} - ({{ branch.branch_slug|add:" branch"|default:"All branches" }}) - -
- {% endfor %} - {% else %} - None - {% endif %} - {% endwith %} -
Full targeting expression{{ experiment.targeting }}Slug{{ branch.slug|format_not_set }}Ratio{{ branch.ratio|format_not_set }}
Recipe JSON -
- -
-                      {{ experiment.recipe_json|linebreaks|linebreaksbr }}
-                    
-
-
- -
Description{{ branch.description|format_not_set }}
-
-
- - {% include "nimbus_experiments/signoff_card.html" with edit=False experiment=experiment %} - - -
-
-

Branches ({{ experiment.branches.all.count }})

-
- {% for branch in experiment.branches.all %} -
-
-
-
- # {{ branch.name|title }} -
-
- {% if not experiment.is_rollout %} -
- -
- {% endif %} -
- - - - - - - - - - - - - {% if branch.feature_values.all %} - {% for feature_value in branch.feature_values.all %} - - - - - {% endfor %} - {% else %} - - - - {% endif %} - {% if branch.screenshots.all.exists %} + {% if branch.feature_values.all %} + {% for feature_value in branch.feature_values.all %} - + - {% endif %} - -
Slug{{ branch.slug|format_not_set }}Ratio{{ branch.ratio|format_not_set }}
Description{{ branch.description|format_not_set }}
{{ feature_value.feature_config.name|format_not_set }} Value - {{ feature_value.value|format_not_set|format_json }} -
No Feature Values
Screenshots{{ feature_value.feature_config.name|format_not_set }} Value - {% for screenshot in branch.screenshots.all %} -
-
{{ screenshot.description }}
- {% if screenshot.image %} - {{ screenshot.description|default:'' }} - {% else %} - Not Set - {% endif %} -
- {% endfor %} + {{ feature_value.value|format_not_set|format_json }}
-
- {% endfor %} -
- - {% include "nimbus_experiments/qa_card.html" %} - + {% endfor %} + {% else %} + + No Feature Values + + {% endif %} + {% if branch.screenshots.all.exists %} + + Screenshots + + {% for screenshot in branch.screenshots.all %} +
+
{{ screenshot.description }}
+ {% if screenshot.image %} + {{ screenshot.description|default:'' }} + {% else %} + Not Set + {% endif %} +
+ {% endfor %} + + + {% endif %} + + +
+ {% endfor %}
+ + {% include "nimbus_experiments/qa_card.html" %} + {% endblock %} {% block extrascripts %} diff --git a/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/edit_metrics.html b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/edit_metrics.html index 2860769921..29ce99cbc9 100644 --- a/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/edit_metrics.html +++ b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/edit_metrics.html @@ -6,93 +6,91 @@ {% block title %}{{ experiment.name }} - Metrics{% endblock %} {% block main_content %} -
- -
- {% csrf_token %} - {{ form.errors }} -
-
-

Metrics

-
-
-
-
-

- Every experiment analysis automatically includes how your experiment has impacted Retention, Search Count, and Ad Click metrics. Get more information on Core Firefox Metrics. -

-
+ + + {% csrf_token %} + {{ form.errors }} +
+
+

Metrics

+
+
+
+
+

+ Every experiment analysis automatically includes how your experiment has impacted Retention, Search Count, and Ad Click metrics. Get more information on Core Firefox Metrics. +

-
-
- -
- {{ form.primary_outcomes }} -
-

- Select the user action or feature that you are measuring with this experiment. You may select up to 2 primary outcomes. -

+
+
+
+ +
+ {{ form.primary_outcomes }}
+

+ Select the user action or feature that you are measuring with this experiment. You may select up to 2 primary outcomes. +

-
-
- -
- {{ form.secondary_outcomes }} -
-

Select the user action or feature that you are measuring with this experiment.

+
+
+
+ +
+ {{ form.secondary_outcomes }}
+

Select the user action or feature that you are measuring with this experiment.

-
-
-
- -
{{ form.segments }}
-

Select the user segments you wish to analyze.

-
+
+
+
+
+ +
{{ form.segments }}
+

Select the user segments you wish to analyze.

-
- - -
- {% if form.is_bound %} - +
+ + +
+ {% if form.is_bound %} + +
+ {% endif %} + {% endblock main_content %} diff --git a/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/experiment_base.html b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/experiment_base.html index 5a5bcd568f..7db9910ce1 100644 --- a/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/experiment_base.html +++ b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/experiment_base.html @@ -1,6 +1,36 @@ {% extends "common/with_sidebar.html" %} {% block sidebar %} - {% include "common/experiment_sidebar.html" with experiment=experiment %} + {% include "nimbus_experiments/sidebar.html" with experiment=experiment %} {% endblock %} + +{% block main_content_header %} +
+
+

{{ experiment.name }}

+ + QA Status: {{ experiment.qa_status|default:"Not Set"|title }} + +

{{ experiment.slug }}

+ {% if experiment.parent %} +

+ Cloned from + {{ experiment.parent.name }} +

+ {% endif %} +
+
+
    + {% for status in experiment.timeline %} +
  • + {{ status.label }} + {{ status.date|default:'---' }} +
  • + {% endfor %} +
+
+
+{% endblock %} diff --git a/experimenter/experimenter/nimbus_ui_new/templates/common/experiment_sidebar.html b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/sidebar.html similarity index 59% rename from experimenter/experimenter/nimbus_ui_new/templates/common/experiment_sidebar.html rename to experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/sidebar.html index bd95dbbf64..e3c9b9bd1a 100644 --- a/experimenter/experimenter/nimbus_ui_new/templates/common/experiment_sidebar.html +++ b/experimenter/experimenter/nimbus_ui_new/templates/nimbus_experiments/sidebar.html @@ -1,19 +1,26 @@ - + Links +
+ {% for documentation_link in experiment.documentation_links.all %} + {% if documentation_link.link %} + {% include "common/sidebar_link.html" with title=documentation_link.title link=documentation_link.link icon="fa-solid fa-arrow-up-right-from-square" external=True %} + + {% endif %} + {% endfor %} +