Part of #1921152: META: Start providing tour tips for other core modules.

Problem/Motivation

Write tour integration for Menu admin page

Proposed resolution

Create tour yml files for required admin screens in admin/structure/menu.

Remaining tasks

Create patch for tour integration for primary Structure page

User interface changes

New tours

API changes

None

Technical pointers when creating tour tips

See: https://drupal.org/node/1921152#tour-tips-tech-note for tech notes on making tour tips.

CommentFileSizeAuthor
#43 interdiff-2040823-41-43.txt553 bytesjorgegc
#43 tour-menu-2040823-43.patch2.03 KBjorgegc
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 88,014 pass(es). View
#41 interdiff-2040823-39-41.txt3.54 KBjorgegc
#41 tour-menu-2040823-41.patch2.17 KBjorgegc
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 88,003 pass(es). View
#39 tour-menu-2040823-39.patch2.68 KBjorgegc
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 88,043 pass(es). View
#31 2040823-menu-tour-30.patch2.73 KBpameeela
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 81,380 pass(es). View
#29 interdiff.txt1.55 KBpameeela
#29 2040823-menu-tour-29.patch2.53 KBpameeela
FAILED: [[SimpleTest]]: [MySQL] 64,391 pass(es), 1 fail(s), and 0 exception(s). View
#23 2040823-23-tour-menu-page.interdiff.txt1.29 KBnick_schuch
#23 2040823-23-tour-menu-page.patch2.51 KBnick_schuch
PASSED: [[SimpleTest]]: [MySQL] 64,370 pass(es). View
#21 2040823-21-tour-menu-page.patch2.5 KBnick_schuch
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch 2040823-21-tour-menu-page.patch. Unable to apply patch. See the log in the details link for more information. View
#18 2040823-18-tour-menu-page.interdiff.txt2.22 KBnick_schuch
#18 2040823-18-tour-menu-page.patch2.58 KBnick_schuch
FAILED: [[SimpleTest]]: [MySQL] 63,411 pass(es), 5 fail(s), and 1 exception(s). View
#15 2040823-15-tour-menu-page.patch2.56 KBpameeela
PASSED: [[SimpleTest]]: [MySQL] 59,828 pass(es). View
#13 interdiff-2040823-12-13.txt1.48 KBpameeela
#13 2040823-13-tour-menu-page.patch1.25 KBpameeela
PASSED: [[SimpleTest]]: [MySQL] 60,178 pass(es). View
#12 2040823-12-tour-menu-page.patch2.56 KBfloydm
PASSED: [[SimpleTest]]: [MySQL] 58,782 pass(es). View
#12 interdiff-2040823-11-12.txt454 bytesfloydm
#11 2040823-11-tour-menu-page.patch2.57 KBrli
PASSED: [[SimpleTest]]: [MySQL] 58,418 pass(es). View
#9 core-tour-2040823-9-menu-yml.patch1.25 KBclemens.tolboom
PASSED: [[SimpleTest]]: [MySQL] 58,483 pass(es). View
#4 tour-menu-2040823-4.patch1.19 KBnickgs
PASSED: [[SimpleTest]]: [MySQL] 57,113 pass(es). View
#1 tour-menu-2040823-1.patch1.21 KBnickgs
PASSED: [[SimpleTest]]: [MySQL] 57,061 pass(es). View
Membership dollars fund testing for the Drupal project. Drupal Association Learn more

Comments

nickgs’s picture

FileSize
1.21 KB
PASSED: [[SimpleTest]]: [MySQL] 57,061 pass(es). View

First time core patch here... figured I could give this a go.

I think these tours, if used right, can provide a great experience for new Drupal users!

I hope this is helpful.

Thanks.

Nick

nickgs’s picture

Status: Active » Needs review

Not sure why my patch didn't get submitted for testing but switching this to needs review.

Thanks.

Nick

larowlan’s picture

Thanks so much for working on this - these tours are starting to take shape!

+++ b/core/modules/menu/config/tour.tour.menu.ymlundefined
@@ -0,0 +1,29 @@
+    body: 'Collection of tools for use with a particular menu. Rearrange menu link ordering, and various other configuration attributes. Click dropdown for available actions'

'Use the drop-button to perform operations on each menu including re-arranging menu link order, adding new menu links and changing the menu name'?

+++ b/core/modules/menu/config/tour.tour.menu.ymlundefined
@@ -0,0 +1,29 @@
+    attributes: ¶
...
+    attributes: ¶

Trailing white space

+++ b/core/modules/menu/config/tour.tour.menu.ymlundefined
@@ -0,0 +1,29 @@
+    body: 'Will allow you to create a new menu to store a collection of menu links'

Can we frame this along the lines of 'Use this button to add a new menu to store a collection of menu links'?

+++ b/core/modules/menu/config/tour.tour.menu.ymlundefined
@@ -0,0 +1,29 @@
+    body: 'This page lists the menus available on your site. Menus are a collection of links arranged in a hierarchy. The display of menus is accomplished by its corresponding block which is managed on the block administration page.'

Perhaps 'You can configure the placement of a menu on your site by visiting the Block administration page/'?

nickgs’s picture

FileSize
1.19 KB
PASSED: [[SimpleTest]]: [MySQL] 57,113 pass(es). View

Awesome, thanks for the review! I'm having fun learning how the tours work and creating these patches.

I think the changes you suggest make alot of sense. It simplifies the verbiage and makes it a bit more succinct. Question, do we want to include links in tour tips? Specifically for this issue, a link to the block administration page. Being that we have the link already on the page I am not sure we need it.

Attached is a rerolled patch incorporating your suggestions.

Thanks.

Nick

lisarex’s picture

I didn't get a chance to create the patch, (I assigned the issue to myself but I guess I wasn't fast enough ;))

Here's our copy for this page, for comparison

tip 1
(Immediately under the page title)
Title: “Edit a menu link”
Body: “Use this page to edit an item in a menu.”
tip 2
(Immediately under “Parent link”)
Title: “Select a parent”
Body: “Menus can have more than one layer. Select the menu item that is in the layer above this one.”
tip 3
(Immediately under “Weight”)
Title: “Order menu item by weight”
Body: “Within a menu layer, items are listed by weight.”
Tip 4
(Immediately under “Save”)
Title: “Save your changes”
Body: “Click Save to apply your changes to the menu item.”

lisarex’s picture

So, we have written tours for the following:
/admin/structure/menu/
/admin/structure/menu/admin/item/*/edit
/admin/structure/menu/manage/admin

Should this be a multipage tour?

nick_schuch’s picture

Issue tags: +Needs tests, +Tour

Tour needs tests since we now have #2028535

lisarex’s picture

Assigned: lisarex » Unassigned

Going to unassign myself since I don't know how much time I'll have to get back into this, but I will try to make it happen!

clemens.tolboom’s picture

FileSize
1.25 KB
PASSED: [[SimpleTest]]: [MySQL] 58,483 pass(es). View
+++ b/core/modules/menu/config/tour.tour.menu.yml
@@ -0,0 +1,29 @@
+      data-class: dropbutton-action

This was not working. The tip did not attach to the button.

Attached patch has step 3 fixed. I'm not sure why the selector was broken. I changed it into dropbutton-widget instead.

I changed the location too as that looks nicer.

As @nick_schuch adds this needs #2028535: Provide a TourTestBase class for use by core and contrib modules but I'm not sure whether that would have caught the selector problem.

The patch was build on http://tour.drutch.nl/ without using git commands. (no coding involved). I really could use some help building that site for the community :-/

rli’s picture

Assigned: Unassigned » rli

working on this.

rli’s picture

FileSize
2.57 KB
PASSED: [[SimpleTest]]: [MySQL] 58,418 pass(es). View

Adding the test now.

floydm’s picture

FileSize
454 bytes
2.56 KB
PASSED: [[SimpleTest]]: [MySQL] 58,782 pass(es). View

Fixed intro comment in the test that referenced views_ui.

pameeela’s picture

Issue summary: View changes
FileSize
1.25 KB
PASSED: [[SimpleTest]]: [MySQL] 60,178 pass(es). View
1.48 KB

Just made a few small changes. New patch and interdiff attached.

clemens.tolboom’s picture

Status: Needs review » Needs work

Test is missing in #13

pameeela’s picture

Status: Needs work » Needs review
FileSize
2.56 KB
PASSED: [[SimpleTest]]: [MySQL] 59,828 pass(es). View

Oops! Updated patch attached (interdiff doesn't change).

Also realised I should have explained the changes. I made the first tip title sentence case to match the others, added a full stop in the second tip, and removed the hyphen from rearranging.

nielsonm’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: -Needs tests

Looks good, great job.

batigolix’s picture

Status: Reviewed & tested by the community » Needs work

This doesnt seem ready to me.

a) I think we should not use words like "this button" or "this page". The tour tips will make clear what element is being referred to

b) There should be a tip on the Settings tab, so the user knows what can be found there

c) "Use the drop-button to perform operations on each menu including rearranging menu link order, adding new menu links and changing the menu name." . There are only 2 options in the drop button. There is no option to change the menu. But this can be done via the Edit menu drop down option

d) "Add a new menu" could be better "Add a menu". "New" is redundant here.

e) "You can configure the placement of a menu by visiting the block administration page." --> This is called the Block layout page now (at least at this moment). Can we have a link on there so that the users does not have to search for this page? Maybe it is also good to mention that one should enable a menu block first.

f) Check the menu_help function in menu.module for some additional information that could be used in this tour

nick_schuch’s picture

Status: Needs work » Needs review
FileSize
2.58 KB
FAILED: [[SimpleTest]]: [MySQL] 63,411 pass(es), 5 fail(s), and 1 exception(s). View
2.22 KB

This patches updates the path to a route and uses the basic class for test coverage.

nick_schuch’s picture

Issue tags: +Tour Content Review

Status: Needs review » Needs work

The last submitted patch, 18: 2040823-18-tour-menu-page.patch, failed testing.

nick_schuch’s picture

Status: Needs work » Needs review
FileSize
2.5 KB
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch 2040823-21-tour-menu-page.patch. Unable to apply patch. See the log in the details link for more information. View

Status: Needs review » Needs work

The last submitted patch, 21: 2040823-21-tour-menu-page.patch, failed testing.

nick_schuch’s picture

Status: Needs work » Needs review
FileSize
2.51 KB
PASSED: [[SimpleTest]]: [MySQL] 64,370 pass(es). View
1.29 KB

Here we go. Time for green!

Status: Needs review » Needs work

The last submitted patch, 23: 2040823-23-tour-menu-page.patch, failed testing.

nick_schuch’s picture

The last submitted patch, 23: 2040823-23-tour-menu-page.patch, failed testing.

nick_schuch’s picture

nick_schuch’s picture

Assigned: rli » Unassigned
Status: Needs work » Needs review
pameeela’s picture

FileSize
2.53 KB
FAILED: [[SimpleTest]]: [MySQL] 64,391 pass(es), 1 fail(s), and 0 exception(s). View
1.55 KB

New patch and interdiff. Makes content updates and adds a tip for Settings tab per #17

Status: Needs review » Needs work

The last submitted patch, 29: 2040823-menu-tour-29.patch, failed testing.

pameeela’s picture

FileSize
2.73 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 81,380 pass(es). View

Updates test coverage to exclude nth-child element which is unsupported. Should sort the fail.

pameeela’s picture

Status: Needs work » Needs review
bendev’s picture

Hello,

I would like to start contributing to D8 and I found multilingual to be a nice one to start with.

I have installed a D8 and started to configure it for FR and EN.

The translation of content type is ok. I have some problems to translate the menu items. I arrived to this post. I would like to see the "Tour for menu admin" so that I can test it and see if it is clear an apply it. The tour module is enabled. Should I install this patch to be able to start (and actually see the tour" ?

thanks

rodrigoaguilera’s picture

Status: Needs review » Needs work
Issue tags: +Novice

@bendev
Yes, you can apply this patch and follow the tour

the test need annotation to be detected as such instead of getInfo() and at least a setUp function and some actual tests.
Is as simple as the following example

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();
    $this->adminUser = $this->drupalCreateUser(array('administer content translation', 'access tour'));
    $this->drupalLogin($this->adminUser);
  }

  /**
   * Tests Content translation tour tip availability.
   */
  public function testContentTranslationTour() {
    $this->drupalGet('admin/config/regional/content-language');
    $this->assertTourTips();
  }

marking also as novice

jorgegc’s picture

I am working on the changes guys.

jorgegc’s picture

Status: Needs work » Needs review
FileSize
2.68 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 88,043 pass(es). View

Uploading patch for review.

benjy’s picture

Status: Needs review » Needs work
+++ b/core/modules/menu_ui/src/Tests/MenuTourTest.php
@@ -0,0 +1,71 @@
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->adminUser = $this->drupalCreateUser(array('administer menu', 'access tour'));
+    $this->drupalLogin($this->adminUser);
+  }
+
+  /**
+   * Tests menu tour tip availability.
+   */
+  public function testMenuOverviewTour() {
+    $this->drupalGet('admin/structure/menu');
+    $this->assertTourTips();
+  }

None of this is needed if $tips and $permissions are configured it all happens in the base class.

jorgegc’s picture

Status: Needs work » Needs review
FileSize
2.17 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 88,003 pass(es). View
3.54 KB

Made changes as per suggestions in #40 and also renamed the yaml file to replace the underscore with a hyphen.

benjy’s picture

+++ b/core/modules/menu_ui/src/Tests/MenuTourTest.php
@@ -0,0 +1,49 @@
+  /**
+   * An admin user with administrative permissions.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $adminUser;

Don't think we need this.

jorgegc’s picture

FileSize
2.03 KB
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 88,014 pass(es). View
553 bytes

Nice catch! Updated patch and interdiff.

benjy’s picture

Status: Needs review » Reviewed & tested by the community

Looks good.

webchick’s picture

Status: Reviewed & tested by the community » Postponed

So pursuant to #1921152-109: META: Start providing tour tips for other core modules., I want to make sure we have a plan/strategy in place before going too nuts on these Tours. Marking postponed as a result.

However, I will say that I think this area would definitely benefit from a Tour, especially deeper into the menu interface. "What is show as expanded?" etc. So we likely will end up just expanding this one a bit to cover more of the menu admin interface.

benjy’s picture

It's a bit of shame that @jorgegc spent most of his day on this issue if there was a known disagreement with them moving forward.

We should probably postpone all child issues to stop anymore wasted effort.

webchick’s picture

Agreed. :( I spoke to him about it in person. Very sorry, I just didn't feel comfortable committing one of these when there doesn't seem to be alignment between the docs/UX team on what we should be doing here.

I'm back at my apartment now; I'll go postpone the other issues to make sure the dependencies are clear.

mgifford’s picture

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.