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

GSoC’22 project: Guided Tours #39902

Merged
merged 420 commits into from
Mar 3, 2023
Merged

GSoC’22 project: Guided Tours #39902

merged 420 commits into from
Mar 3, 2023

Conversation

obuisard
Copy link
Contributor

@obuisard obuisard commented Feb 21, 2023

This PR gives Joomla users the ability to complete walk-throughs (or tours) to better understand the interface they are learning to use.

The Guided Tours component comes with views for the creation of tours and their associated steps.
It also offers a list of already-made tours for basic Joomla functionality.

Third party extensions developers will be able to create tours of their own for their users and website designers will be able to provide their clients with the help they need.

This Google Summer of Code project was assigned to Khushi Rauniyar @khu5h1 and other contributors helped her to the finish line.

Many thanks to Shivam, Jatin, Khushi and their mentors. Thank you to Benjamin @bembelimen for advice, code guidance and fixes, Brian @brianteeman for the thorough testing (and PRs), the teams who tested and everyone who helped in the project (a special thank you to Aaron @aze088 for jumping in).

Testing Instructions

  • To start a tour, select a tour in 'Take a tour'.

image

  • To create tours, go to System -> Manage -> Guided Tours.

image

Link to documentations

Please select:

khu5h1 and others added 30 commits February 5, 2023 17:24
* fix EOF

* fix filter forms

fix default sort
sort order dropdown like table columns
fix sort state ->published

* fix manifest

lowercase name (see. joomla#37387)
indentation (spaces vs. tabs)

* cleanup component provider

component do not use SiteRouter and Category
* Added focus on targets for better accessibility

* Modified a few targets so that buttons are accessible
Consistency Joomla!
Removed extra space
Removed extra space
Removed extra space
Removed extra space
* Tours should have public access by default

* The guided tour will not show if no user is logged in

* The user can only see the tours allowed for the access group and the tours of extensions that are allowed

* Update GuidedToursHelper.php

Removed space
* Created Empty State for Tours

* Update administrator/language/en-GB/com_guidedtours.ini

Co-authored-by: Brian Teeman <brian@teeman.net>

* Update administrator/language/en-GB/com_guidedtours.ini

Co-authored-by: Brian Teeman <brian@teeman.net>

* Update ToursModel.php

Removed empty line
Footer buttons should be spaced with space-between
Missing class on start tour button
Using grid rather than flex for button for better placement
* Reordering of the steps according to tour_id for mysql

* Reordering of the steps according to tour_id for postgresql
* PHPCS Fixes

* Changed order of position in alphabetical order

* Update default.php

You cannot break the lines the way you did because it breaks the tooltips
* Fixed 'Type' not being centered in Steps view

* Punctuation edit

* Added "Language" language key

* Added sort by language ASC / DESC

* Fixed drone errors

* Added note field to Tours

* Added note field to Steps

* Sets step language to parent tour language

* Fixed drone issues

* Added access / access filter to tours

* Misc. bug fixes for step language functionality
* CategoriesList is wrongly named

* Added buttons for options
Removed return for display

* Replaced generic icon for page
Removed return for display

* Better comments signatures

* Full list of buttons to remove in editor 'hide'

* Fix to show images properly

* Fix to show images properly
Removed useless publish function

* Removed scrap class

* Format of title column tag to fix tooltip oddity

* URL is required

* Missing JEXEC or die

* Added column selection

* Removed break word on title

* Sanitized the description (removed html and truncation)

* Review of some key translations

* Rename of keys

* Add/edit step/tour are not using language keys

* Removed toolbar instance

* Missing search label

* Removed image path replacement

* Added image path replacement to ensure images show in the tour

* Steps should show only if published

* New/Edit tabs are not properly translated

* Changed the name of the com_guidedtours asset

* Changed translation to N_ITEMS

* How to create smart search filters

* Update step.xml

use VALUE rather than OPTION

* Update step.xml
…ntroller.php

Co-authored-by: Brian Teeman <brian@teeman.net>
Co-authored-by: Brian Teeman <brian@teeman.net>
Co-authored-by: Brian Teeman <brian@teeman.net>
Co-authored-by: Brian Teeman <brian@teeman.net>
Co-authored-by: Brian Teeman <brian@teeman.net>
Co-authored-by: Brian Teeman <brian@teeman.net>
Co-authored-by: Brian Teeman <brian@teeman.net>
Removed popper (needed on previous Shepherd versions) and rtlcss
@brianteeman
Copy link
Contributor

I cant work out the exact scenario or reasoning for adding aria-live assertive 9922d1d
But you have to be very careful wth aria-live and dynamic changes or it doesn't work as expected if at all

In my tests (Windows narrator) and after much reading, it prevents the screen reader to read the page information rather than the step after a page refresh.

ok so a couple of things.

  1. If it is going to a new page then it should read the page information. Otherwise the unsighted user will not know that the page has changed
  2. aria-live is a bit quirky. The intended use is for there to be an area on the page on load that is marked as an aria-live region and then if the content in that region changes then it is announced. polite=> announce as soon as you finish announcing the current thing. assertive=> interupt and announce now. The region must be on the page on load - it can not be injected later. You can only inject a message into the region

@brianteeman
Copy link
Contributor

Smart Search Filter Tour

image

I am not that familiar with this to be honest but I think this should be something more like
Select Options
Select the options for the smart filter here

@brianteeman
Copy link
Contributor

Create a user tour
image

If a password is not entered here then a password will be generated for the user and emailed to them

(you cant go to the next step if you dont enter a password)

Not suprisingly there is nothing in the tour to determine if the password matches the requirements etc. As a result when you try to complete the tour (save and close) you cannot but you cannot see why as the error is obscured.
image

@obuisard
Copy link
Contributor Author

obuisard commented Mar 3, 2023

Smart Search Filter Tour

image

I am not that familiar with this to be honest but I think this should be something more like Select Options Select the options for the smart filter here

Agree. We will review all tours and make them more 'useful' and even create more useful ones. Focus was made on the guided tours functionality and accessibility first to have a solid basis, which we can build on.

Copy link
Contributor

@joomdonation joomdonation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Base on my code review (I'm unsure if it is 100% valid), there are still some issues with the code need to be addressed.

@brianteeman
Copy link
Contributor

i assume you realise that it doesnt support workflows

@obuisard obuisard added this to the Joomla! 4.3.0 milestone Mar 3, 2023
@sdwjoomla
Copy link
Contributor

Great job everyone. Thank you for your hard work.

@sdwjoomla sdwjoomla merged commit 9421243 into joomla:4.3-dev Mar 3, 2023
@brianteeman
Copy link
Contributor

:(

@brianteeman
Copy link
Contributor

This is a great component but it is not ready to be released and is still not accessible

@alikon
Copy link
Contributor

alikon commented Mar 5, 2023

and my question too is why ?

@alikon
Copy link
Contributor

alikon commented Mar 5, 2023

there are no successfull test & and for a big pr like this 1 it should be the minimum requirements

@tecpromotion
Copy link
Contributor

@obuisard language badge is missing. GitHub Actions are therefore not running.

@obuisard
Copy link
Contributor Author

Hi Stefan @tecpromotion, is there anything needed from me for translations? I have added the label (sorry it was missing).

@joomla-cms-bot joomla-cms-bot removed the Language Change This is for Translators label Mar 26, 2023
heelc29 added a commit to heelc29/joomla that referenced this pull request Apr 1, 2023
zero-24 added a commit to joomlagerman/joomla that referenced this pull request Apr 17, 2023
* add strings

joomla/joomla-cms#39902

* add copyright J!German

* translation

* translation

* fix

* translation

* update strings

joomla/joomla-cms#40197

* update strings

joomla/joomla-cms#40308

* remove strings

joomla/joomla-cms#40319

* update/remove strings

joomla/joomla-cms#40301

* update strings

joomla/joomla-cms#40318

* translation

* fix

* wording test

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* translation

* sounds better

* translate guided tour tour

* translate COM_GUIDEDTOURS_TOUR_USERS

* translate COM_GUIDEDTOURS_TOUR_MENUS

* translate COM_GUIDEDTOURS_TOUR_CATEGORIES

* translate COM_GUIDEDTOURS_TOUR_TAGS

* translate COM_GUIDEDTOURS_TOUR_BANNERS

* translate COM_GUIDEDTOURS_TOUR_CONTACTS

* translate COM_GUIDEDTOURS_TOUR_NEWSFEEDS

* translate COM_GUIDEDTOURS_TOUR_SMARTSEARCH

* translate COM_GUIDEDTOURS_TOUR_GUIDEDTOURSTEPS_STEP

* wording

Schaltfläche ist dort zu lang und besser in der Description (meist) aufgehoben

* fix #2781

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>

* spelling mistakes

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

* Update administrator/language/de-DE/com_guidedtours.sys.ini

* spelling

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

* Update administrator/language/de-DE/com_guidedtours.sys.ini

Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>

---------

Co-authored-by: Stefan Wendhausen <stefan.wendhausen@tec-promotion.de>
Co-authored-by: Tobias Zulauf <zero-24@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.