-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[DEV-17228] Add markup and content for premium plugins promos #21402
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
Conversation
a095432
to
a007cc5
Compare
Also there might be some potential to abstract some parts of the widget configure and render methods into a base promo widget class of sorts. I looked into that and the complicating factor is that the configure method is static and render is instance, so if we e.g. wanted to provide new methods for the promoted plugin name or its display name etc, it would again be a mix of static and instance methods that can't be called from a parent class. Perhaps I didn't see the right way through it but it felt it was becoming too convoluted for little benefit. |
9f9e01a
to
6149202
Compare
… as needed This is needed as config override from UI tests has lower priority than ui-test.php file overrides.
It seems the DI config isn't passed to the class properly during the UI tests so using its static method using config provided by the DI works better.
…plugins-promos-5x
… by default and only enabled when required
Tidying up the config within the test where it's set didn't work.
aad8c6f
to
9aab746
Compare
3fd873e
to
4847dca
Compare
ac6bb13
to
bb7592e
Compare
@matomo-org/core-reviewers this is finally good for another review. |
* Add initial template for plugin promos * Move image to Card so grid can be used at card level * Add plugin promo screenshots * Adjust content * Use widget template instead of controller view * Populate plugin promo content * Remove enable/disable variable override * Remove legal info markup as not yet designed * Unify image alt text and remove help url property * Prepare promo widgets for refactoring for reusability * Integrate CTA links * Rename A/B Testing image to match plugin name * Use marketplace plugin info where possible * Update Start free trial CTA to open marketplace in new tab * Move promo features text to lang file * Add UI tests * Update UI test screenshots from CI * Simplify UI test selector * Update UI tests * Use full plugin names in category ids * Disable Professional Services ads for UI tests apart from the plugin itself * Fix typo in test method name * Add new widget categories to widgets test * Add integration test without professional services widgets/categories * Update expected list of report pages returned by the API in a system test * Added missing externalLink method reference to the vue global properties * built vue files * Use test.vars. approach to disable professional services for UI tests as needed This is needed as config override from UI tests has lower priority than ui-test.php file overrides. * Remove test dependency on Advertising class It seems the DI config isn't passed to the class properly during the UI tests so using its static method using config provided by the DI works better. * Reverse logic so that Professional Services are disabled for UI tests by default and only enabled when required * Ensure page is reloaded after config change * Update screenshot from CI run * Reset UI tests config before each test Tidying up the config within the test where it's set didn't work. * Move mouse out of viewport to prevent any unwanted hover effects * Update tests from CI * Update language to use visitor instead of user * Update UI test screenshots after content change --------- Co-authored-by: Ben <ben.burgess@innocraft.com>
* Add initial template for plugin promos * Move image to Card so grid can be used at card level * Add plugin promo screenshots * Adjust content * Use widget template instead of controller view * Populate plugin promo content * Remove enable/disable variable override * Remove legal info markup as not yet designed * Unify image alt text and remove help url property * Prepare promo widgets for refactoring for reusability * Integrate CTA links * Rename A/B Testing image to match plugin name * Use marketplace plugin info where possible * Update Start free trial CTA to open marketplace in new tab * Move promo features text to lang file * Add UI tests * Update UI test screenshots from CI * Simplify UI test selector * Update UI tests * Use full plugin names in category ids * Disable Professional Services ads for UI tests apart from the plugin itself * Fix typo in test method name * Add new widget categories to widgets test * Add integration test without professional services widgets/categories * Update expected list of report pages returned by the API in a system test * Added missing externalLink method reference to the vue global properties * built vue files * Use test.vars. approach to disable professional services for UI tests as needed This is needed as config override from UI tests has lower priority than ui-test.php file overrides. * Remove test dependency on Advertising class It seems the DI config isn't passed to the class properly during the UI tests so using its static method using config provided by the DI works better. * Reverse logic so that Professional Services are disabled for UI tests by default and only enabled when required * Ensure page is reloaded after config change * Update screenshot from CI run * Reset UI tests config before each test Tidying up the config within the test where it's set didn't work. * Move mouse out of viewport to prevent any unwanted hover effects * Update tests from CI * Update language to use visitor instead of user * Update UI test screenshots after content change --------- Co-authored-by: Ben <ben.burgess@innocraft.com>
* Add initial template for plugin promos * Move image to Card so grid can be used at card level * Add plugin promo screenshots * Adjust content * Use widget template instead of controller view * Populate plugin promo content * Remove enable/disable variable override * Remove legal info markup as not yet designed * Unify image alt text and remove help url property * Prepare promo widgets for refactoring for reusability * Integrate CTA links * Rename A/B Testing image to match plugin name * Use marketplace plugin info where possible * Update Start free trial CTA to open marketplace in new tab * Move promo features text to lang file * Add UI tests * Update UI test screenshots from CI * Simplify UI test selector * Update UI tests * Use full plugin names in category ids * Disable Professional Services ads for UI tests apart from the plugin itself * Fix typo in test method name * Add new widget categories to widgets test * Add integration test without professional services widgets/categories * Update expected list of report pages returned by the API in a system test * Added missing externalLink method reference to the vue global properties * built vue files * Use test.vars. approach to disable professional services for UI tests as needed This is needed as config override from UI tests has lower priority than ui-test.php file overrides. * Remove test dependency on Advertising class It seems the DI config isn't passed to the class properly during the UI tests so using its static method using config provided by the DI works better. * Reverse logic so that Professional Services are disabled for UI tests by default and only enabled when required * Ensure page is reloaded after config change * Update screenshot from CI run * Reset UI tests config before each test Tidying up the config within the test where it's set didn't work. * Move mouse out of viewport to prevent any unwanted hover effects * Update tests from CI * Update language to use visitor instead of user * Update UI test screenshots after content change --------- Co-authored-by: Ben <ben.burgess@innocraft.com>
Description:
Follow up PR for #21401
Review