Simple Machines Community Forum

SMF Support => SMF 2.1.x Support => Topic started by: TomasM on July 24, 2018, 11:14:03 AM

Title: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 11:14:03 AM
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!
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 11:56:14 AM
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 ;)
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Aleksi "Lex" Kilpinen on July 24, 2018, 11:58:29 AM
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?
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 12:07:47 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: 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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: @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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Aleksi "Lex" Kilpinen on July 24, 2018, 12:35:51 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 12:37:57 PM
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 ;)
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 12:39:55 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Kindred on July 24, 2018, 01:26:12 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 01:38:33 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Arantor on July 24, 2018, 01:46:31 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 02:46:52 PM
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:)
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Kindred on July 24, 2018, 02:47:17 PM
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.

Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Bigguy on July 24, 2018, 02:57:26 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Kindred on July 24, 2018, 03:03:17 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 03:08:08 PM
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?
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Arantor on July 24, 2018, 03:09:51 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 03:10:43 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Illori on July 24, 2018, 03:14:21 PM
Quote from: TomasM on July 24, 2018, 03:10:43 PM
Brilliant! Thank you!  ;D ;D ;D

does that mean this resolved your issue?
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 03:15:15 PM
That hopefully means that we confirmed that it is a bug :)
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Illori on July 24, 2018, 03:17:49 PM
well, did you have it set like described? if so does it work as expected?
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 24, 2018, 03:21:19 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Arantor on July 24, 2018, 03:25:31 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Kindred on July 24, 2018, 03:27:19 PM
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.)
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Arantor on July 24, 2018, 03:41:01 PM
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?
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Kindred on July 24, 2018, 03:57:06 PM
I'm not sure... but I am fairly sure that this is the way it has been working for years, if not more.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 25, 2018, 11:32:14 PM
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';
}

Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on July 27, 2018, 10:23:54 PM
I asked for a paid help:

https://www.simplemachines.org/community/index.php?topic=561416.0

I hope someone will be able to fix this bug.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on August 07, 2018, 01:56:47 PM
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!
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Arantor on August 07, 2018, 03:01:18 PM
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.)
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on August 07, 2018, 03:29:03 PM
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! ;)
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Arantor on August 07, 2018, 04:00:05 PM
That's a highly dangerous line of thought around here.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Aleksi "Lex" Kilpinen on August 08, 2018, 01:05:36 AM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: vii on August 08, 2018, 02:13:17 AM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Arantor on August 08, 2018, 01:30:30 PM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: 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 (https://github.com/SimpleMachines/SMF2.1/commit/f3e363487242defb724647673a9fc5e82c78dd4b#diff-ab6e39c74833696e011dabf186b1ac66) 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!
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: vii on August 08, 2018, 11:48:10 PM
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 (https://github.com/SimpleMachines/SMF2.1/commit/f3e363487242defb724647673a9fc5e82c78dd4b#diff-ab6e39c74833696e011dabf186b1ac66) 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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on August 09, 2018, 12:21:42 AM
Thank you!

Will do, I just wanted to let you know about the new version.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: vii on August 09, 2018, 12:31:35 AM
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.
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: TomasM on August 09, 2018, 12:39:05 AM
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?
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: Aleksi "Lex" Kilpinen on August 09, 2018, 12:42:48 AM
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....
Title: Re: Dealbreaker: More topics may be posted, but you won't receive more email notif..
Post by: ChristineBehm on August 09, 2018, 11:54:46 AM
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!