Dealbreaker: More topics may be posted, but you won't receive more email notif..

Started by TomasM, July 24, 2018, 11:14:03 AM

Previous topic - Next topic

TomasM

Hi guys,

currently I'm migrating one community to SMF. In previous forum there was ability to subscribe to all new topics, so there is already a speed bump for the users, as they have to subscribe to all boards individually. It looks that they did, but...

I realized that there is even bigger road bump and I think if we can resolve this one, that would benefit all SMF forums, as it would much improve the activity of users. I'm talking about "More topics may be posted, but you won't receive more email notifications until you return to the board and read some of them."

So users are used to get notifications and visit forum only when they see something interesting for them, that sounds very logical. But for some reason forum software decides, to not give you more updates, unless you show up. For busy people this is not good.

Is it possible to introduce an option to set this, or perhaps solve it other ways?

Thank you!

TomasM

I was analyzing my work flow and realized that there is even bigger problem with this approach. Let's say I get new topic notification titled "Soccer practice this Tuesday", if I'm not involved with soccer team, I will just delete that email without even opening it. So I will never see that dreaded warning "More topics may be posted, but you won't receive more email notifications".

That means several unimportant notifications prevent members from getting following notifications they really care about. This behavior should be set not by forum, but admin or even better by users.

Overall I would also suggest making it in bold for anyone to take notice.

In essence everything is about time management: I spent 5 sec. in my mailbox to decide if this piece of information has value for me, done, I don't want to go to forum to spend another 5 mins to look for something of value for me.

I hope I made the case ;)

Aleksi "Lex" Kilpinen

There are options for notifications in everyone's profile, that can be used to control how they are being notified. Have you looked at those options?
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

TomasM

Yes, but this is affected across the board, because forum makes this restriction.

This is excerpt of the Notification email:

QuoteA new topic, 'Football Camp', has been made on a board you are watching.

You can see it at

http://address.org/forum/index.php?topic=43.new#new

More topics may be posted, but you won't receive more email notifications until you return to the board and read some of them.

The text of the topic is shown below: ...

There is no option to set this behavior.

TomasM

These are my settings.

But the subscriptions are set on board view and I set to get notifications and emails. And that email part is governed by the forum.

@rjen

It seems you are looking for newsletters instead of notification .

My users would go nuts if they received a notification for each post added to a board.
Running SMF 2.1 with latest TinyPortal at www.fjr-club.nl

Aleksi "Lex" Kilpinen

Quote from: TomasM on July 24, 2018, 12:10:50 PM
These are my settings.

But the subscriptions are set on board view and I set to get notifications and emails. And that email part is governed by the forum.
Ok, that seems to have changed a bit from the times of 2.0.
But would seem like it is intentional if that text is included in the notification.
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

TomasM

Quote from: @rjen on July 24, 2018, 12:33:18 PM
It seems you are looking for newsletters instead of notification .

My users would go nuts if they received a notification for each post added to a board.

But your users <> my users. My users have perhaps 5 min. per day for these things and they make decisions in the mailbox. Forum should accommodate all types of users ;)

TomasM

Quote from: Aleksi "Lex" Kilpinen on July 24, 2018, 12:35:51 PM
Ok, that seems to have changed a bit from the times of 2.0.
But would seem like it is intentional if that text is included in the notification.

I'm not sure what was the rationale, but it was clearly not accounting for all circumstances. I hope now we can fix it and make forum better.

I guess it is good to have that option to withhold new topic notifications, but that clearly should be changeable, as it is not good for other communities.

Kindred

In this case, it is completely intentional.

a user asks  for notifications for a board or a topic.
there are new posts in that board or topic.
They get a notification that there have been new post(s) made in the board or topic
They will not receive any further notifications in that board or topic until they have logged into the forum at least once.

This is correct.
AFAIK, this is how SMF has always handled it.


Think about it -- if I run a forum with 20,000 users, 20 boards and 1/2 million topics (and yes, I do)
if a message got sent out EVERY TIME there was a new post, your mail server would crumple into tinfoil.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

TomasM

Quote from: Kindred on July 24, 2018, 01:26:12 PM
Think about it -- if I run a forum with 20,000 users, 20 boards and 1/2 million topics (and yes, I do)
if a message got sent out EVERY TIME there was a new post, your mail server would crumple into tinfoil.

My problem is not about notifying for every new post, but about every new Topic. Your user may subscribe only to few boards and he should be able to get notification for every new TOPIC because not every topic is important to every user, so users may disregard few notifications about not important topics and after that there would be dead silence from the forum, as nothing is going on, and there may be other important new topics for the user, some of them perhaps even time sensitive, but user will never know about them.

For this reason, it is good to make this forum behavior as setting to allow admin, or even users set it otherwise, so every new topic on the board (not every post) would be announced if admin or perhaps even user selected so.

And if you have super large forum, as admin you could disable this behavior, but other forums with different users could have this available. That would make SMF better and more flexible, not catering for a specific cohort of use cases.

Arantor

Fairly sure this is a bug. You have configured it correctly but I think the notification email misleads you.

Does it actually only notify on new topics? (Try using two accounts for testing purposes)

Note that using 2.1 on a production site is not recommended if you can't debug issues that arise as it is BETA software.

TomasM

It looks to me that currently SMF 2.1 works as it was intended (although it was not the best decision as we see now). This we see from the warning included with the message itself:

"More topics may be posted, but you won't receive more email notifications until you return to the board and read some of them."

New Topic notification notifies you only about 1 or 2 new topics, after that even if there are more new topics, I would not get notifications.

I know about the Beta dangers, but it let's me use some new features I need and in return I'm participating in the development with bug reports  O:)

Kindred

hmmm.....    I could be wrong, but I believe that it only notifies you of the FIRST new topic in a watched board - and then resets the notification when you visit, so the next one will notify you...    any additional topics between the notification and the visit will not send a notification


Yes. Confirmed on my 2.0 test site.

New user added
set up notification for the "Another Board"
logged out
log in as test user
make posts in "Another Board"
test 1
test 2
test 3

email only delivers a notification of the "test 1" post


this is the expected behavior as I have always understood it.

I understand what the OP is asking for and why... but I can still see that absolutely killing the email queue of a large site.
I'm not even saying that he is wrong... I would argue that his use case is actually the edge case in this instance, however.
(same as not allowing someone to "watch/subscribe" to EVERYTHING with a single click.)

(and, Tomas, there is no function for the admin to disable the users' ability to add notifications/watched topics/boards.

Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Bigguy

Well, this makes a lot of sense.(I'm being serious actually) I thought the system was broken but it's not. I understand why it is like this as well. I never knew that. Thanks Kindred.

Kindred

Confirmed.... the same thing happens on 2.1

Settings:
How frequently to tell me: Straight away
When a board I follow gets a topic, I normally want to know via...  email



Still only notified me of the FIRST new topic - and won't notify me of any more until I visit the forum.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

TomasM

Interesting, are there stats about the SMF installations, eg. what is the breakdown between large/medium/small communities. Because then it may not be an edge case after all.

I don't know if it would be difficult to add this option, but perhaps there could be an easy code hack to remove that 1 notification limit that could be applied to specific SMF file?

Or perhaps there could be an option about how many Notifications to send until stop, with the option 0 to let it work without restrictions?

Arantor

Then it's a bug because in the 'how frequently to tell me' dropdown there are two options.

The first relevant option says 'Straight away', the second says 'Straight away (but only for the first unread message)'.

Since you're describing the behaviour of the latter but the screenshot clearly shows the former, something is broken.

TomasM

Brilliant! Thank you!  ;D ;D ;D

Edit: Although this setting ('Straight away (but only for the first unread message)'.) may be related to a post reply notifications, not the board - new topics.

Illori


TomasM


Illori

well, did you have it set like described? if so does it work as expected?

TomasM

Yes, I included the screenshot of my settings in the first few posts. It worked as I would not expect, but it looks that it is a long standing bug.

Arantor

I don't think it's a long standing bug per se - because it certainly worked correctly in 2.0.

I think it's the result of the notifications UI being overhauled and not thoroughly tested.

Kindred

well, it definitely COULD be hacked/modded...  I don't know how easy the mod would be though.
IIRC the notification code is complicated.

Code (In Post.php) Select

// Notify members of a new post.
function notifyMembersBoard


but I'm not certain form just a quick look, which variable or code to change....



Incidentally, looking though, I just realized that the admin CAN turn off the ability to set a notification/watch....
   Request notification on replies          
   Request notification on new topics
settable by group permissions.





I'm still not sure it's a bug so much as a misunderstanding -- if it's a bug, it has existed since 1.1.x, since this is the way it's worked for as long as I've used the software.  (and you say it worked correctly in 2.0, arantor - but this is the way it always worked in 2.0, to the best of my memory.)
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Arantor

If that was the case, what is the difference between "Instantly" and "Instantly (but only for the first unread reply)" as observable on this site?

Kindred

I'm not sure... but I am fairly sure that this is the way it has been working for years, if not more.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

TomasM

I opened the ticket at:

https://github.com/SimpleMachines/SMF2.1/issues/4869

I looked at CreatePost-Notify.php and it looks that code only foresees this one action: notify once. Could anyone suggest how to change the code, so all new topics would be notified?

// A new topic in a watched board then?
elseif ($type == 'topic')
{
$pref = !empty($prefs[$member]['board_notify_' . $topicOptions['board']]) ? $prefs[$member]['board_notify_' . $topicOptions['board']] : (!empty($prefs[$member]['board_notify']) ? $prefs[$member]['board_notify'] : 0);

$content_type = 'board';

$message_type = !empty($frequency) ? 'notify_boards_once' : 'notify_boards';
if (!empty($prefs[$member]['msg_receive_body']))
$message_type .= '_body';
}



TomasM

Hi, guys,

really need your help  :-\

Nobody responded yet to my post here or on the github, to take this job even for the fee. I also privately contacted several SMF devs, but they don't want to take the job too. I have the feeling that it is much deeper burred in the core, so only experienced SMF devs can actually work on it.

Can anyone recommend SMF developers, so I could try to reach them out, hoping they would have reasonable price tag and that they would be able to make this fix/improvement, so whole SMF community would benefit if it would be implemented with admin/user option.

Thank you!

Arantor

No one is interested? Mind you, getting anyone to even acknowledge this as a bug is hard even though it clearly is.

I'd do it but given that recently I've had people telling me things are hard, then going mysteriously quiet when I offered a solution, so I decided not to bother actually submitting any more code to 2.1, and I certainly wouldn't take your money without being 100% confident of it becoming core. (Honestly I probably wouldn't take your money period, but that's another story.)

TomasM

I would love to see this as part of the core!

I'm between two hard places now. I migrated whole community to SMF, but because members don't get regular notifications, they are going back to old forum, so I'm in desperate need to be able finish the transition.

There is nothing wrong to be compensated for your job! ;)

Arantor


Aleksi "Lex" Kilpinen

I would call it a bug, and so it's good it's already on github. Should definitely be fixed, since the UI gives an appearance of having choices, yet they do not work like one would expect them to.
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

vii

TomasM, I took a look at CreatePost-Notify.php and I believe I identified the exact problem:

In my copy of CreatePost-Notify.php, around or at Line 119 is the following conditional statement:


            if ($frequency > 2 || (!empty($frequency) && $data['sent']) || in_array($member, $done_members)
                || (!empty($this->_details['members_only']) && !in_array($member, $this->_details['members_only'])))
                continue;


(!empty($frequency) && $data['sent'])

^ In italics is the relevant part. 'sent' (*_log_notify in database) is changed from 0 to 1 when the user has an outstanding notification for a board/topic, and it's flipped back to 0 when they read that board/topic. The problem here is that the code assumes that ANY notification frequency under <= 2 should have the 'sent' value checked, when the only option that (I think) should have that checked is 2 - aka, "Straight away (but only for the first unread message)". The correct fix here is to make sure it checks the value of $frequency:


            if ($frequency > 2 || ($frequency == 2 && $data['sent']) || in_array($member, $done_members)
                || (!empty($this->_details['members_only']) && !in_array($member, $this->_details['members_only'])))
                continue;


I tested the above code and it fixed the problem (I reproduced the issue as I understood it). Email/alerts were issued after each new topic on watched board when user had the "Straight Away" option selected. Functionality performed as expected when the other one (unread replies only) was selected.

-

It's pretty late, and it took me a bit to familiarize myself with that file's code, so this is kind of rushed. Backup the file before you make the change, but it should be OK afaik. I'll leave it to you to figure out if there are any unforeseen issues or other complications.

Arantor

Have to say at a glance, that looks legit. Needs more testing and I didn't expect it to be a huge piece of work, I'm just super bitter about contributing to SMF 2.1 these days.

TomasM

Hi, Virginiaz, thank you very much for the valuable input!

About a month ago there was a commit that changed the string in question from:

if ($frequency > 2 || (!empty($frequency) && $data['sent']) || in_array($member, $done_members)

to

if (empty($frequency) || $frequency > 2 || $data['sent'] || in_array($member, $done_members)

Could you please recommend how to implement your fix for the new version of this line?

Thank YOU very much!

vii

Quote from: TomasM on August 08, 2018, 10:18:38 PM
Hi, Virginiaz, thank you very much for the valuable input!

About a month ago there was a commit that changed the string in question from:

if ($frequency > 2 || (!empty($frequency) && $data['sent']) || in_array($member, $done_members)

to

if (empty($frequency) || $frequency > 2 || $data['sent'] || in_array($member, $done_members)

Could you please recommend how to implement your fix for the new version of this line?

Thank YOU very much!
If that commit goes into the final project, it means every notification frequency will be subject to the unread replies behavior. In other words, you'll never get more than one notification if you don't go back and read after each one (not sure how the 'digests' options are handled tho). It will perpetuate this same issue and maybe cause others.


-


Just do what I said in my post. Replace the code I mentioned in the first code box with the code in the second box. I explained it thoroughly.

TomasM

Thank you!

Will do, I just wanted to let you know about the new version.

vii

oops, I had misread your post, I interpreted it as how to implement the changes in general, not for the new one.

Ok, I just looked up the commit you referred to, and it appears they were fixing another issue about it apparently not respecting a user's choice to not receive notifications, which they did, but it didn't fix your issue and if anything might have created another one (not entirely sure right now). Here are the new revisions:


            if (empty($frequency) || $frequency > 2 || ($frequency == 2 && $data['sent']) || in_array($member, $done_members)
|| (!empty($this->_details['members_only']) && !in_array($member, $this->_details['members_only'])))
                continue;


That ^ respects the changes made in the aforementioned commit without causing any other issues. Although I want to note that I'm not endorsing that person's changes. I don't know if what they did is correct or makes the notifications behave as expected. I'm just giving you an alternative version of my fix that works with it.

Also apologies if I came off rude before.

TomasM

No, you were not rude, don't worry :)

I tested your original fix and it works, so for now I will not mess with the new stuff, I will try to push them a bit, so they would take a look at this issue.

Perhaps you would like to propose a commit at Github?

Aleksi "Lex" Kilpinen

I am a bit confused about that commit actually, as that should never be empty I think. It should be a predefined member option.
Just thinkin "out loud" , I may be wrong too....
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

ChristineBehm

I'm not a computer person, but I want to say THANK YOU to Virginia Z for working to fix our forum!!

Tomas very generously volunteered to put together a new forum for our group of about 100 homeschool families. After all the hours of work he gave, on top of members time in learning to navigate it, and all the hopes we had for using it, it would have be a big loss for us to accept letting it go. We can't use it, though, if we're not getting other members' posts.

Thank you, again, for your time and work to fix our forum glitch. Our families will be grateful for years to come, as we are better able to communicate, working together in our homeschool endeavors!

Advertisement: