Closed Bug 498001 Opened 16 years ago Closed 15 years ago

Improve UI and feedback for watching categories to say you'll be e-mailed and offer easy way to turn off

Categories

(support.mozilla.org :: Knowledge Base Software, task)

x86
Linux
task
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: cww, Assigned: paulc)

References

()

Details

(Whiteboard: tiki_test)

Attachments

(2 files)

I'm not sure why this is but users are getting signed up for en wiki notifications when it looks like all they've ever done is post in the forum.  The UI for this is pretty buried so I'm not sure how they've automatically been set up for getting all this spam.  This is doubly worse when those notification tables get transferred over to staging (accidentally) and they get spam from staging they can't even access.  This is particularly bad when we do testing (like the screenshot testing) because suddenly 600 people get tons of new article spam.

oremj has already truncated tiki_user_watches on stage but I still don't know how people end up on these notification lists in the first place.

The fix may be something like confirm e-mail addresses when signing up for something more than forum replies or even when registering accounts.  (Since we're asking users not to register anyhow).  Or maybe it's a bug that's causing some users to get put on a list when they shouldn't.  It needs investigating though.
Ok, the most likely place is: https://support.mozilla.com/tiki-browse_categories.php?locale=en-US&parentId=1&deep=off&type= where there's a watch this category button but clicking it accidentally has NO VISUAL RESPONSE or confirmation any way to get off the most annoying mailing list ever.  There's not even an indication of what clicking that does (e-mails you for every KB edit).

I'll morph this bug into removing that UI or updating it with some description and feedback and put a new bug in for getting e-mail confirmations.
Summary: Some users are getting signed up for notifications for all en wiki changes → Improve UI and feedback for watching categories to say you'll be e-mailed and offer easy way to turn off
I can take this, though I'll probably get to it in over 2 weeks.
Assignee: nobody → paul.craciunoiu
Summary: Improve UI and feedback for watching categories to say you'll be e-mailed and offer easy way to turn off → [ForumUX] Improve UI and feedback for watching categories to say you'll be e-mailed and offer easy way to turn off
Target Milestone: --- → 1.4
(In reply to comment #1)
So what do you want to do? Currently, you have this:
------------
Set email notifications for this category: ( ) Currently off 
versus
Set email notifications for this category: (x) Currently on 
Note: ( ) and (x) represent the 2 states of the icon.
------------
What we can do:
* Change the text to be more explicit:
** Change "this category" to the category you will be watching.
* Notify on enable what it does and that you can come back here to disable it.
* Potentially include a bottom link in each email to unsubscribe from the corresponding list

Cheng, David: we need some of your mighty brainstorming power on this :)
Summary: [ForumUX] Improve UI and feedback for watching categories to say you'll be e-mailed and offer easy way to turn off → Improve UI and feedback for watching categories to say you'll be e-mailed and offer easy way to turn off
Target Milestone: 1.4 → 1.3
Right now we don't have two states of the icons, but that seems to be a bug
between prod and stage.

I propose instead of the current text:
Send me an e-mail whenever an edit is made to a $categoryName article

If you click that:
BIG NOTICE ON TOP:
[You've successfully been signed up to receive e-mail notifications of all
edits to the $categoryName category.]
THen below: Stop sending me e-mail whenever an edit is made to a $categoryName
article.
Attached patch patch, v1 β€” β€” Splinter Review
This is designed according to Cheng's specs and with him next to me :)

One change: the text has been adapted to be more localizable, by placing $categoryName at the end and in its own {tr}, and also made the category name localizable.

I wanted to make this easy to change, so the code must be put in a dynamic content label. To test this, place the following in a content called "browse_category_notify", by going to tiki-list_contents.php
--------------------------
{if $user and $feature_user_watches eq 'y' and $parentId}
	{if $user_watching_category eq 'n'}
		<a href="tiki-browse_categories.php?parentId={$parentId|escape:"ur<x>l"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape:"ur<x>l"}&amp;deep={$deep}&amp;watch_action=add">{tr}Send me an e-mail whenever an edit is made to an article in:{/tr} <b>{tr}{$p_info.name}{/tr}</b></a>
	{else}
		<div class="top-notify">
		{if $smarty.request.watch_action eq "add"}<h2>{tr}You've successfully been signed up to receive e-mail notifications of all edits to articles in category:{/tr} {tr}{$p_info.name}{/tr}</h2>{/if}
		<a href="tiki-browse_categories.php?parentId={$parentId|escape:"ur<x>l"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape:"ur<x>l"}&amp;deep={$deep}&amp;watch_action=remove">{tr}Stop sending me e-mail whenever an edit is made to an article in:{/tr}  {tr}{$p_info.name}{/tr}</a>
		</div>
	{/if}
{/if}
--------------------------
Attachment #387784 - Flags: review?(smirkingsisyphus)
Attachment #387784 - Flags: review?(laura)
(In reply to comment #5)
> href="tiki-browse_categories.php?parentId={$parentId|escape:"ur<x>l"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape:"ur<x>l"}&amp;deep={$deep}&amp;watch_action=remove">{tr}Stop

Looks like you have a problem with the sanitization ^^
(In reply to comment #6)
> (In reply to comment #5)
> > href="tiki-browse_categories.php?parentId={$parentId|escape:"ur<x>l"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape:"ur<x>l"}&amp;deep={$deep}&amp;watch_action=remove">{tr}Stop
> 
> Looks like you have a problem with the sanitization ^^
Are you referring to the escape ur<x>l?
Since we're escaping a single parameter, plain escape would do fine.
------------------
{if $user and $feature_user_watches eq 'y' and $parentId}
    {if $user_watching_category eq 'n'}
        <a
href="tiki-browse_categories.php?parentId={$parentId|escape"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape"}&amp;deep={$deep}&amp;watch_action=add">{tr}Send
me an e-mail whenever an edit is made to an article in:{/tr}
<b>{tr}{$p_info.name}{/tr}</b></a>
    {else}
        <div class="top-notify">
        {if $smarty.request.watch_action eq "add"}<h2>{tr}You've successfully
been signed up to receive e-mail notifications of all edits to articles in
category:{/tr} {tr}{$p_info.name}{/tr}</h2>{/if}
        <a
href="tiki-browse_categories.php?parentId={$parentId|escape"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape"}&amp;deep={$deep}&amp;watch_action=remove">{tr}Stop
sending me e-mail whenever an edit is made to an article in:{/tr} 
{tr}{$p_info.name}{/tr}</a>
        </div>
    {/if}
{/if}
-------------------
Ugh. I left in a quote after escape...
------------------
{if $user and $feature_user_watches eq 'y' and $parentId}
    {if $user_watching_category eq 'n'}
        <a
href="tiki-browse_categories.php?parentId={$parentId|escape}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape}&amp;deep={$deep}&amp;watch_action=add">{tr}Send
me an e-mail whenever an edit is made to an article in:{/tr}
<b>{tr}{$p_info.name}{/tr}</b></a>
    {else}
        <div class="top-notify">
        {if $smarty.request.watch_action eq "add"}<h2>{tr}You've successfully
been signed up to receive e-mail notifications of all edits to articles in
category:{/tr} {tr}{$p_info.name}{/tr}</h2>{/if}
        <a
href="tiki-browse_categories.php?parentId={$parentId|escape}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape}&amp;deep={$deep}&amp;watch_action=remove">{tr}Stop
sending me e-mail whenever an edit is made to an article in:{/tr} 
{tr}{$p_info.name}{/tr}</a>
        </div>
    {/if}
{/if}
-------------------
Attachment #387784 - Flags: review?(laura) → review+
This is the text to-be placed in the dynamic content at tiki-list_contents.php
Attachment #387784 - Flags: review?(smirkingsisyphus)
r48733 / r48735
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Scratch the first. r48734 for trunk
Created content label on stage. For prod: need to create a content label with the name browse_category_notify and content:
---------------
{if $user and $feature_user_watches eq 'y' and $parentId}
	{if $user_watching_category eq 'n'}
		<a href="tiki-browse_categories.php?parentId={$parentId|escape:"ur<x>l"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape:"ur<x>l"}&amp;deep={$deep}&amp;watch_action=add">{tr}Send me an e-mail whenever an edit is made to an article in:{/tr} <b>{tr}{$p_info.name}{/tr}</b></a>
	{else}
		<div class="top-notify">
		{if $smarty.request.watch_action eq "add"}<h2>{tr}You've successfully been signed up to receive e-mail notifications of all edits to articles in category:{/tr} {tr}{$p_info.name}{/tr}</h2>{/if}
		<a href="tiki-browse_categories.php?parentId={$parentId|escape:"ur<x>l"}&amp;watch_event=category_changed&amp;watch_object={$parentId|escape:"ur<x>l"}&amp;deep={$deep}&amp;watch_action=remove">{tr}Stop sending me e-mail whenever an edit is made to an article in:{/tr}  {tr}{$p_info.name}{/tr}</a>
		</div>
	{/if}
{/if}
---------------
Paul, can we get a <br> above the link to begin watching, and another <br> above the resulting notification context-box?
Of course. I'll assume I don't need to ask for review for that little :)
Gonna do that in the morn Stephen. thanks!
r48953 / r48954
Done. I'd wait a few minutes before verifying :)
Whiteboard: tiki_triage
We need this in Tiki!

Related wish:
http://dev.tikiwiki.org/wish2703
Whiteboard: tiki_triage → tiki_feature
I'm not certain I understand this one. Is this only a template issue?

If this is the case, was a modification of the .php file really required? It only provides a different piece of template to be evaluated.

I verified in trunk and we currently have two watch icons. One for the current category and one for categories plus descendants. It may not be extremely obvious to newcomers, those icons are fairly standard in tiki.

I know there are also discussions at the moment to replace the icon.
Whiteboard: tiki_feature → tiki_feature, tiki_discuss
Paul: could you shed some light for LPH on what was changed here and why? Thanks!
This bug was about making it clear what users are subscribing to when they click "watch this category"
It is indeed mostly template-related, though, so I suppose it's sumo_only. The part related to Tiki would be about making sure the default text explains the functionality more clearly and making sure it's clear how to turn off.
Whiteboard: tiki_feature, tiki_discuss → tiki_triage
Let's re-opened the discussion on this, on the basis of
http://tiki-trunk.mozilla.com/
Whiteboard: tiki_triage → tiki_discuss tiki_test
(In reply to comment #22)
> Let's re-opened the discussion on this, on the basis of
> http://tiki-trunk.mozilla.com/

Ok, does this need to be tested? Are there changes that may need to be upstreamed?
Marc thinks this has been implemented in parallel and will check.
Whiteboard: tiki_discuss tiki_test → tiki_test
Please see if current implementation is OK:
http://tiki-trunk.mozilla.com/tiki-browse_categories.php

If not, let's improve :-)
Hmm. Hard to tell, I don't see a theme loaded on that page, I wonder why.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: